首页 > 代码库 > zabbix mpm 监控 mysql性能

zabbix mpm 监控 mysql性能

一、环境说明

      zabbix 2.2 in Centos 6.4 64bit

二、MPM(MySQL Performance Monitor)安装

    1.依赖模块

        yum install perl-File-Which perl-libwww-perl perl-Digest-SHA1 perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay

     2. MPM安装部署

         wget -c http://www.shinguz.ch/download/mysql_performance_monitor-latest.tar.gz

         解压源码包,分两大部分,一部分是模板需要在ZABBIX平台导入,一部分是采集程序

         #tar -zxvf mysql_performance_monitor-latest.tar.gz  

         mysql_performance_monitor_agent-0.9.1.tar.gz   #采集程序

         mysql_performance_monitor_templates-0.9.1.tar.gz  #模板

         解压模板,并导入zabbix平台

         #tar -zxvf mysql_performance_monitor_templates-0.9.1.tar.gz

         Template_FromDual.MySQL.mpm.xml (监控mpm agent本身,这个必须导入)

         Template_FromDual.MySQL.server.xml (监控Linux系统跟数据库使用相关的附加项)

         Template_FromDual.MySQL.process.xml (监控各种Linux进程[比如:mysqld,ndbd])

         Template_FromDual.MySQL.mysql.xml (监控MySQL常用状态变量)

         Template_FromDual.MySQL.innodb.xml (监控InnoDB存储引擎状态变量)

         Template_FromDual.MySQL.myisam.xml (监控MyISAM存储引擎状态变量)

         Template_FromDual.MySQL.master.xml (监控MySQL主从复制的Master状态)

         Template_FromDual.MySQL.slave.xml (监控MySQL主从复制的Slave状态)

          Template_FromDual.MySQL.ndb.xml (监控MySQL Cluster)

          Template_FromDual.MySQL.galera.xml (监控MySQL Galera Cluster)

          Template_FromDual.MySQL.pbxt.xml (监控PBXT存储引擎状态变量)

          Template_FromDual.MySQL.aria.xml (监控Aria存储引擎的状态变量)

          Template_FromDual.MySQL.drbd.xml (监控DRBD设备状态信息)

  1.   MPM agent 安装

  2.   # tar zxvf mysql_performance_monitor_agent-0.9.1.tar.gz

       # mv mysql_performance_monitor_agent-0.9.1 /usr/local/zabbix/script/mpm

       修改FromDualMySQLagent.pl中的zabbix_sender的路径:

       cd /usr/local/zabbix/script/mpm

       sed -i ‘s|/usr/local/bin|/usr/local/zabbix/bin/|g‘ FromDualMySQLagent.pl

       修改配置文件

       cp /usr/local/zabbix/script/mpm/etc/FromDualMySQLagent.conf.template /usr/local/zabbix/etc/zabbix_mpm.conf

      cat zabbix_mpm.conf

       

    [default]

    Type         = mysqld

    Debug         = 2

    LogFile       = /var/log/zabbix/FromDualMySQLagent.log

    # Directory where the Cache files should be written to:

    CacheFileBase = /var/log/zabbix/cache/FromDualAgentCache


    # Information for MySQL connections:

    Username     = user

    Password     = password

    MysqlHost    = 127.0.0.1

    MysqlPort    = 3306


    # Zabbix Server IP address

    ZabbixServer = 10.6.9.8


    # If section is disabled

    Disabled     = false


    Modules      = process mysql myisam innodb


    # Special parameter which is used for module ndb and process

    ClusterLog   = /var/lib/mysql-cluster/ndb_1_cluster.log

    PidFile      = /var/lib/mysql/mysqld.pid


    # All MySQL databases here

    # Try to avoid section names with spaces!


    [10.58.50.49]          # This MUST match Hostname in Zabbix!


    Type         = mysqld


    MysqlPort    = 3306

    Modules      = process mysql myisam slave

    PidFile      = /data/mysql/data/mysql.pid #mysql server pid

       

        将mpm添加到zabbix_agentd.conf

          ##*****Mysql Performance**********

          UserParameter=FromDual.MySQL.check,/usr/local/zabbix/script/mpm/FromDualMySQLagent.pl /usr/local/zabbix/etc/zabbix_mpm.conf

       新建日志目录

        # mkdir -p /var/log/zabbix/cache  

        # 手动创建日志文件:  

        #touch /var/log/zabbix/FromDualMySQLagent.log  

        # 修改目录权限:  

        #chown zabbix.zabbix /var/log/zabbix/ -R  

        #chmod o+r  /data/mysql/data/mysql.pid

        重启zabbix agentd 

        /etc/init.d/zabbix_agentd restart

       测试: 

        # /usr/local/zabbix/script/mpm/FromDualMySQLagent.pl  /usr/local/zabbix/etc/zabbix_mpm.conf

        返回值为1:表示MPM插件正常,重启zabbix_agent,加载mpm插件 

  3. ERROR处理

      <1> WARN:       Connection to zabbix server failed (rc=1305)!           

          vim /usr/local/zabbix/script/mpm/lib/sendData.pm  

          # 注释掉的语句如下:   

         $rc =&FromDualMySQLagent::checkConnectionToZabbixServer($main::gParameter{‘ZabbixServer‘}, $main::gParameter{‘ZabbixServerPort‘}, $main::gParameter{‘Hostname‘});  

          


本文出自 “水草” 博客,请务必保留此出处http://961911.blog.51cto.com/951911/1568491

zabbix mpm 监控 mysql性能