Zabbix 监控 Mysql数据
Zabbix自带了一个监控Mysql的模板,但是真正监控Mysql的并不是Zabbix自带的模板。而是Percona公司的一个监控Mysql模板
Percona官网: Www.Percona.Com
Percona组成介绍
Php脚本 #用来数据采集
Shell脚本 #用来调用采集信息
Zabbix配置文件
Zabbix模板文件
Zabbix的Percona监控插件使用说明
安装步骤: 查看上面的链接也可以进行安装
一、安装Percona 插件
我们安装在Zabbix-Server上,因为上面有一个Mysql
[root@linux-node1 web]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
[root@linux-node1 web]# yum install percona-zabbix-templates php php-mysql -y
#percona插件是通过php去获取mysql的参数,所以我们要安装php和php-mysql
我们可以查看它都安装了那些软件
[root@linux-node1 web]# rpm -ql percona-zabbix-templates
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh #shell脚本
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php #php获取mysql信息
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #zabbix配置文件
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml #zabbix模板文件
在percona组成我们已经说过了,此处只是略微介绍。
二、下载zabbix 模板并导入
百度云失效,已放入QQ群共享文件
进入QQ群
---->共享文件
--->搜索 zbx_mysql
下载即可使用
[root@linux-node1 web]#cp /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml{,.bak}
##备份原有配置文件
然后我们将百度云下载的模板通过web
界面导入到zabbix中
三、复制配置文件
[root@linux-node1 web]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@linux-node1 web]# ls /etc/zabbix/zabbix_agentd.d/
#安装完软件包后会在/var/lib/zabbix/percona/templates/目录下产生一个配置文件,我们将它拷贝,因为在前面的博文中,我们已经修改过zabbix的配置文件[Include=/etc/abbix/zabbix_agentd.d/
] 所以将配置文件放在这个目录下,zabbix就会自己在这个目录下查找相关信息
[root@linux-node1 web]# systemctl restart zabbix-agent.service
重启一下!
四、配置与MySQL的连接
在/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
创建一个文件
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = '';
#用户名密码可以自己创建,有密码写密码,没密码为空就好了
五、测试
查看是否可以获取到值,随便找一个测试
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
选择一个肯定有值的key
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf|grep gm
UserParameter=MySQL.read-views,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gm
测试结果如下:
[root@linux-node1 ~]# cd /var/lib/zabbix/percona/scripts/
[root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gm
1
[root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gw
9736342
可以获取到值,说明没有问题
温馨提示: shell脚本中数据库的路径是localhost
,如果我们没有授权localhost
会获取不到值
[root@linux-node1 scripts]# cat get_mysql_stats_wrapper.sh
HOST=localhost
RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
#mysql是通过命令来获取的,如果环境变量不一样 也可能造成影响
六、Zabbix_Web界面配置
模板已经上传到zabbix中,这时候我们就需要进行设置了
提示: 我们还需要授权/tmp下的一个文件,因为默认情况下 zabbix在文件中获取的值
修改完就可以获取值了,所以我们还需要测试
结果如下图
排查套路:
如果出现错误我们需要先查看shell的脚本,因为shell是去调用php。 错误的因素有很多,最简单的方法就是用shell 后面加上key 看看是否可以有值。
其中报错最多的地方就是php和mysql连接的问题,还有我们mysql授权的一些问题。
至此 MYSQL监控介绍完成,了解更多 Zabbix相关文章
- QQ精品交流群
-
- 微信公众号
-