Zabbixサーバ構築メモ
とん挫したけど、Zabbixサーバの構築をやってみたのでそのメモ
https://www.zabbix.com/jp/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&db=mysql&ws=nginx
環境
- OS : RockyLinux8
- WEB : nginx 1.22
- DB : MySQL 8.0
必要なもの
Zabbixインストールする前に、WebサーバとDBサーバが必要である。
→WebはApache or NGIN, DBはMySQL or PostgreSQLを選ぶことになりそう。
インストール時にApacheで動かすかNGINXで動かすか,MySQLを使うかPostgreSQLを使うかによって
モジュールを使い分けられるようにしてくれているので便利。
手順
インストールrpmパッケージをインストール
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
# dnf clean all
rpmからdnfインストール
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
DB に zabbix 用のユーザやDBを作成
# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified with mysql_native_password by 'パスワード';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
ユーザ作成の時、mysql_native_password
のプラグインとしてパスワードを指定しないと、
後でZabbixの設定をブラウザから行うときに、PHPがMySQLにアクセスできなくなる。
MySQLのユーザのpluginがデフォルトではcaching_sha2_password
になっていて、
これは古いPHPとかだと対応していないことがあるため。
↑ソースインストールしたローカルのMySQLサーバの設定の話。
AuroraとかCloud SQLはこの辺の設定は緩めに設定されてるっぽいから気にしなくていいかも?
※確認してないから憶測
DBのZabbix構築コマンド実行
どうやらdnfでzabbix一式をインストールしたときに、
/usr/share/doc/zabbix-sql-scripts
っていうのがインストールされているみたい。
ここにあるsql.gzを実行すれば自動でMySQLをZabbix用に構築してくれるみたい。
# zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
Zabbixサーバ設定
/etc/zabbix/zabbix_server.conf
のDBPassword
のコメントアウトを外し、作成したzabbixのユーザのパスワードを入力しておく
nginx設定
こっちも、zabbix一式インストールしたときに、/etc/nginx/conf.d/
配下にzabbix.confが自動的に作られている。
nginx.confから、conf.d/*.confを読み込むようにincludeしてあげて、
# listen 80;
# server_name example.com;
↑ここの部分をコメントアウト外して、
server_name
はわかりやすくlocalhost
とかにしておく
本構築ならSSL化もしてちゃんとドメイン書く。
再起動
最後に全部再起動して完了!
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
フロントエンド設定
http://IPアドレス
にアクセスしたら、Zabbixの設定画面に飛ぶ。
画面の指示に従っていろいろ設定を詰めていく。
ここでt2.microインスタンスがメモリ不足でぶっ壊れたので終了。
ZabbixよりPrometheusのほうがどちらかというと極めたいので、
Zabbixはこの辺にして終わる。
感想
Zabbixサーバを初めてインストールしてみた(構築完成してないけど)。
気になったのは、php(php-fpm?)がMySQL8.0と相性悪く、mysqlのzabbixユーザ関連で躓くことが多かったことかな。
パスワードのルールが厳しくなってたり、ハッシュアルゴリズムに対応してなかったり。
この辺りはマネージドのDB使えばあまり気にならないかもしれない。
(少なくともCloudSQLのMySQL8.0ではユーザのパスワードで複雑なものは要求されなかった)
インストール自体は公式のインストール手順が単純明快でよかった。
Rockyに対応しているのも〇