• mysql mpm


    mysql mpm

    参考文章

    http://www.myexception.cn/mysql/1968274.html

    http://www.linuxidc.com/Linux/2013-07/86965.htm

    http://bbs.csdn.net/topics/390831931

    http://634871.blog.51cto.com/624871/1382835/


    mpm官网:http://www.fromdual.com/

    1、安装部署Zabbix



    2、MPM(PERFORMANCE MONITOR FOR MYSQL)依赖的相关Perl模块安装:
    # yum install -y perl-File-Which perl-libwww-perl perl-Digest-SHA1 perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay  zabbix-sender
    下载MPM并解压
    解压缩软件包后,会发现有两个文件mysql_performance_monitor_agent-0.9.3.tar.gz和mysql_performance_monitor_templates-0.9.3.tar.gz。
    其中mysql_performance_monitor_agent-0.9.3.tar.gz是放在监控机器上的配置信息
    mysql_performance_monitor_templates-0.9.3.tar.gz则是要让我们导入到zabbix server的模板数据。


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


    server端配置

    3、Zabbix Web UI导入MPM模板
    MPM模板:

    # tar zxvf mysql_performance_monitor_templates-0.9.1.tar.gz

    # sz mysql_performance_monitor_templates-0.9.1.tar.gz


    # cd mysql_performance_monitor_templates-0.9.1/xml
    在Zabbix Web UI导入监控所需的模板(“Configuration”->”Templates”->”Import”):
    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状态)

    MPM其它用途的模板:
    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设备状态信息)



    创建 Host groups,例如随便一个名字:GZNWMySQL
    将已有的mysql机器(GZNWX-CASH-DB01)加入到GZNWMySQL组


    值得注意的是:Hostname必须与MPM agent配置中的所使用的一致

    Template_FromDual.MySQL.mpm.xml (监控mpm agent本身,这个必须导入)
    Template_FromDual.MySQL.server.xml (监控Linux系统跟数据库使用相关的附加项)
    Template_FromDual.MySQL.mysql.xml (监控MySQL常用状态变量)
    Template_FromDual.MySQL.innodb.xml (监控InnoDB存储引擎状态变量)
    Template_FromDual.MySQL.process.xml (监控各种Linux进程[比如:mysqld,ndbd])


    将上面的这个5个模板关联到GZNWX-CASH-DB01



    agent端配置

    安装MPM和配置MPM Agent的Zabbix Keys
    安装MPM:

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

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

    # tar zxvf mysql_performance_monitor_agent-0.9.1.tar.gz
    # mv mysql_performance_monitor_agent-0.9.1 /usr/local/mysql_performance_monitor-agent





    将MPM Agent的Keys配置添加到Zabbix Agentd配置文件中

    cat >> /etc/zabbix/zabbix_agentd.conf << EOF
    UnsafeUserParameters=1
    UserParameter=FromDual.MySQL.check,/usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /etc/zabbix/FromDualMySQLagent.conf
    EOF






    配置MPM Agent:
    cd /usr/local/mysql_performance_monitor-agent/etc
    cp FromDualMySQLagent.conf.template /etc/zabbix/FromDualMySQLagent.conf

    mkdir -p /var/log/zabbix /var/log/zabbix/cache
    chown -R zabbix:zabbix /var/log/zabbix /var/log/zabbix/cache
    给予zabbix对mysql的pid文件的读权限和MPM日志的权限
    chmod o+r /data/mysql/mysql3306/tmp/mysql.pid
    touch /var/log/zabbix/FromDualMySQLagent.log
    chown -R zabbix:zabbix /var/log/zabbix

    修改MPM配置文件
    [root@oneproxy-vm zabbix]# cat /etc/zabbix/FromDualMySQLagent.conf

    cat /etc/zabbix/FromDualMySQLagent.conf


    [default]

    # Type of section:
    # mysqld for a normal MySQL database
    # ndbd for a MySQL cluster
    Type = mysqld

    # Debug levels are:
    # 1 is logging only errors
    # 2 is logging errors and warnings (this is the default)
    # 3 logs some informations messages as well
    # 4 logs everything (for debugging purposes only)

    Debug = 2
    LogFile = /var/log/zabbix/FromDualMySQLagent.log
    # Directory where the Cache files should be written to:
    CacheFileBase = /var/log/zabbix/cache/FromDualAgentCache

    # If you agent is not located in the same time zone as your server
    # TimeShift = +0.0

    # Information for MySQL connections:
    Username = zabbix
    Password = zabbix
    MysqlHost = 127.0.0.1
    MysqlPort = 3306

    # Zabbix Server IP address
    ZabbixServer = 192.168.0.22


    # If section is disabled
    Disabled = false

    # Possible modules for databases are:
    # process mysql myisam aria innodb pbxt ndb master slave drbd galera memcache
    # Possible modules for servers are:
    # mpm server
    # Usual modules are
    Modules = server mysql innodb process

    # Special parameter which is used for module ndb and process
    ClusterLog = /var/lib/mysql-cluster/ndb_1_cluster.log
    PidFile = /ngbs/data/GZNWX-CASH-DB01.pid


    # If you want to use Monitoring as a Service:

    # MaaS = on
    # Hash = <enter hash value we provide you>
    # Methodes are: direct, http, email. Currently only http works
    # Methode = http
    # Url = http://support.fromdual.com/maas/receiver.php

    #[db_server]

    #Type = mysqld
    #Modules = server mysql innodb process


    # All MySQL databases here
    # Try to avoid section names with spaces!

    [GZNWX-CASH-DB01] # This MUST match Hostname in Zabbix!

    Type = mysqld

    MysqlPort = 3306
    Modules = server mysql innodb process
    PidFile = /ngbs/data/GZNWX-CASH-DB01.pid

    # [mysql-5.1.41-ndb-7.0.13] # This MUST match Hostname in Zabbix!
    #
    # Type = mysqld
    #
    # MysqlPort = 3306
    # Modules = slave
    # PidFile = /var/lib/mysql/db_server.pid
    # Debug = 0
    # Disabled = false

    # [mariadb-5.2.0] # This MUST match Hostname in Zabbix!
    #
    # Type = mysqld
    #
    # MysqlPort = 3306
    # Modules = pbxt
    # PidFile = /var/lib/mysql/db_server.pid

    # All MySQL clusters here

    # [cl_2_3] # This MUST match Hostname in Zabbix!
    #
    # Disabled = false
    #
    # Type = ndbd
    # ClusterLog = /usr/local/mysql-cluster/ndb_1_cluster.log
    #
    # Modules = ndb process
    #
    # MysqlHost = 127.0.0.1
    # MysqlPort = 3306




    重启zabbix-agent即可
    /etc/init.d/zabbix-agent restart




    MPM agent 文件的配置要对应Zabbix agent文件的配置








    sender
    修改FromDualMySQLagent.pl中的zabbix_sender的路径:
    # cd /usr/local/mysql_performance_monitor-agent/
    # sed -i 's#/usr/local/bin#/usr/local/zabbix/bin/#g' FromDualMySQLagent.pl




    查看日志FromDualMySQLagent.log


    问题一 :[Z3001] connection to database 'zabbix' failed:
    在被监控机器加用户
    grant all privileges on *.* to zabbix@'%' identified by 'zabbix'

    问题二: 要写被监控主机名
    cat /etc/zabbix/FromDualMySQLagent.conf

    [GZNWX-CASH-DB01] # This MUST match Hostname in Zabbix! 被监控主机的名字,跟zabbix里的host的名字要一致

    Type = mysqld

    MysqlPort = 3306
    Modules = server mysql innodb process
    PidFile = /ngbs/data/GZNWX-CASH-DB01.pid 被监控主机的mysql的pid文件


    问题三:测试
    测试,返回1则正常
    在被监控机器上执行一下
    /usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /etc/zabbix/FromDualMySQLagent.conf

    在zabbix服务器上执行一下
    zabbix_get -s 192.168.0.21 -p10050 -k "FromDual.MySQL.check"


    问题四:Load of cache file failed. rc=1301

    1、删除cache目录下所有文件并重启zabbix-agentd
    rm -f /var/log/zabbix/cache/*


    2、注释源码
    vi /usr/local/mysql_performance_monitor-agent/lib/sendData.pm
    $rc = &FromDualMySQLagent::checkConnectionToZabbixServer($main::gParameter{'ZabbixServer'}, $main::gParameter{'ZabbixServerPort'}, $main::gParameter{'Hostname'});

    3、cat /etc/zabbix/FromDualMySQLagent.conf 里面Modules不能写mpm
    Modules = server mysql innodb process

  • 相关阅读:
    POJ 3368.Frequent values
    HDOJ 1166.敌兵布阵
    javaWeb之文件下载
    javaWeb之文件上传
    centos系统下忘记了root密码怎么办?
    如何在centos下挂载与卸载磁盘
    验证码生成(java版本)
    javaweb怎么过滤乱码
    mysql修改默认字段大小
    我所知道的命名方式(软件)
  • 原文地址:https://www.cnblogs.com/MYSQLZOUQI/p/6647041.html
Copyright © 2020-2023  润新知