OSSの統合監視ツールであるZabbixをLinuxにインストールする方法を紹介します。
この手順で使用するLinuxのディストリビューションはOracle Linux使用して解説します。またデータベースの格納にはPostgreSQL、Web ServerにはNginxを利用します。
※ 一般的にはデータベースがMySQL、Web ServerはApacheです。
ZabbixはデフォルトではWebサーバのApacheを利用する設定になっていますが、Nginxにすると一部ハマるポイントがあるので解説しております。
ソフトウェアのダウンロード
Zabbixのダウンロードページにアクセスしましょう。
すると以下の画面がなります。そこで選択するディストリビューションを選びましょう。

以下のようにインストールするためのスクリプトが生成されます。勘が良い人はわかると思いますが、これを利用すればZabbixはインストールできます。

PostgresSQLのインストール
LinuxにPostgreSQLをインストールする手順は以下になります。
Nginxのインストール
Nginxをインストールする手順は以下になります。
Zabbixのインストール
ここからは実際にPostgreSQL+Nginxを使用したZabbixをインストールします。
まずはzabbix用のリポジトリを取得します。
rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
dnf clean all
実際にzabbixサーバーやエージェントをインストールします。
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
インストールコマンドは各ディストリビューションで微妙に違います。
ZabbixのDownload and installページでディストリビューション毎の設定を確認してください。
データベースの作成
zabbix用データベースを作成します。
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
データベースの初期データを作成していきます。
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/create.sql.gz | sudo -u zabbix psql zabbix
最後に「/etc/zabbix/zabbix_server.conf」にデータベースのパスワードを設定してください。
DBPassword=password
今回はPostgreSQLを作成しますが、MySQLを使用する場合には、ZabbixのDownload and installページでMySQL用の設定を確認してください。
Nginxの設定
ZabbixのソフトウェアはApache用に作成されているため設定ファイルやパーミッションを変更する必要がある。
まずは「/etc/nginx/conf.d/zabbix.conf」のコメントアウトを外します。server_nameにはIPアドレスかホスト名を記述します。
server {
listen 80;
server_name IPAddress or hostname;
root /usr/share/zabbix;
index index.php;
~省略~
次にPHP-FPMの設定を変更します。まずは「/etc/php-fpm.d/www.conf」を設定します。php-fpmのコメントアウトは「;」なので注意してください。
; 編集
; user = apache
user = nginx
; group = apache
group = nginx
「/etc/php-fpm.d/zabbix.conf」も設定します。
; 編集
;user = apache
user = nginx
;group = apache
group = nginx
; 追記
php_value[date.timezone] = Asia/Tokyo
「/etc/php.ini」も修正します。
; 編集
;date.timezone =
date.timezone = Asia/Tokyo
最後にディレクトリのパーミッションを変更します。
chown -R nginx:nginx /etc/zabbix/web
設定が終わったので再起動と自動起動を有効化します。
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm
Zabbixの初期設定
ここまで来たらhttp://IPアドレスorホスト名にアクセスして初期設定を行います。
以下の画面でデフォルト言語を日本語に設定します。

次のステップを選択します。

以下をデータベース接続情報に設定します。
- データベースタイプ:PostgreSQL
- データベースホスト:localhost
- データベースポート:0
- データベース名:任意
- データベーススキーマ:public
- ユーザー:任意
- パスワード:任意

特に設定せずに次のステップを選択します。

デフォルトのタイムゾーンをAsia/Tokyoにして次のステップを選択します。

全てのインストール事前準備が完了したら次のステップを選択します。

以下の画面が出たらインストール完了です。

デフォルトのユーザ名:Admin、パスワード:zabbixでログインします。

以下のように表示されれば無事ログインでき、インストールが完了しました。
