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エージェントバイナリも提供しています。詳細は以下を参照してください。
- MSIからのWindowsエージェントのインストール
- PKGからのmacOSエージェントのインストール
- IBM AIX上のZabbixエージェント
- レガシーバイナリ(HP-UX、NetBSD、Tru64、古いバージョンのSLESなど、古いシステムやあまり一般的でないシステム向け)
パッケージインストールに関する注意事項
以下の注意事項はすべてのシステムに適用されます。
- 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 およびその派生ディストリビューションに適用されます。
- EL9 向けの EPEL リポジトリを有効にしている場合、このリポジトリでも Zabbix パッケージが提供されるため、公式の Zabbix パッケージをインストールする前に、パッケージ解決の対象から除外する必要があります。詳細は Accidental installation of EPEL Zabbix packages を参照してください。
- Red Hat UBI 環境に Zabbix パッケージをインストールする場合は、Zabbix packages for RHEL on Red Hat UBI environments を参照してください。
- ICMP ping アイテム を使用する場合、
fping用のパッケージは Zabbix Official Repository でも提供されています。
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