Zabbixと呼ばれる状態監視ソリューションのAlmaLinux8向け導入メモです。
バックエンドDBにはPostgreSQL、フロントエンドにはApacheまたはNginxを使用する構成です。
OSのセットアップ
最小インストールしたAlmaLinux8を準備します。
https://qiita.com/SkyLaptor/items/fff86902c94adc6ce167
データベースのセットアップ
今回はデータベースとしてPostgreSQLを選定しました。Zabbixの互換リスト上ではPostgreSQL v9.2.24以上であればOKの模様です。
インストール
# curl -OL https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# rpm -Uvh epel-release-latest-8.noarch.rpm
# wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# rpm -Uvh pgdg-redhat-repo-latest.noarch.rpm
# dnf install epel-release
# dnf module disable postgresql
# dnf config-manager --disable pgdg10 pgdg11 pgdg95 pgdg96
# dnf clean all
# dnf install postgresql12-server-12.4-1PGDG.rhel8.x86_64 postgresql12-odbc
初期設定
# su - postgres
postgres$ vim .bash_profile
export PGDATA
# 以下を追記
export PATH=$PATH:/usr/pgsql-12/bin
postgres$ source .bash_profile
postgres$ initdb --encoding=utf8 --locale=C -D /var/lib/pgsql/12/data
postgres$ exit
# systemctl start postgresql-12
# systemctl enable postgresql-12
フロントエンドのセットアップ
ZabbixでフロントエンドをNginxにする場合、Zabbixセットアップ時に同時インストールされる模様です。
ZabbixServerのセットアップ
インストール
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-agent zabbix-get vlgothic-fonts vlgothic-p-fonts
# sudo -u postgres createuser --pwprompt zabbix
could not change directory to "/root": 許可がありません ※無視してOK
Enter password for new role: 任意のDBパスワード
Enter it again: 任意のDBパスワードもう一度
# sudo -u postgres createdb -O zabbix zabbix
could not change directory to "/root": 許可がありません ※無視してOK
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
...
INSERT 0 1
COMMIT
# cp -p /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.default
# vim /etc/zabbix/zabbix_server.conf
# DBPassword=
DBPassword=DBパスワード
# cp -p /etc/nginx/conf.d/zabbix.conf /etc/nginx/conf.d/zabbix.conf.default
# vim /etc/nginx/conf.d/zabbix.conf
listen 80;
server_name サーバーのIP サーバのFQDN;
# cp -p /etc/php-fpm.d/zabbix.conf /etc/php-fpm.d/zabbix.conf.default
# echo "php_value[date.timezone] = Asia/Tokyo" >> /etc/php-fpm.d/zabbix.conf
# rm /etc/alternatives/zabbix-web-font
# ln -s /usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf /etc/alternatives/zabbix-web-font
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
初回セットアップ
Webブラウザで以下
のURLにアクセスし、初回セットアップを開始します。
http://{サーバIP or FQDN}/zabbix.php

システム要件チェックでは、NGが無いことを確認します。

Password
部分にDBパスワードを入力します。他は触れる必要ありません。




初期IDはAdmin
、パスワードはzabbix
です。


表示を日本語にします。画面左下のUser settings
をクリック。

Language
をJapanese (ja_JP)
にします。

日本語表示になりました。

設定チューニング
このままでも動くのですが、快適に動作するように各種チューニングを施しておきます。
PostgreSQL
# mkdir /etc/systemd/system/postgresql-12.service.d
# vim /etc/systemd/system/postgresql-12.service.d/override.conf
[Service]
LimitNOFILE=65536
LimitNPROC=65536
# systemctl daemon-reload
# systemctl restart postgresql-12
Nginx
# vim /etc/systemd/system/nginx.service.d/override.conf
[Service]
LimitNOFILE=65536
LimitNPROC=65536
# systemctl daemon-reload
# systemctl restart nginx
PHP
# vim /etc/php-fpm.d/zabbix.conf
php_value[memory_limit] = 1024MB ※環境に合わせて要調整
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
ZabbixAgent対応の監視対象の追加
ZabbixAgentを導入できるOSであれば、非常に多岐に渡る情報を取得できるようになります。ぜひ入れておきましょう。
ここでは、CentOS8最小インストールを対象とします。
監視対象へのAgentインストール
# wget https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# rpm -Uvh zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agent zabbix-get
# cp -p /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.default
# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1,ZabbixServerのIPアドレス
#Hostname=Zabbix server ※コメントアウト
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
ZabbixServerへの登録
監視対象にAgentを入れただけではZabbixServerに登録されません。以下の手順で登録します。
ZabbixWebコンソールにログインし、左メニューから設定
→ホスト
を選択します。

ホスト名
に任意のホスト名、グループ
はLinux Servers
、インタフェース
のIPアドレス
に対象のIPアドレスを入力します。

新規テンプレートをリンク
にてTemplate OS Linux by Zabbix agent
を適用し、追加
をクリックします。

追加して数分経ってから、ホスト一覧にて追加したホストのエージェントの状態
を確認するとZBX
が緑色になります。これで監視対象になりました。
