Zabbix 3.0 监控MySQL [六]

摘要

Zabbix 监控MySQL 介绍

Zabbix 3.0 监控MySQL [六]

2016年10月9日18:25:29
zabbix
笔者QQ:381493251
博客地址:www.abcdocker.com
微信公众号:abcdocker
Abcdocker交流群:454666672
如果遇到什么问题可以进群询问,我们是一个乐于帮助的集体!

Mysql监控
  zabbix自带了一个监控mysql的模板,但是真正监控mysql的并不是zabbix自带的模板。而是percona公司的一个监控mysql模板
 percona官网: www.percona.com

Percona组成介绍

1、php脚本    用来数据采集
2、shell脚本  用来调用采集信息
3、zabbix配置文件
4、zabbix模板文件

安装文档:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
  percona 利用的是php来获取mysql的相关信息,所以如果我们想使用percona插件监控mysql就需要在agent端安装php。在安装文档上有写哦~
1.png-135.5kB

安装步骤: 查看上面的链接也可以进行安装
我们安装在zabbix-server上,因为上面有一个MySQL

  1. [root@linux-node1 web]# yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
  2. [root@linux-node1 web]# yum install percona-zabbix-templates php php-mysql -y
  3. #percona插件是通过php去获取mysql的参数,所以我们要安装php和php-mysql
  4. 我们可以查看它都安装了那些软件
  5. [root@linux-node1 web]# rpm -ql percona-zabbix-templates
  6. /var/lib/zabbix/percona
  7. /var/lib/zabbix/percona/scripts
  8. /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh #shell脚本
  9. /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php #php获取mysql信息
  10. /var/lib/zabbix/percona/templates
  11. /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #zabbix配置文件
  12. /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml #zabbix模板文件
  13. percona组成我们已经说过了,此处只是略微介绍。

我们将zabbix模板下载下来

  1. [root@linux-node1 web]# sz /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml

  然后我们需要将模板通过web界面导入到zabbix中
2.png-310.6kB
2.png-90kB
提示:如果出现错误,可能是zabbix 3.0版本的问题。我们这里提供了一个生产的模板
下载链接:https://pan.baidu.com/s/1TgsPR3qjWyxjwKYQrz6fWQ 密码:u09h
然后从新上传即可

复制配置文件

  1. [root@linux-node1 web]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
  2. [root@linux-node1 web]# ls /etc/zabbix/zabbix_agentd.d/
  3. #安装完软件包后会在/var/lib/zabbix/percona/templates/目录下产生一个配置文件,我们将它拷贝,因为在前面的博文中,我们已经修改过zabbix的配置文件[Include=/etc/abbix/zabbix_agentd.d/
  4. ] 所以将配置文件放在这个目录下,zabbix就会自己在这个目录下查找相关信息
  5. [root@linux-node1 web]# systemctl restart zabbix-agent.service
  6. 重启一下!

下面就应该配置与MySQL的连接
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf创建一个文件

  1. [root@linux-node1 ~]# cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
  2. <?php
  3. $mysql_user = 'root';
  4. $mysql_pass = '';
  5. #用户名密码可以自己创建,有密码写密码,没密码为空就好了

提示: 正常这里的用户我们应该创建一个专门用来监控的,由于我这里是测试环境。就不浪费时间了

测试

查看是否可以获取到值,随便找一个测试

  1. [root@linux-node1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
  2. 选择一个肯定有值的key
  3. [root@linux-node1 ~]# cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf|grep gm
  4. UserParameter=MySQL.read-views,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gm
  5. 测试结果如下:
  6. [root@linux-node1 ~]# cd /var/lib/zabbix/percona/scripts/
  7. [root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gm
  8. 1
  9. [root@linux-node1 scripts]# ./get_mysql_stats_wrapper.sh gw
  10. 9736342
  11. 可以获取到值,说明没有问题

温馨提示: shell脚本中数据库的路径是localhost,如果我们没有授权localhost会获取不到值

  1. [root@linux-node1 scripts]# cat get_mysql_stats_wrapper.sh
  2. HOST=localhost
  3. RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
  4. #mysql是通过命令来获取的,如果环境变量不一样 也可能造成影响

Zabbix_Web界面配置
  模板已经上传到zabbix中,这时候我们就需要进行设置了
1.png-155.4kB
2.png-106.9kB
提示: 我们还需要授权/tmp下的一个文件,因为默认情况下 zabbix在文件中获取的值
3.png-60.7kB
修改完就可以获取值了,所以我们还需要测试
4.png-131.9kB

结果如下图
5.png-202.5kB
思想:
  如果出现错误我们需要先查看shell的脚本,因为shell是去调用php。 错误的因素有很多,最简单的方法就是用shell 后面加上key 看看是否可以有值。
  其中报错最多的地方就是php和mysql连接的问题,还有我们mysql授权的一些问题。

MYSQL监控 完!

weixin.gif-425.6kB


  • 4
  • 5,510 views
    A+
发布日期:2016年10月10日  所属分类:Zabbix
标签:
新闻联播老司机

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

  1. avatar 王诚 0
    我的php和mysql连接上出了问题 表示解决不了啊
    • avatar 新闻联播老司机
      写一个php连接mysql的php文件
  2. avatar 转身为墙 0
    您好,mysql模板连接失效了
    • avatar 新闻联播老司机
      已恢复!