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 9、 RHEL 8、 RHEL 7、 RHEL 6、 RHEL 5。
Zabbix 6.0.35以降、Go 1.22(およびそれ以降)はRHEL 6が提供するGCC 4.4.7と互換性がなく、コンパイルエラーが発生するため、Zabbixエージェント2パッケージはRHEL 6では使用できなくなりました。 ただし、Zabbixエージェントパッケージは引き続きサポートされていることに注意してください。
Zabbix公式リポジトリでは、fping、iksemel、libssh2パッケージも提供しています。 これらのパッケージは、non-supportedというディレクトリにあります。
EL9用のEPELリポジトリは、Zabbixパッケージも提供しています。
公式ZabbixリポジトリとEPELリポジトリの両方がインストールされている場合は、/etc/yum.repos.d/の下のEPELリポジトリ設定ファイルに次の句を追加して、EPEL内のZabbixパッケージを除外しなければなりません。
[epel]
...
excludepkgs=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=0をenabled=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コンポーネントのデバッグ情報が含まれています。