1 Red Hat Enterprise Linux

概要

Red Hat Enterprise LinuxおよびOracle Linux用の公式Zabbix 6.0 LTSパッケージは、Zabbix Webサイトで入手できます。

Red Hat Enterprise Linuxシステム用のZabbixパッケージは、RHELシステムのみを対象としています。 Red Hat Universal Base Image などの代替環境には、正常にインストールするために必要な依存関係やリポジトリアクセス要件が不足している可能性があります。 このような問題に対処するには、パッケージからZabbixのインストールを続行する前に、ターゲット環境との互換性を検証し、必要なリポジトリと依存関係へのアクセスを確認します。 詳細については、既知の問題を参照してください。

パッケージは、MySQL/PostgreSQLデータベースとApache/Nginx Webサーバーをサポートしています。

Zabbix エージェントパッケージとユーティリティであるZabbix getおよびZabbix senderは、Zabbix公式リポジトリで入手できます。 RHEL 9RHEL 8RHEL 7RHEL 6RHEL 5

Zabbix公式リポジトリでは、fpingiksemellibssh2パッケージも提供しています。 これらのパッケージは、non-supportedというディレクトリにあります。

EL9用のEPELリポジトリは、Zabbixパッケージも提供しています。 公式ZabbixリポジトリとEPELリポジトリの両方がインストールされている場合は、/etc/yum.repos.d/の下のEPELリポジトリ設定ファイルに次の句を追加して、EPEL内のZabbixパッケージを除外しなければなりません

[epel]
       ...
       excludepkgs=zabbix*

詳細: EPEL Zabbixパッケージの誤ったインストール

インストール時の注意点

インストール方法については、ダウンロードページのプラットフォームごとの情報を参照してください。

  • リポジトリ情報のインストール
  • サーバー/エージェント/Webインターフェースのインストール
  • 初期データベースの作成、初期データのインポート
  • Zabbixサーバー用のデータベースの設定
  • Zabbix Webインターフェース用のPHPの設定
  • サーバー/エージェントのプロセスの起動
  • Zabbix Webインターフェースの設定

Zabbixエージェントをrootユーザーで実行したい場合は、rootユーザーでのエージェントの実行を参照してください。

定期レポートの生成に使用されるZabbix Webサービスプロセスには、Google Chromeブラウザが必要です。Google Chromeブラウザはパッケージに含まれていないので、手動でインストールする必要があります。

Timescale DBでのデータのインポート

TimescaleDBでは、PostgreSQLでのインポートコマンドに加えて次のコマンドも実行します。

cat /usr/share/zabbix-sql-scripts/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix

TimescaleDBはZabbixサーバーでのみサポートされています。

PHP 7.2

ZabbixのWebインターフェースには、PHPのバージョン7.2以降が必要です。

SELinuxの設定

Zabbixはソケットベースのプロセス間通信を使用します。SELinuxが有効なシステムでは、ZabbixがSocketDirディレクトリにUNIXドメインソケットを作成/使用するためのSELinuxのルールの追加が必要となる場合があります。現在、ソケットファイルは、サーバー(alerter、preprocessing、IPMI)とプロキシ(IPMI)で使用されています。ソケットファイルは永続的であり、プロセスの実行中には常に存在します。

SELinuxをenforcingモードで有効にした場合、次のコマンドを実行してZabbixのWebインターフェースとサーバー間の通信を有効にする必要があります。

RHEL 7以降:

setsebool -P httpd_can_connect_zabbix on

ネットワーク経由でデータベースにアクセスする場合 (PostgreSQLの場合は'localhost'にアクセスする場合も含む) は、ZabbixのWebインターフェースもデータベースにアクセスできるようにする必要があります。

setsebool -P httpd_can_network_connect_db on

RHEL 7より前:

setsebool -P httpd_can_network_connect on
       setsebool -P zabbix_can_network on]

WebインターフェースとSELinuxの設定変更後には、Apache Webサーバーを再起動してください。

systemctl restart httpd

さらにZabbixでは、RHEL 8およびRHEL 7用のソースRPMパッケージの一部としてzabbix-selinux-policyパッケージを提供しています。このパッケージは、SELinuxの基本的なデフォルトポリシーを提供し、Zabbixの各コンポーネントがソケットを作成して使用できるようにし、httpdからPostgreSQLにアクセス(Webインターフェースで使用)できるようにするものです。

ソースzabbix_policy.teファイルには次のルールが含まれています。

module zabbix_policy 1.2;
       
       require {
         type zabbix_t;
         type zabbix_port_t;
         type zabbix_var_run_t;
         type postgresql_port_t;
         type httpd_t;
         class tcp_socket name_connect;
         class sock_file { create unlink };
         class unix_stream_socket connectto;
       }
       
       #============= zabbix_t ==============
       allow zabbix_t self:unix_stream_socket connectto;
       allow zabbix_t zabbix_port_t:tcp_socket name_connect;
       allow zabbix_t zabbix_var_run_t:sock_file create;
       allow zabbix_t zabbix_var_run_t:sock_file unlink;
       allow httpd_t zabbix_port_t:tcp_socket name_connect;
       
       #============= httpd_t ==============
       allow httpd_t postgresql_port_t:tcp_socket name_connect;

このパッケージは、構成の複雑さを理由にユーザーがSELinuxをオフにしてしまうことがないようにするために作成されました。 これには、Zabbixの導入と設定を高速化するのに十分なデフォルトのポリシーが含まれています。 セキュリティレベルを最大限に高めるには、SELinuxの設定をカスタマイズすることをお勧めします。

プロキシのインストール

必要なリポジトリ情報が追加されていれば、以下を実行することでZabbixプロキシをインストールすることができます。

dnf install zabbix-proxy-mysql zabbix-sql-scripts

PostgreSQLを使用する場合はコマンドの'mysql'を'pgsql'に、SQLite3 (プロキシのみ)を使用する場合は'sqlite3'に置き換えてください。

パッケージ'zabbix-sql-scripts'には、ZabbixサーバーとZabbixプロキシの両方でサポートされているすべてのデータベース管理システムのデータベーススキーマが含まれており、データのインポートに使用されます。

データベースの作成

Zabbixプロキシ用のデータベースは分けて作成します。

ZabbixサーバーとZabbixプロキシは、同じデータベースを使用することができません。両者を同じホスト上にインストールする場合は、プロキシ用のデータベースは別の名前である必要があります。

データのインポート

初期スキーマをインポートします。

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uzabbix -p zabbix

PostgreSQL (またはSQLite) を使用したプロキシの場合:

cat /usr/share/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u zabbix psql zabbix
       cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 zabbix.db
Zabbixプロキシのデータベース設定

Zabbixプロキシ設定ファイル(/etc/zabbix/zabbix_proxy.conf)を編集します。

DBHost=localhost
       DBName=zabbix
       DBUser=zabbix
       DBPassword=<password>

Zabbixプロキシ用のDBNameは、Zabbixサーバーとは別のデータベースを使用します。

MySQLの場合は、DBPasswordにZabbixデータベースパスワードを使用します。 PostgreSQLの場合は、PostgreSQLユーザーのパスワードを使用します。

PostgreSQLでは、DBHost=を使用します。デフォルト設定のDBHost=localhost (またはIPアドレス)を使用したい場合、PostgreSQLがZabbixへの接続にネットワーク ソケットを使用することになります。 手順についてはSELinuxの設定を参照してください。

Zabbixプロキシプロセスの起動

Zabbixプロキシプロセスを起動し、システムブート時に起動させるためには以下を実行します。

systemctl start zabbix-proxy
       systemctl enable zabbix-proxy
Webインターフェースの設定

Zabbixプロキシは、Webインターフェースを持ちません。Zabbixサーバーとのみ通信を行います。

Javaゲートウェイのインストール

JMXアプリケーションを監視したいときには、Javaゲートウェイをインストールすることが必要です。 Javaゲートウェイは軽量で、データベースを必要としません。

必要なリポジトリが追加されていたら、以下のように実行することでZabbix Javaゲートウェイをインストールすることができます:

dnf install zabbix-java-gateway

Javaゲートウェイの設定の実行の詳細については設定を参照してください。

debuginfoパッケージのインストール

Debuginfoパッケージは、現在、RHELのバージョン 7、6、5で利用可能です。

debuginfoリポジトリを有効にするには、/etc/yum.repos.d/zabbix.repoファイルを編集します。zabbix-debuginfoリポジトリのenabled=0enabled=1に変更します。

[zabbix-debuginfo]
       name=Zabbix Official Repository debuginfo - $basearch
       baseurl=http://repo.zabbix.com/zabbix/5.5/rhel/7/$basearch/debuginfo/
       enabled=0
       gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
       gpgcheck=1

これによってzabbix-debuginfoパッケージをインストールすることができます。

dnf install zabbix-debuginfo

このパッケージには、すべてのZabbixコンポーネントのデバッグ情報が含まれています。