设为首页 收藏本站
查看: 2678|回复: 0

[经验分享] zabbix+mpm监控mysql数据库

[复制链接]
累计签到:181 天
连续签到:1 天
发表于 2015-1-20 18:01:18 | 显示全部楼层 |阅读模式
MPM/Zabbix监控MySQL的大概步骤如下:
1、安装部署Zabbix
2、下载安装MPM(Performance Monitor for MySQL)及其依赖的Perl模块
3、导入MPM模板
4、创建host group(可选)
5、创建host (即MPM agent配置中的database)
6、值得注意的是:Hostname必须与MPM agent配置中的所使用的一致
7、将选择的模板关联到创建的host
8、配置MPM agent
9、将MPM agent”挂钩”到Zabbix agent
# cat /etc/zabbix/zabbix_agentd.conf
UserParameter=FromDual.MySQL.check,/opt/mysql_performance_monitor_agent-0.9.3/FromDualMySQLagent.pl /etc/zabbix/zabbix_agentd.conf.d/FromDualMySQLagent.conf
10、重启Zabbix agent


主要包含两部分:
1、zabbix 模板:Template_FromDual.MySQL.*.xml
2、MPM agent perl 模块:FromDualMySQL*.pm


安装方法:
一、先安装MPM
下面是在linux 6.4下安装,先安装如下包: copyright www.stuhack.com
yum install perl-File-Which perl-libwww-perl perl-Digest-SHA perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay
# 上面perl-File-Which没有自带,需要自行下载安装(如果还提示perl包,根据需要安装相应perl版本)
rpm -ivh perl-File-Which-1.09-5.1.noarch.rpm   


下载MPM并解压:
# wget -c http://www.shinguz.ch/download/m ... itor-latest.tar.gz# tar zxvf mysql_performance_monitor-latest.tar.gz
MPM模板:
# tar zxvf 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设备状态信息)


二、配置zabbix client
1、在客户端中解压相关脚本,并配置zabbix_agentd.conf文件,加入如下内容:
UserParameter=FromDual.MySQL.check,/opt/mysql_performance_monitor_agent-0.9.3/FromDualMySQLagent.pl /etc/zabbix/zabbix_agentd.conf.d/FromDualMySQLagent.conf


2、cp FromDualMySQLagent.conf.template /etc/zabbix/zabbix_agentd.conf.d/FromDualMySQLagent.conf
并修改相关内容: 内容来自学生黑客联盟
[default]
Type = mysqld
Debug = 2

LogFile = /tmp/FromDualMySQLagent.log
CacheFileBase = /tmp/FromDualAgentCache


Username = mqm
Password = mqmsecret
MysqlHost = 127.0.0.1
MysqlPort = 3306
ZabbixServer = x.x.x.x      #zabbix服务端IP
Disabled = false
Modules = process mysql innodb
#ClusterLog   = /var/lib/mysql-cluster/ndb_1_cluster.log  
# Mysql的PID文件,需要zabbix用户可读权限  
PidFile      = /opt/mysql/data/mysqld.pid  
#[db_server]  
#Type         = mysqld  
#Modules      = mpm server  
#下面的主机名需要跟Zabbix Server里面定义的主机名一致
[client]
Type = mysqld
Modules = process mysql innodb
#mysql server pid  
PidFile = /opt/mysql/data/mysql.pid


下面是监控用户在mysql数据库所需要的权限:
CREATE USER 'mpm'@'127.0.0.1' IDENTIFIED BY 'mpmsecret';
GRANT PROCESS ON *.* TO 'mpm'@'127.0.0.1';
GRANT REPLICATION CLIENT ON *.* TO 'mpm'@'127.0.0.1';


3、创建相关目录与文件,并加权限

touch /tmp/FromDualMySQLagent.log
chown zabbix:zabbix /tmp/FromDualMySQLagent.log
chmod o+r /opt/mysql/data/mysqld.pid


4、修改zabbix_send的在FromDualMySQLagent.pl脚本中的路径FromDualMySQLagent.pl中zabbix_sender的路径。sed -i 's|/usr/local/bin|/usr/local/zabbix/bin/|g' FromDualMySQLagent.pl


5、启动agentd
service zabbix_agentd restart


三、在zabbix服务端配置


1、导入相关的模板,其中Template_FromDual.MySQL.mpm.xml是必导的,其它可根据自己的需要再导入;


2、新增主机,并link到MPM模板上即可。
注意主机名必须与被监控的客户端主机名保持一致。







测试验证:
(1).检查MPM插件的工作情况:
  • [iyunv@client100 ~]# /opt/mysql_performance_monitor_agent-0.9.3/FromDualMySQLagent.pl /etc/zabbix/zabbix_agentd.conf.d/FromDualMySQLagent.conf
  • 1  
  • # 返回值为1:表示MPM插件正常,重启zabbix_agent,加载mpm插件  
(2).在实际中,如果怀疑是zabbix_agentd问题,使用如下测试方式:
  • [iyunv@client100 ~]#  zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf -t FromDual.MySQL.check  
  • FromDual.MySQL.check                          [t|1]  
  • [iyunv@client100 ~]# zabbix_agentd  -c /etc/zabbix/zabbix_agentd.conf -t system.uptime  
  • system.uptime                                 [u|6518]  
  • # 以上能正常返回值,说明zabbix_agent是正常的  
(3). 如果有错误的话,请查看/var/log/zabbix下的相关日志,很多是权限问题,注意查看修改
# 提示pid文件不可读:采用:usermod -G mysql zabbix
(4). 报如下故障时:
  • ([iyunv@client100 ~]# tail -f /tmp/FromDualMySQLagent.log ),其他zabbix服务端、客户端日志都正常,无报错  
  • 5279:2014-03-17 15:26:39.853 - INFO: FromDual Performance Monitor for MySQL (0.9.1) run started.  
  • 5279:2014-03-17 15:26:39.867 - WARN:       192.168.1.141, 10051, db_server  
  • 5279:2014-03-17 15:26:39.867 - WARN:       Connection to zabbix server failed (rc=1305)!  
  • 5279:2014-03-17 15:26:40.878 - WARN:       192.168.1.141, 10051, db_server  
  • 5279:2014-03-17 15:26:40.878 - WARN:       Connection to zabbix server failed (rc=1305)!  
  • 5279:2014-03-17 15:26:40.882 - WARN:       192.168.1.141, 10051, 192.168.1.100  
  • 5279:2014-03-17 15:26:40.882 - WARN:       Connection to zabbix server failed (rc=1305)!  
  • 5279:2014-03-17 15:26:41.890 - WARN:       192.168.1.141, 10051, 192.168.1.100  
  •   
  • 可采取措施如下步骤:  
  •    第一步:修改 FromDualMySQLagent.conf 配置文件,注释掉如下部分:[这些注释的部分,因为在zabbix web没有配置此主机]  
  • # [db_server]  
  • # Type         = mysqld  
  • # Modules      = mpm server  
  •    [client100]  
  •    Type = mysqld  
  •    Mysqlport=3306  
  •    Modules = process mysql innodb
  •    PidFile      = /opt/mysql/data/mysqld.pid  
  •   
  •    第二步: 注释掉模块里检查zabbix server 的语句:  
  •    [iyunv@client100 ~]# vim /usr/local/mysql_performance_monitor_agent/lib/sendData.pm  
  • # 注释掉的语句如下:   
  •   #   $rc = &FromDualMySQLagent::checkConnectionToZabbixServer($main::gParameter{'ZabbixServer'}, $main::gParameter{'ZabbixServerPort'}, $main::gParameter{'Hostname'});  
(5). 要注意 /var/log/zabbix/cache/ 目录下相关文件的权限,保证zabbix用户下
  • [iyunv@client100 ~]# cd /var/log/zabbix/cache/  
  • [iyunv@client100 cache]# ll  
  • -rw-rw-r-- 1 zabbix zabbix 0 Mar 22 07:25 FromDualAgentCache.192.168.1.100.cache  
  • # 特别需要注意的是:此文件没有写入是正常的,因为程序自动清空了此文件,但如果说文件不停的变大,那就说明配置有问题,数据没有发出去  
(6). 报如下错误,处理方式为:
  • 12933:2014-03-22 06:52:06.005 - INFO: FromDual Performance Monitor for MySQL (0.9.1) run started.  
  • 12933:2014-03-22 06:52:06.019 - ERR :       Load of cache file failed. rc=1301  
  • 12933:2014-03-22 06:52:07.029 - ERR :       Load of cache file failed. rc=1301  
  •   
  • # 报此错了,上面的文件,也在不断变大,一般是上面文件有错,建议删掉文件,重新启动程序,让程序自己再重新创建个新文件(而不是清空文件)  
(7).在zabbix web 端配置主机组时,主机组为 mysql database (可以设置为其他组,已经测试成功)容来自学生黑客联盟
也可以放在crontab中定时进行监控
* * * * * /FromDu/opt/mysql_performance_monitor_agent-0.9.3/FromDualMySQLagent.pl /etc/zabbix/zabbix_agentd.conf.d/FromDualMySQLagent.conf 1>/dev/null 2>&1





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41166-1-1.html 上篇帖子: zabbix添加不上模版 下篇帖子: 详解zabbix监控系统安装部署 数据库 mysql 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表