Zabbix4.0+MySQL8.0の構築
サーバ上のZabbix構築で嵌ったので戒めを込めてメモ。
環境
CentOS 7
MySQL8.0
Zabbix4.0 LTS
MySQLをインストール
CentOS 7でデフォルトのMariaDBをアンインストール
yum remove -y mariadb-libs.x86_64
MySQL8.0のレポジトリを登録&インストール
yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum install -y mysql-community-server
MySQL8.0からセキュリティが厳しくなっちゃってるので設定変更
vi /etc/my.cfg
#default-authentication-plugin=mysql_native_passwordをコメントイン
MySQL起動&初期設定
systemctl start mysqld
パスワードを確認
cat /var/log/mysqld.log | grep password
mysql_secure_installation
先程表示されたパスワードを打ち、annonymousとtestをremove
Zabbixをインストール
基本はこの通りに
https://www.zabbix.com/jp/download
mysql -uroot -p
はmysql -u root -pに置き換える
Create Databaseの
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';はエラーを吐かれるので、
create user 'zabbix'@'localhost' identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
で実行
vi /etc/httpd/conf.d/zabbix.confの#php_value date.timezone Europe/Riga
をphp_value date.timezone Asia/Tokyo
/etc/zabbix/zabbix-server.confのDBHostをコメントイン。
SELinuxとかもっと詳しい設定方法とか
1 Red Hat Enterprise Linux/CentOS [Zabbix Documentation 4.0]
SELinuxを止めて
setenforce 0
vi /etc/sysconfig/selinux
SELINUX=disabled
firewalldに穴あけ
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --reload
Zabbix起動
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
ブラウザで
http:// <IPアドレス> /zabbix
User:Admin
Password:zabbix
後は初期設定を進める~
ZabbixはAgentだと10050/tcp、Serverだと10051/tcpを使うのでfirewallに穴あけ。
firewall-cmd --add-port=10050/tcp --zone=public --permanent //Agent側
firewall-cmd --add-port=10051/tcp --zone=public --permanent //Server側
firewall-cmd --reload
まとめ的な
MySQL8.0のセキュリティが固くて1時間くらい嵌ってました…
Zabbixのデーモンがrunningにならず
tail /var/log/zabbix/zabbix_server.log
connection to database 'zabbix' failed: [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
のエラー
セキュリティは強さと使いやすさのトレードオフが難しい。