Zabbixは、デフォルトの監視項目以外に「プラグイン」で監視したい項目を増やすことができます。Zabbix4.0.x監視設定に「memcached」「redis」「MariaDB」を追加します。(2019/03/02作成)
Tomasz_Mikolajczyk / Pixabay
0.環境
$ cat /etc/system-release Amazon Linux release 2 (Karoo) $ zabbix_agentd --version | head -n 1 zabbix_agentd (daemon) (Zabbix) 4.0.3
※Zabbixエージェントが /zabbix-agent/ ディレクトリにインストールされていることを選定にしています。
1.memcached Zabbix-Agentd 監視
1)インストール
$ sudo curl https://raw.githubusercontent.com/tetsuwo/zabbix-memcached-template/master/src/zabbix_agentd.d/userparameter_memcached.conf > /etc/zabbix/zabbix_agentd.d/userparameter_memcached.conf $ sudo curl https://raw.githubusercontent.com/tetsuwo/zabbix-memcached-template/master/src/bin/memcached-stat.py > /etc/zabbix/bin/memcached-stat.py
$ sudo chown zabbix:zabbix /etc/zabbix/bin/memcached-stat.py $ sudo chmod +x /etc/zabbix/bin/memcached-stat.py
2)動作確認
$ zabbix_agentd -t memcached.stat[--host,localhost,--port,11211,--item,version] memcached.stat[--host,localhost,--port,11211,--item,version] [t|1.4.15]
3)Zabbix側設定
{$MEMCACHED_HOST} … Agent から参照する Memcached のホスト
{$MEMCACHED_PORT} … Agent から参照する Memcached のポート番号
2.redis Zabbix 監視
0)README
Usage: https://github.com/rdvn/zabbix-templates/tree/master/redis
1)As root setup a cronjob:
* * * * * /usr/bin/redis-cli info > /tmp/redisstat
2)Add an user parameter to zabbix:
$ sudo vi /etc/zabbix/zabbix_agentd.d/userparameter_redis.conf UserParameter=redis.stat[*],cat /tmp/redisstat | grep "$1:" | cut -d":" -f2
3.MariaDB Zabbix 監視
1)MariaDB 監視用ユーザの作成
$ mysql -uroot -p > grant process on *.* to zabbixagent@localhost identified by 'PASSWORD'; > flush privileges; > quit;
2)MariaDB サーバの状態を表示
$ mysqladmin status -uzabbixagent -p Enter password: Uptime: 605870 Threads: 30 Questions: 6345154 Slow queries: 14 Opens: 305 Flush tables: 1 Open tables: 299 Queries per second avg: 10.472
3)パスワードファイルの作成
$ sudo vi /etc/zabbix/zabbix_agentd.d/zabbix_my.cnf $ sudo chown zabbix:zabbix /etc/zabbix/zabbix_agentd.d/zabbix_my.cnf $ sudo chmod 600 /etc/zabbix/zabbix_agentd.d/zabbix_my.cnf
4)MariaDB動作確認
show global statusコマンド (Variable_nameは適宜変更)
$ echo "show global status where Variable_name='Slow_queries';" | mysql --defaults-extra-file=/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf -N| awk '{print $2}'
mysql.ping の確認
$ mysqladmin --defaults-extra-file=/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf ping| grep -c alive
バージョンの確認
$ mysql -V mysql Ver 15.1 Distrib 10.2.10-MariaDB, for Linux (x86_64) using EditLine wrapper
5)ユーザパラメータファイルの修正
$ sudo vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf UserParameter=mysql.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}' UserParameter=mysql.ping,mysqladmin --defaults-extra-file=/etc/zabbix/zabbix_agentd.d/zabbix_my.cnf ping 2>&1 | grep -c alive UserParameter=mysql.version,mysql -V
6)Zabbix-Agentを再起動
$ sudo systemctl restart zabbix-agent
7)Zabbix動作確認
$ zabbix_get -s localhost -k mysql.ping 1 $ zabbix_get -s localhost -k mysql.version mysql Ver 15.1 Distrib 10.2.10-MariaDB, for Linux (x86_64) using EditLine wrapper $ zabbix_get -s localhost -k mysql.status[Com_begin] 1525269 $ zabbix_get -s localhost -k mysql.status[Slow_queries] 14
以上