zabbixでmysql(MariaDB)のステータス取得をやったのでメモ
別にmysqlとMariaDBでのエージェント側での設定の違いはありませんです。
まずはエージェント側にconfを作ります。
# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
↓コメント解除
UserParameter=mysql.status[*],echo “show global status where Variable_name=’$1′;” | HOME=/var/lib/zabbix mysql -N | awk ‘{print $$2}’
#追記
UserParameter=mysql.size[*],echo “select sum($(case “$3″ in both|””) echo “data_length+index_length”;; data|index) echo “$3_length”;; free) echo “data_free”;; esac)) from information_schema.tables$([[ “$1” = “all” || ! “$1″ ]] || echo ” where table_schema=’$1′”)$([[ “$2” = “all” || ! “$2” ]] || echo “and table_name=’$2′”);” | HOME=/var/lib/zabbix mysql -N
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
次にzabbix agent がmysqlコマンドを使えるようにします。
# vim /var/lib/zabbix/.my.cnf
[client]
user = zabbixagent
password = password
次にmysql(MariaDB)にzabbixagentユーザーを追加します。
# mysql -u root -p
use mysql
grant process on *.* to zabbixagent@localhost identified by ‘password’;
grant REPLICATION CLIENT on *.* to zabbixagent@localhost;
show grants for ‘zabbixagent’@’localhost’;
権限を確認します。
MariaDB [(none)]> show grants for ‘zabbixagent’@’localhost’;
+———————————————————————————————————————-+
| Grants for zabbixagent@localhost |
+———————————————————————————————————————-+
| GRANT PROCESS ON *.* TO ‘zabbixagent’@’localhost’ IDENTIFIED BY PASSWORD ‘*hogehogehogehogehogehoge’ |
+———————————————————————————————————————-+
設定が正しいかエージェントサーバーで確認
# mysqladmin –defaults-extra-file=/var/lib/zabbix/.my.cnf ping
mysqld is alive
次に正しくzabbixサーバー側で値が取れるか確認
# zabbix_get -s エージェントのIP -k mysql.version
mysql Ver 15.1 Distrib 10.0.11-MariaDB, for Linux (x86_64) using readline 5.1
ここまで確認出来たら次はzabbixサーバー側でのguiの設定を行います。
zabbixの管理画面で対象のサーバーに「Template App MySQL」を適用すれば完了です。