使用Zabbix + MPM全面監控MySQL

Zabbix和MPM監控MySQL

  • 環境說明

    A: 192.168.1.190, 系統CentOS 6.3,部署Zabbix Server
    B: 192.168.1.191, 系統CentOS 6.3,部署Zabbix Agent, MySQL 5.5.29 (MySQL Slave)

  • MPM/Zabbix監控結構及部署步驟

    MPM/Zabbix監控結構:

    mpm_arch

    MPM/Zabbix監控MySQL的大概步驟如下:

    • 安裝部署Zabbix

    • 下載安裝MPM(Performance Monitor for MySQL)及其依賴的Perl模塊

    • 導入MPM模板

    • 創建host group(可選)

    • 創建host (即MPM agent配置中的database)
      值得注意的是:Hostname必須與MPM agent配置中的所使用的一致

    • 將選擇的模板關聯到創建的host

    • 配置MPM agent

    • 將MPM agent”掛鉤”到Zabbix agent
      # cat /path_to_zabbix_agent_conf/zabbix_agentd.conf
      UserParameter=FromDual.MySQL.check,/path_to_mpm_agent/FromDualMySQLagent.pl \
      /path_to_mpm_agent_conf/FromDualMySQLagent

    • 重啓Zabbix agent

  • 安裝部署Zabbix

    請參考《安裝部署分佈式監控系統Zabbix 2.06》 http://www.linuxidc.com/Linux/2013-07/86942.htm

  • 注意:以下操作都是在被監控端執行的。

  • MPM下載及其依賴安裝 

    MPM(PERFORMANCE MONITOR FOR MYSQL)依賴的相關Perl模塊安裝:
     yum install perl-File-Which perl-libwww-perl perl-Digest-SHA1 perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay
    下載MPM並解壓:
    wget -c http://www.shinguz.ch/download/mysql_performance_monitor-latest.tar.gz
    tar zxvf mysql_performance_monitor-latest.tar.gz

  • Zabbix Web UI導入MPM模板

    MPM模板:
    tar zxvf mysql_performance_monitor_templates-0.9.1.tar.gz
    cd mysql_performance_monitor_templates-0.9.1/xml

         注意:導入模板前可以先將這些模板保存到windows下,然後在zabbix web界面進行導入。

  • 在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設備狀態信息)

  • 安裝MPM和配置MPM Agent的Zabbix Keys

    安裝MPM:

    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

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

    cd /usr/local/mysql_performance_monitor-agent/
    sed -i 's|/usr/local/bin|/usr/local/zabbix/bin/|g' FromDualMySQLagent.pl

    將MPM Agent的Keys配置添加到Zabbix Agentd配置文件目錄中:

    cd /usr/local/zabbix/etc/zabbix_agentd.conf.d
    vi FromDual_MySQL_monitoring.conf
    # cat FromDual_MySQL_monitoring.conf
    UserParameter=FromDual.MySQL.check,/usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /usr/local/mysql_performance_monitor-agent/etc/FromDualMySQLagent.conf
  • MPM Agent配置

    創建MySQL監控用戶mpm:

    mysql> create user 'mpm'@'127.0.0.1' identified by '123456';
    mysql> grant process, replication client on *.* to 'mpm'@'127.0.0.1';
    mysql> flush privileges;

    配置MPM Agent:

    cd /usr/local/mysql_performance_monitor-agent/etc
    cp FromDualMySQLagent.conf.template FromDualMySQLagent.conf
    mkdir -p /var/log/zabbix
    mkdir -p /var/log/zabbix/cache
    touch /var/log/zabbix/FromDualMySQLagent.log
    chown -R zabbix:zabbix /var/log/zabbix
    chmod o+r /var/run/mysqld/mysqld.pid #這裏要根據自己實際情況進行修改
    vi FromDualMySQLagent.conf
    # cat 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     = mpm
    Password     = 123456
    MysqlHost    = 127.0.0.1
    MysqlPort    = 3306
    
    # Zabbix Server IP address 需要修改
    ZabbixServer = 192.168.1.190
    
    # 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      = process mysql myisam innodb
    
    # Special parameter which is used for module ndb and process
    ClusterLog   = /var/lib/mysql-cluster/ndb_1_cluster.log
    # MySQL Pid file, need read permission for zabbix user
    PidFile      = /var/run/mysqld/mysqld.pid #這裏也需要修改
    
    [db_server]
    
    Type         = mysqld
    Modules      = mpm server
    
    
    # All MySQL databases here
    # Try to avoid section names with spaces!
    
    [192.168.1.191_MySQL_5.5.29]   # This MUST match Hostname in Zabbix! 注意:該行及以下的幾行需要取消註釋
    Type         = mysqld
    MysqlPort    = 3306
    Modules      = process mysql myisam innodb slave
    PidFile      = /var/run/mysqld/mysqld.pid
    Debug        = 1

    注:這裏監控的MySQL Server是MySQL主從複製的中的Slave機器.

  • 開始監控MySQL
    Zabbix Web UI創建host (192.168.1.191_MySQL_5.5.29):

  • host_mysql_1

    host_mysql_2

    重啓Zabbix Agentd:

    # /etc/init.d/zabbix_agentd restart

    Zabbix Web UI的”Monitoring”->”Latest data”可以查看監控情況:

    mpm_snapshot

    推薦閱讀:

    CentOS 6.3下Zabbix安裝部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

    Zabbix分佈式監控系統實踐 http://www.linuxidc.com/Linux/2013-06/85758.htm

    CentOS 6.3下Zabbix監控apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

    CentOS 6.3下Zabbix監控MySQL數據庫參數 http://www.linuxidc.com/Linux/2013-05/84800.htm

    更多關於ZABBIX 的詳細信息,或者下載地址請點這裏


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章