This is a translation of the original English documentation page. Help us make it better.

1 Red Hat Enterprise Linux

概要

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

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

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*

インストール時の注意事項

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

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

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

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

TimescaleDB使用時のデータのインポート

TimescaleDB使用時には、PostgreSQLのインポートコマンドに加えて、さらに以下のコマンドを実行します:

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

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

PHP 7.2

ZabbixのWebインターフェースの動作には、7.2.5以降が必要です。

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サーバーを再起動してください:

# service httpd restart

さらに、Zabbixでは、RHEL 8RHEL 7用のパッケージとして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

コマンド内の'mysql'の部分を'pgsql'に変更してPostgreSQLを使用するか、'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_proxy.confを編集します:

# vi /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プロキシプロセスを起動し、システムブート時に起動させるためには以下のように実行します:

# service zabbix-proxy start
       # 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パッケージをインストールすることができます。

# yum install zabbix-debuginfo

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