• (转)zabbix3.4使用percona-monitoring-plugins监控mysql


    原文: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 STATUSG' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '
    ' ','`
    #修改后测试
    [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 STATUSG' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '
    ' ','`
    #测试
    [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节点的同步情况即可。

  • 相关阅读:
    python模块整理9ini配置ConfigParse模块
    python模块整理12pdb调试模块
    django临时
    django实战1使用视图和模板显示多行
    python模块整理10xml.dom.minidom模块
    django_book学习笔记1django介绍
    构建之法阅读笔记 01
    人月神话阅读笔记 06
    人月神话阅读笔记 05
    第四周学习进度
  • 原文地址:https://www.cnblogs.com/liujiacai/p/9063181.html
Copyright © 2020-2023  润新知