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/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.gzZabbix 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):重啓Zabbix Agentd:
# /etc/init.d/zabbix_agentd restart
Zabbix Web UI的”Monitoring”->”Latest data”可以查看監控情況:
推薦閱讀:
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