2024年6月4日にZabbixの最新バージョンであるZabbix 7.0がリリースされた。
リリースノートは以下にて確認できる。
本記事では、Zabbix 7.0をAlmaLinux 9とPostgreSQLを用いてインストールする手順を記載する。なお、MariaDBを用いてインストールする手順は以下記事にて記載しているので参考にしていただきたい。
環境
環境は以下の通り。LinuxディストリビューションはAlmaLinux 9.4を使用する。AlmaLinuxはRed Hat Enterprise Linux互換ディストリビューションであるため、Red Hat Enterprise LinuxやCentOSなどでも同様の手順でインストールできるはずだ。
- OS:AlmaLinux 9.4
- DB:PostgreSQL 13.11
- Web Server:Apache 2.4.57
Zabbixをインストールする際は、サポートされるDBのバージョンを確認しておく必要がある。以下URLでサポートされるDBのバージョンを確認することができるが、Zabbox 7.0の場合、PostgreSQLは13.0-16.Xを使用することが求められる。
なお、dnf
を使うため、インターネット接続できる環境であることが前提となる。
インストール手順
1. SELinuxとfirewalldを停止する
これらが動いているとうまく動作しないことが多いので停止しておく。
2. PostgreSQLをインストール
dnf
でPostgreSQLをインストールすると、AlmaLinux 9.4ではバージョン13.xxがインストールされる。このバージョンはZabbix 7.0がサポートしているため問題ないが、もしサポート外のバージョンの場合は、zabbix-serverのサービス起動に失敗するため注意しよう。
# dnf install postgresql-server postgresql-contrib -y
DBの初期化を実施しておく。
# postgresql-setup initdb
3. PostgreSQLの初期設定
DBの設定として、以下2点を実施する。
- DB接続時の認証方式をident認証からDB独自認証に変更
- DBのパフォーマンスチューニング
DB接続時の認証方式の変更は、/var/lib/pgsql/data/pg_hba.conf
のファイルを以下の通り修正して対応する。
# vi /var/lib/pgsql/data/pg_hba.conf
---
# IPv4 local connections:
host all all 127.0.0.1/32 md5 # identからmd5に修正
# IPv6 local connections:
host all all ::1/128 md5 # identからmd5に修正
DBのチューニングとしては、以下3つのパラメーターを修正する。PostgreSQLの設定ファイルは、特に変更をしていない場合は、/var/lib/pgsql/data/postgresql.conf
に配置されている。
パラメーター | デフォルト値 | 設定値 | 説明 |
---|---|---|---|
shared_buffers |
128MB | 1GB | 共有メモリバッファのために使用するメモリ量。搭載メモリ量の25%程度を目安に増加させる。今回は搭載メモリが4GBであったことから、1GBに設定する。 |
checkpoint_timeout |
5min | 30min | チェックポイント実行までの間隔。5分は短いことから、30分に延ばしておく。 |
max_wal_size |
1GB | 8GB | shared_buffers の増加と比例させる形で増やしておく。 |
# vi /var/lib/pgsql/data/postgresql.conf
---
shared_buffers = 1GB
---
checkpoint_timeout = 30min
max_wal_size = 8GB
設定反映のため、このタイミングでPostgreSQLを再起動しておく。
# systemctl restart postgresql
# systemctl enable postgresql
4. Zabbix 7.0をインストール
以下コマンドを実行することで、Zabbix 7.0をインストールすることができる。
# rpm -Uvh https://repo.zabbix.com/zabbix/7.0/alma/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm
# dnf clean all
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y
Web画面の英語表示や日本語表示をできるよう、以下のパッケージも追加でインストールしておく。
# dnf install glibc-langpack-en zabbix-web-japanese -y
5. DBの初期設定
DBの初期設定として、DB作成とユーザーへの権限付与を行う。
まずは、PostgreSQLに接続し、ユーザー「zabbix」を作成する。次に、DB「zabbix」を作成する。
# password="P@ssw0rd!"
# su - postgres -c "psql -c \"create user zabbix login encrypted password '${password}'\""
# su - postgres -c "createdb -O zabbix zabbix"
Zabbix初期化用SQLファイルが用意されているので、以下コマンドで流し込みを行う。パスワードは先ほど作成したzabbixユーザのパスワードを指定する。特にエラー等なく、プロンプトが返ってくれば問題ない。
# zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix > /dev/null
# echo $?
0
6. Zabbixの初期設定
/etc/zabbix/zabbix_server.conf
は、先ほど設定したDB「Zabbix」に接続するためのzabbixユーザのパスワードを設定する。
# vi /etc/zabbix/zabbix_server.conf
DBPassword=P@ssw0rd!
7. Zabbixを起動
以上で準備が整ったので、Zabbixを起動させる。
# systemctl restart zabbix-server zabbix-agent httpd php-fpm
# systemctl enable zabbix-server zabbix-agent httpd php-fpm
8. Web画面で初期セットアップを行う
以下URLにアクセスし、初期セットアップを行う。
http://<Zabbixサーバーのホスト名 or IPアドレス>/zabbix/
最初の画面では、言語選択が可能となっているので、「ja-JP」を選択し、「次のステップ」を選択する。
「前提条件のチェック (Check of pre-requisites)」では、すべて「OK」となっていることを確認する。通常はデフォルト設定ですべて「OK」となっているはずである。
「データベース接続設定 (Configure DB connection)」では、以下3点を設定する。
- 「パスワード」は、事前に設定したパスワードを入力する。
- 「データーベーススキーマ」は、空欄のままとしておく。ここに誤った値を入れると「現在のZabbixデータベースのバージョン:テーブル"dbversion"が存在しませんを判断できません。」といったエラーメッセージが表示され先に進めない。
- 「データベース接続のTLS暗号化」は、セキュリティ面を重視するなら有効にしてもよいが、今回は同一サーバー内のDB接続となることから、TLS暗号化は無効とする。
「設定 (Settings)」では、「Zabbixサーバー名」がデフォルト空白なのでホスト名など入れてもよい。「Zabbixサーバー名」で設定した名前が何に使われるかというと、操作画面の右上に表示されるだけのようなので、空白のままでも動作に支障はない。また、タイムゾーンの設定ができるようになっているので、「(UTC+9:00) Asia/Tokyo」を選択しておこう。
「設定パラメータの確認 (Pre-installation summary)」で設定を再確認できる。
問題なければ以下のような画面が表示され、設定値がetc/zabbix/web/zabbix.conf.php
に保存される。これでインストール作業は完了となる。
8. Zabbixにログインする
初期設定が終わるとログイン画面に遷移するので、早速ログインしてみよう。初期ID/パスワードは以下の通り。
- ID:Admin ※Aは大文字。大文字小文字の区別をするため注意
- パスワード:zabbix
以上で完了となる。特に問題なければ、1時間もあればインストールできる。Zabbix 6.0からインタフェースに劇的な変更はないように見えるが、細かいところで変更は入っているようなので、今後使いながら確認していきたい。
0 件のコメント:
コメントを投稿