Zabbix ServerでDBを監視する方法
【概要】Zabbix ServerでDBを監視する方法についてまとめます。【詳細】1. Firewall設定10050と10051ポートを解放します。firewall-cmd --zonepublic --add-port10050/tcp --permanentfirewall-cmd --zonepublic --add-port10051/tcp --permanent※ Zabbix Serverからの接続のみ許可する場合firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"ZABBIX SERVERのIP" port protocol"tcp" port"10050" accept"firewall-cmd --permanent --zonepublic --add-rich-rule"rule family"ipv4" source address"ZABBIX SERVERのIP" port protocol"tcp" port"10051" accept"2. DB監視用ユーザーを作成するここではzabbixユーザーを作成しますが、任意のユーザーで作成して下さい。・zabbix@localhostCREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ユーザーのパスワード';GRANT ALL PRIVILEGES ON *.* TO "zabbix"@"localhost";※ 「'ユーザーのパスワード'」に任意のパスワードを設定して下さい。3. 「/etc/zabbix/zabbix_my.cnf」作成touch /etc/zabbix/zabbix_my.cnfchown zabbix:zabbix /etc/zabbix/zabbix_my.cnfchmod 600 /etc/zabbix/zabbix_my.cnfvi /etc/zabbix/zabbix_my.cnf設定内容[client]userzabbixpassword"ユーザーのパスワード"4. 「/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf」作成touch /etc/zabbix/zabbix_agentd.d/userparameter_mysql.confvi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf設定内容# Key syntax is mysql.status[variable].UserParametermysql.status[*],echo "show global status where Variable_name'$1';" | mysql --defaults-extra-file/etc/zabbix/zabbix_my.cnf -N | awk '{print $2}'UserParametermysql.ping,mysqladmin --defaults-extra-file/etc/zabbix/zabbix_my.cnf ping 2amp;1 | grep -c aliveUserParametermysql.version,mysql -V5. 「Template DB MySQL」テンプレート設定Zabbix Serverにて「Template DB MySQL」テンプレート等の任意のテンプレートを設定して下さい。これで値が取得できれば成功です。Cf. 監視ができない場合の対応「/etc/zabbix/zabbix_my.cnf」のパスでは読み込めない時があります。その場合は「/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf」に配置し、「/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf」の内容以下に変更して下さい。# Key syntax is mysql.status[variable].UserParametermysql.status[*],echo "show global status where Variable_name'$1';" | mysql --defaults-extra-file/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf -N | awk '{print $2}'UserParametermysql.ping,mysqladmin --defaults-extra-file/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf ping 2amp;1 | grep -c aliveUserParametermysql.version,mysql -V