Zabbixで監視したデータサイズが気になったので監視することにしました。
何を監視するか
mysqlのデータベースファイルは、/var/lib/mysqlに作成されます。
duコマンドでzabbixのデータベースファイルのサイズを調べることができます。
$ sudo du -s /var/lib/mysql/zabbix 1072 /var/lib/mysql/zabbix $
zabbix_agentdに必要な設定
zabbix_agentdを動かすzabbixユーザではアクセス権がなくエラーになってしまいます。
$ sudo -u zabbix du -s /var/lib/mysql/zabbix du: `/var/lib/mysql/zabbix'にアクセスできません: 許可がありません $ ls -ld /var/lib/mysql drwx------ 5 mysql mysql 4096 2011-05-15 18:52 /var/lib/mysql $
グループにもパーミッションがないのでsudoを使います。
パスワードなしでduコマンドを使えるようにします。
$ sudo grep zabbix /etc/sudoers zabbix ALL=NOPASSWD: /usr/bin/du $ sudo -u zabbix sudo du -s /var/lib/mysql/zabbix 1072 /var/lib/mysql/zabbix $
ここまでできたらzabbix_agentd.confに設定を追加します。
$ grep sudo /etc/zabbix/zabbix_agentd.conf UserParameter=mysql.dbfile.size[*],sudo du -s /var/lib/mysql/$1|cut -f1 $ zabbix_get -s zabbix.local -k mysql.dbfile.size[zabbix] 1072 $
これでzabbixで任意のmysqlデータベースのサイズを監視できます。