Mysql监控
zabbix自带了一个监控mysql的模板,可是真正监控mysql的并非zabbix自带的模板。而是percona
公司的一个监控mysql模板
percona官网: www.percona.comphp
Percona组成介绍html
一、php脚本 用来数据采集 二、shell脚本 用来调用采集信息 三、zabbix配置文件 四、zabbix模板文件
安装文档:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
percona
利用的是php来获取mysql
的相关信息,因此若是咱们想使用percona
插件监控mysql
就须要在agent
端安装php
。在安装文档上有写哦~ node
安装步骤: 查看上面的连接也能够进行安装
咱们安装在zabbix-server上,由于上面有一个MySQLmysql
[root@linux-node1 web]# yum install [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模板下载下来linux
[root@linuxnode1 web]# sz /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml
而后咱们须要将模板经过web
界面导入到zabbix中
提示:若是出现错误,多是zabbix 3.0版本的问题。咱们这里提供了一个生产的模板
下载连接:http://pan.baidu.com/s/1pLjKvxh 密码:75g0
而后重新上传便可web
复制配置文件sql
[root@linuxnode1 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
建立一个文件docker
[root@linux-node1 ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf<?php $mysql_user = 'root'; $mysql_pass = ''; #用户名密码能够本身建立,有密码写密码,没密码为空就行了
提示: 正常这里的用户咱们应该建立一个专门用来监控的,因为我这里是测试环境。就不浪费时间了shell
查看是否能够获取到值,随便找一个测试数据库
[root@linuxnode1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf 选择一个确定有值的key [root@linuxnode1 ~]# 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受权的一些问题