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、安装部署Zabbix2、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.gztar zxvf mysql_performance_monitor-latest.tar.gzserver端配置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-DB01agent端配置安装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=1UserParameter=FromDual.MySQL.check,/usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /etc/zabbix/FromDualMySQLagent.confEOF 配置MPM Agent:cd /usr/local/mysql_performance_monitor-agent/etccp FromDualMySQLagent.conf.template /etc/zabbix/FromDualMySQLagent.confmkdir -p /var/log/zabbix /var/log/zabbix/cachechown -R zabbix:zabbix /var/log/zabbix /var/log/zabbix/cache给予zabbix对mysql的pid文件的读权限和MPM日志的权限chmod o+r /data/mysql/mysql3306/tmp/mysql.pidtouch /var/log/zabbix/FromDualMySQLagent.logchown -R zabbix:zabbix /var/log/zabbix修改MPM配置文件[root@oneproxy-vm zabbix]# cat /etc/zabbix/FromDualMySQLagent.confcat /etc/zabbix/FromDualMySQLagent.conf
[default]# Type of section:
# mysqld for a normal MySQL database# ndbd for a MySQL clusterType = 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 = zabbixPassword = zabbixMysqlHost = 127.0.0.1MysqlPort = 3306# Zabbix Server IP address
ZabbixServer = 192.168.0.22 # If section is disabledDisabled = 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 areModules = server mysql innodb process# Special parameter which is used for module ndb and process
ClusterLog = /var/lib/mysql-cluster/ndb_1_cluster.logPidFile = /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 processPidFile = /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 restartMPM 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 processPidFile = /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=13011、删除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