企业级分布式监控zabbix实战——实现Zabbix监控mysql服务
查看zabbixDB Mysql模板,可以看到,数据库监控项很少,仅仅只有14项
查看Template DB Mysql的监控项
给zabbix server主机添加DB Mysql的模板
更新可以看到,添加的DB Mysql模板已经成功加入Zabbix server
在zabbix server图形界面中选择Template DBMysql: MySQL bandwidth
点击预览可以看到监控数据的图形
发现其监控项及其触发器图形都是很少的,这在企业中是远远不够的
进入agent目录下,查看配置文件
[root@server1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server1 zabbix_agentd.d]# cat userparameter_mysql.conf
通过上面这个文件可以看到,我们新建的配置文件写两部分 mysql 和mysqladmin
因为本机默认server是localhost,所以两部分的这个都不用写
[root@server1 zabbix_agentd.d]# mkdir /var/lib/zabbix #上面的目录没有,我们需要手动建立
[root@server1 zabbix_agentd.d]# cd /var/lib/zabbix/
[root@server1 zabbix]# ll /etc/my.cnf
-rw-r--r--. 1 root root 570 Sep 21 2016 /etc/my.cnf
[root@server1 zabbix]# vim .my.cnf #为了保证数据库配置的安全性,我们将该文件设置为隐藏文件
[mysql]
user = zabbix #ps ax 看到的zabbix_server 的用户就是zabbix,所以不用root,太大
password = redhat
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
user = zabbix
password = redhat
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
获取模板,percona是开源的mysql分析工具,安装
[root@server1 ~]# ls 4.0
percona-zabbix-templates-1.1.8-1.noarch.rpm zabbix-api
[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
复制percona的监控模板到被监控的服务器也就是server1上的zabbix-agent的相应目录下
[root@server1 ~]# cd /var/lib/zabbix/percona/scripts #脚本
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# cd /var/lib/zabbix/percona/templates #模版
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# wc -l userparameter_percona_mysql.conf #监控项的个数 共190 190 userparameter_percona_mysql.conf [root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@server1 templates]# systemctl restart zabbix-agent
percona的脚本是由php编写的, 需要准备好php的运行环境,将zabbix的数据库和密码都写入php脚本中
(也可以修改文件ss_get_mysql_stats.php )
[root@server1 templates]# cd -
/var/lib/zabbix/percona/scripts
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg #读取/tmp/localhost-mysql_cacti_stats.txt 文件中gg对应的值。
[root@server1 scripts]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gq
[root@server1 scripts]# cd /tmp/
[root@server1 tmp]# ls localhost-mysql_cacti_stats.txt
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt
[root@server1 tmp]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# ls
userparameter_mysql.conf userparameter_percona_mysql.conf
[root@server1 zabbix_agentd.d]# vim userparameter_percona_mysql.conf
删除监控项文件,让系统自动生成
向zabbix监控的web界面中导入监控mysql的模版percona
选择导入
可以看到,这个Percona 模板能够监控191项MySQL的信息
删除之前的链接的系统自带的mysql模板
加入Percona的模板
更新完成,查看zabbix server的监控项,可以看到导入percona模板后的监控项数量变为293个,监控项,图形,触发器数量大大增加
更有利于我们在生产环境中对数据库进行全面监控