实现zabbix监控mysql服务
给zabbix-server添加自带的mysql监控项
- 步骤如下:
- 发现其监控项及其触发器图形都是很少的,这在企业中是远远不够的。
导入自己的mysql服务的监控模版
server1(zabbix server)
- 进入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 = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[root@server1 zabbix]# systemctl restart zabbix-agent
- 获取模版,percona是开源的mysql分析工具,安装。
[root@server1 ~]# lftp 172.25.24.24
lftp 172.25.24.24:~> cd pub/zabbix/
lftp 172.25.24.24:/pub/zabbix> get percona-zabbix-templates-1.1.8-1.noarch.rpm
[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 scripts]# 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 = 'westos';
- 测试percona的监控脚本并且过滤监控项。
[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
@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
- 删除监控项文件,让系统自动生成。
[root@server1 tmp]# rm -fr localhost-mysql_cacti_stats.txt
- 向zabbix监控的web界面中导入监控mysql的模版percona。
- 选择导入。
- 存放路径。
- 删除之前的链接的系统自带的mysql模版。
- 更新完成,查看zabbix server的监控项,可以看到导入percona模版后的监控项数量变为297个,监控项,图形,触发器数量大大增加,更有利于我们在生产环境中对数据库进行全面监控。