Zabbix で MySQLの監視を導入しました。設定した作業内容を記録しておきます。
1.環境説明
バージョンは以下になります。
- Zabbixサーバ:2.0.5
- Zabbixエージェント:1.8.16
- MySQL:5.5.23-log MySQL Community Server (GPL)
2.Template App MySQL の適用
まずは、Zabbix管理画面でMySQLの監視項目を確認するために、Zabbix 2.0.5 に付属しているテンプレート「Template App MySQL」を、監視対象ノードに適用します。
テンプレートに含まれる監視項目は以下になります。
Key は、mysql.ping と mysql.version 以外は、mysql.status となります。全部で14個のアイテムがあり、Key が mysql.status であるアイテムは12個です。
3.Zabbixエージェント側の設定
Zabbixエージェント側の userparameter_mysql.conf で、以下の設定を行います。
UserParameter=mysql.status[*],echo "show global status like '$1';" | HOME=/var/lib/zabbix mysql --defaults-extra-file=/etc/zabbix/mysql/my.cnf -N | awk '{print $$2}'
Key を mysql.status[*] とすると、この1行だけで大丈夫です。–defaults-extra-file は、前回の投稿「zabbix_get コマンドで MySQLの稼働状況を確認する方法(アカウント情報を分離)」を参照してください。
設定後は、zabbixエージェントを再起動してください。
4.Zabbix側で、MySQL監視項目を有効化
Zabbixエージェント側の設定をする前に、「Template App MySQL」を監視対象ノードに適用していたので、12個の「Key が mysql.status であるアイテム」は無効になっています。よって、Zabbix画面上でそれらのアイテムを有効にします。
すると、MySQLの値が取得できるようになります。
後日、実際にクエリー(SELECT文)を発行した監視も行ってみようかな。