4 パッケージインストール

概要

Zabbix 7.4の公式パッケージはZabbix Webサイトで入手できます。ここでオペレーティングシステムとZabbixコンポーネントを選択すると、必要なインストール手順とコマンドを生成できます。 以下のパッケージのインストールに関する注意事項と、インストールとセットアップのページも必ず確認してください。

パッケージは、以下のLinuxディストリビューション向けに提供されています。

  • Red Hat Enterprise Linuxおよびその派生ディストリビューション: AlmaLinux、Amazon Linux 2023、CentOS Stream、CentOS 7、Oracle Linux、Rocky Linux
  • Debian、Ubuntu、Raspberry Pi OS、Raspbian
  • SUSE Linux Enterprise Server、openSUSE Leap

一部のOSディストリビューション(特にDebianベースのディストリビューション)では、独自のZabbixパッケージが提供されています。 これらのパッケージはZabbixではサポートされておらず、古い場合や、最新の機能およびバグ修正が含まれていない場合があります。 Zabbix公式リポジトリの公式パッケージのみを使用することを推奨します。 以前にオペレーティングシステムのリポジトリからZabbixをインストールした場合は、OSリポジトリからZabbixパッケージをアップグレードする手順を参照してください。

パッケージは、MySQL/PostgreSQLデータベースおよびApache/Nginx Webサーバーをサポートしています。 Zabbixサーバーとプロキシは同じデータベースを共有できないことに注意してください。同じホストに両方をインストールする場合は、異なるデータベース名を使用してください。

必要に応じて、Zabbixエージェント/エージェント2、Zabbix get、およびZabbix sender用の個別パッケージをZabbix公式リポジトリから入手できます。

Zabbixでは、Linux以外のオペレーティングシステム向けに、コンパイル済みのZabbixエージェントバイナリも提供しています。詳細は以下を参照してください。

パッケージインストールに関する注意事項

以下の注意事項はすべてのシステムに適用されます。

  • PostgreSQL を使用する場合、Zabbix サーバー/プロキシ の設定で DBHost=localhost(または IP アドレス)を指定すると、PostgreSQL はローカルの UNIX ソケットではなくネットワークソケットを使用します。関連する設定手順については、SELinux configuration を参照してください。
  • TimescaleDB を使用する場合は、追加の TimescaleDB setup を参照してください。
  • Zabbix Javaゲートウェイ(JMX アプリケーションの監視用)をインストールする場合は、RHEL-based systems および Debian-based systems 向けの追加設定手順を参照してください。
  • Zabbix エージェントを root として実行する場合は、Running agent as root を参照してください。

以下の注意事項は RHEL およびその派生ディストリビューションに適用されます。

SELinuxの設定

Zabbixはソケットベースのプロセス間通信を使用します。
Security-Enhanced Linux (SELinux) が有効なシステムでは、Zabbixが SocketDir ディレクトリ内で UNIX ドメインソケットを作成/使用できるように、SELinuxルールを追加する必要がある場合があります。
ソケットファイルは Zabbix サーバー(alerter、preprocessing、IPMI)および Zabbix プロキシ(IPMI)で使用され、プロセスの実行中に存在します。

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

RHEL 7(以降)、AlmaLinux、CentOS Stream、Oracle Linux、Rocky Linux 8(以降)の場合:

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

SELinux設定を適用した後、Apache を再起動します。

systemctl restart httpd

必要に応じて、Zabbix Official Repository から事前定義済みの zabbix-selinux-policy パッケージをインストールできます。
このパッケージは、Zabbixの導入を簡素化し、設定の複雑さのためにユーザーがSELinuxを無効化してしまうことを防ぐ目的で、サポート対象のすべてのOSバージョン向けに提供されています。
AlmaLinux、CentOS Stream、RHEL、Rocky Linux、Oracle Linux のバージョン 10 では、SELinuxポリシーは zabbix-selinux-policy-main パッケージによって提供されます。zabbix-selinux-policy パッケージは zabbix-selinux-policy-main または selinux-policy-targeted-extra のいずれかに依存します。
zabbix-selinux-policy-main パッケージは selinux-policy-targeted-extra と競合するため、両方のパッケージを同時にインストールすることはできません。

最大限のセキュリティを確保するため、カスタムのSELinux設定を行うことを推奨します。

zabbix-selinux-policy(AlmaLinux、CentOS Stream、RHEL、Rocky Linux、Oracle Linux のバージョン 10 では zabbix-selinux-policy-main)パッケージには、Zabbixがソケットを作成および使用できるようにし、HTTPd が PostgreSQL(Webインターフェースで使用)へ接続できるようにする基本的なSELinuxポリシーが含まれています。

ソースの 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;

Debuginfoパッケージ

Debuginfo パッケージには、Zabbix バイナリ用のデバッグシンボルが含まれています。
通常のインストールや運用には必要ありませんが、詳細なトラブルシューティングに役立ちます。

Debuginfo パッケージは、以下のバージョンで利用可能です: Red Hat Enterprise Linux 7 以前(派生版を含む)、および SUSE Linux Enterprise Server 15 以前(派生版を含む)。

zabbix-debuginfo リポジトリを有効にするには:

  • RHEL 7 では、/etc/yum.repos.d/zabbix.repo を編集し、zabbix-debuginfo セクションで enabled=1 に設定します:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/7.4/stable/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
  • SUSE では、/etc/zypp/repos.d/zabbix.repo を編集し、zabbix-debuginfo セクションで enabled=1 に設定します:
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo
type=rpm-md
baseurl=https://repo.zabbix.com/zabbix/7.4/stable/sles/15/$basearch/debuginfo/
gpgcheck=1
gpgkey=https://repo.zabbix.com/zabbix/7.4/stable/sles/15/$basearch/debuginfo/repodata/repomd.xml.key
enabled=0
update=1

有効化したら、パッケージをインストールします:

  • RHEL では、すべての Zabbix コンポーネントのデバッグ情報を含む単一のパッケージをインストールします:
dnf install zabbix-debuginfo
  • SUSE では、コンポーネントごとの debuginfo パッケージをインストールします:
zypper install zabbix-<component>-debuginfo