原文:https://blog.csdn.net/yanggd1987/article/details/79656771

简介

之前主要使用nagios监控mysql,本文主要介绍使用percona-monitoring-plugins监控mysql,percona监控插件是php开发,因此要在agent安装php环境。

配置安装

一.zabbix-agent端操作

1.安装软件依赖

yum install php php-mysql -y
  • 1

2.安装percona插件

#centos 6
rpm -Uvh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/6/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
#centos 7
rpm -Uvh https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
  • 1
  • 2
  • 3
  • 4

3.复制配置文件至zabbix_agent相关目录下

cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
#重启生效
service zabbix-agent restart
  • 1
  • 2
  • 3

4.数据库添加只读账户

grant process,super,replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';
  • 1

由于监控mysql需要使用show processlist 及主从相关命令,因此需要给zabbix权限以process,super,replication client等权限。

5.修改脚本参数

vim  /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'zabbix';
$mysql_pass = 'zabbix';
$mysql_port = 3306;
$mysql_socket = '/tmp/mysql.sock';
$mysql_flags = 0;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

以上参数需要根据实际情况填写

6.修改日志权限

chown -R zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt 
  • 1

7.测试

#在zabbix agent上测试MySQL.Threads-connected
[root@test83 scripts]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh iu
77
#在zabbix server上测试
[root@test250 ~]# /App/zabbix/bin/zabbix_get -s 10.10.5.83 -k MySQL.Threads-connected
77
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

若输出正常,则表明percona-monitoring-plugins配置成功。下一步我们需要安装模板。

二.zabbix-server端操作 
1.导入监控模板 

导入”zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml”报如上错误,原因原来的模板在3.x 使用有问题,需要将模板导入到2.4中再到处即可。 
2.给客户端添加模板,在此我们不多做说明了。

解决方案:

手动修改模板文件解决报错比较麻烦,有人提到可以将此模板导入 Zabbix 2.X 系列后,再导出到 Zabbix 3.0。
这里我们直接使用现成可用的 Zabbix 3.X 的 percona-zabbix-templates 
zbx_percona_mysql_template.xml 模板地址

三.监控mysql主从 
在slave节点上操作: 
1.权限需提升

#若只分配select权限,需进一步提升权限
grant process,super,replication client on *.* to 'zabbix'@'localhost' identified by 'zabbix';
  • 1
  • 2

2.修改脚本

vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -uzabbix -pzabbix -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
#修改后测试
[root@test83 ~]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
Warning: Using a password on the command line interface can be insecure.
1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我们看到会输出”Warning: Using a password on the command line interface can be insecure.” 
因此我们需要需要在/etc/my.cnf中添加如下:

[client]
port = 3306
socket = /tmp/mysql.sock
user = zabbix
password = zabbix
  • 1
  • 2
  • 3
  • 4
  • 5

然后再次将脚本更改为:

vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
#测试
[root@test83 ~]# bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

经如上更改后,zabbix就会监控mysql主从,当然我们需要在master节点上将模板中的关于slave的监控项禁用,以便只监控slave节点的同步情况即可。

(转)zabbix3.4使用percona-monitoring-plugins监控mysql的更多相关文章

  1. Zabbix 3.x中使用Percona Monitoring Plugins监控MySQL

    1.下载安装percona-zabbix-templates-1.1.7-2.noarch.rpm 下载地址:https://www.percona.com/downloads/percona-mon ...

  2. Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL

    1.先安装agent客户端 tar zxvf zabbix-3.2.6.tar.gz cd zabbix-3.2.6 ./configure --prefix=/data/zabbix --enabl ...

  3. 用percona monitoring plugins 监控mysql

    下载:http://www.percona.com/redir/downloads/percona-monitoring-plugins/1.1.1/percona-zabbix-templates- ...

  4. Docker部署Zabbix监控MariaDB主从同步(Percona Monitoring Plugins for Zabbix)

    一.安装Docker并部署Zabbix 建议先配置清华大学的docker-ce yum源,速度有保障:清华大学repo源 1.Zabbix Server节点配置 部署环境: [root@server0 ...

  5. Zabbix 3.2.6-Mysql多实例监控-Percona Monitoring Plugins自动发现

    mysql多实例监控实录   系统环境: cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 内核版本: uname -r 3.1 ...

  6. 修正Percona Monitoring Plugins for Zabbix的一处脚本Bug

    今天小试了一把Percona Monitoring Plugins for Zabbix模板,自己辛辛苦苦写的那一大堆Python脚本,貌似用这个模板全都覆盖到了.但是,我也发现最新的版本percon ...

  7. zabbix4.0 percona插件实现监控mysql

    percona是一款能够详细监控zabbix MySQL的插件 官方下载percona插件 wget https://www.percona.com/downloads/percona-monitor ...

  8. Download Percona Monitoring Plugins

    https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

  9. 关于 percona monitoring plugins插件报slave is stoped on ip地址

    思路:肯定是某个item触发了触发器 去看触发器,找到 slave is stoped,如下图 看到键是mysql.running-slave ,然后去定义key的文件中查看该键对应的脚本,修改脚本. ...

  10. zabbix3.2使用自带模板监控MySql

    一.zabbix自带MySql模板监控项 Zabbix3.0之后已经有MySql监控模板了,所以我们只要引用ZabbixServer自带的模板即可.zabbix默认有14个监控项 我们只需获取监控项需 ...

随机推荐

  1. 用Swift实现一款天气预报APP(二)

    这个系列的目录: 用Swift实现一款天气预报APP(一) 用Swift实现一款天气预报APP(二) 用Swift实现一款天气预报APP(三) 上篇中主要讲了界面的一些内容,这篇主要讨论网络请求,获得 ...

  2. LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS

    最强GAN图像生成器,真假难辨 论文地址: https://openreview.net/pdf?id=B1xsqj09Fm 更多样本地址: https://drive.google.com/driv ...

  3. java并发编程实战:第八章----线程池的使用

    一.在任务和执行策略之间隐性耦合 Executor框架将任务的提交和它的执行策略解耦开来.虽然Executor框架为制定和修改执行策略提供了相当大的灵活性,但并非所有的任务都能适用所有的执行策略. 依 ...

  4. hdu 4281 Judges' response(多旅行商&DP)

    Judges' response Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. Tomcat 配置用户认证服务供C#客户端调用

    项目里,遇到的一个小问题来好好的总结一下.因为我们这个项目是用Java写的服务端发布WebService,客户端呢使用C#来调用WebService(本人以前搞过一段时间C#客户端,还总结了一个MVP ...

  6. MVC v5.1 Preview 包含 web api 2.1 web pages 3.1

    Includes ASP.NET MVC 5.1, Web API 2.1, and Web Pages 3.1 preview release. This was released marked a ...

  7. angular 程序架构

  8. MVC ViewData与ViewBag的区别

    一.ViewData 1.ViewData派生自ViewDataDictionary,所以它具有字典的属性,例如:ContainsKey .Add .Remove 和 Clear : 2.字典键值是字 ...

  9. C++ windows进程间通信

    最近一直在找共享内存同步的操作,恰好这篇文章有讲解.本文转载:https://blog.csdn.net/bing_bing_bing_/article/details/82875302 方便记录,c ...

  10. php foreach 遍历细节探讨

    foreach 也是正常的语法循环结构,可以有 break 和 continue 等操作 遍历过程中值变量传递默认是值传递 输出结果为: 遍历过程中值变量可以认为设定为引用传递:foreach($数组 ...