发表于 2018-1-2 09:33:12

zabbix实现mysql数据库的监控(二)

  上章我们把zabbix的服务端和客户端都部署完成了,本章接着进行两部分的设置:
  1添加对mysql数据库主机的监控
  2添加对mysql数据库的监控

一、对数据库服务器主机监控

1 创建主机

步骤如下:组态>>主机>>创建主机
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183025796-1655013703.png
  进入创建主机的界面,如下,填写信息后保存。
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183029156-945779187.png
  正确添加后状态是绿色的已启用:
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183031952-1757948279.png
  2、为主机添加模板
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183040156-2143748239.png
  模板添加完成后,出现绿色的表示监控成功了:
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183044906-714105882.png
  解决中文乱码问题:到windows中C:\Windows\Fonts选择一种喜欢的字体拷贝到/var/www/html/zabbix/fonts/下,替代里面的原文件。然后刷新即可
https://images2015.cnblogs.com/blog/818283/201511/818283-20151125183050593-2107193704.png
  二、对mysql数据库监控(重点内容)
  我们这里采用一款第三方插件:MPM(Performance Monitor for MySQL),关于该插件的具体下载及介绍请访问这里:http://www.fromdual.com/mpm-installation-guide
  下面我们就开始安装和配置MPM来监控mysql数据库
  1、安装配置MPM
  1)安装perl依赖包
  由于该插件是perl写的,需要在所有机器上安装perl依赖。
  

# yum install perl-File-Which perl-libwww-perl perl-Digest-SHA perl-DBD-MySQL perl-Time-HiRes perl-Crypt-SSLeay -y  

  2)zabbix web导入MPM模板文件

https://common.cnblogs.com/images/copycode.gif  

# tar zxvf mysql_performance_monitor-latest.tar.gz  
-rw-rw-r--.110001000   37667 4月10 2013 mysql_performance_monitor_agent-0.9.1.tar.gz
  
-rw-rw-r--.110001000   40991 4月10 2013 mysql_performance_monitor_templates-0.9.1.tar.gz
  
# tar zxvf mysql_performance_monitor_templates-0.9.1.tar.gz
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.ndb.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.security.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.innodb.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.mpm.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.myisam.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.mysql.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.aria.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.galera.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.slave.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.server.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.master.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.drbd.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.pbxt.xml
  
mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.process.xml
  

https://common.cnblogs.com/images/copycode.gif
解压后会有两个文件,其中mysql_performance_monitor_templates-0.9.1.tar.gz主要是zabbix server web需要导入的模板文件,mysql_performance_monitor_agent-0.9.1.tar.gz文件则是zabbix客户端需要部署的客户端文件。
上面模板根据自己线上的业务选择合适的导入即可。其中mysql_performance_monitor_templates-0.9.1/xml/Template_FromDual.MySQL.mpm.xml必须要导入的。
然后到到zabbix web页面 组态>>模板>>汇入 进行导入:
https://images2015.cnblogs.com/blog/818283/201511/818283-20151126141834562-1263864983.png
3)安装MPM并且配置MPM agent的zabbix keys,以实现zabbix 挂接MPM
这些操作只在各个被监控的mysql服务器上进行。
  

# 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  
# vim FromDualMySQLagent.pl
  
$ENV{PATH} .= $ENV{PATH} . ':/usr/local/zabbix/bin';
  


4)MPM Agent配置
创建MPM的MySQL监控用户:
  

(product)root@localhost [(none)]> grant process,replication client on *.* to 'mpm'@'127.0.0.1'>
Query OK, 0 rows affected (0.05 sec)
  

  
(product)root@localhost [(none)]> flush privileges;
  
Query OK, 0 rows affected (0.02 sec)
  


配置MPM Agent:

https://common.cnblogs.com/images/copycode.gif  

# cd /usr/local/mysql_performance_monitor-agent/etc  
# cp FromDualMySQLagent.conf.template FromDualMySQLagent.conf
  
# mkdir /usr/local/zabbix/logs/mpm/cache -p
  
# touch /usr/local/zabbix/logs/mpm/FromDualMySQLagent.log
  
# chown -R zabbix.zabbix /usr/local/zabbix/logs/mpm
  
# chmod o+r /data/mysql/mysql_3306/data/darren.pid
  
# vim /usr/local/mysql_performance_monitor-agent/etc/FromDualMySQLagent.conf
  

  

  
Type         = mysqld
  
Debug         = 2
  
LogFile       = /usr/local/zabbix/logs/mpm/FromDualMySQLagent.log
  
CacheFileBase = /usr/local/zabbix/logs/mpm/cache/FromDualAgentCache
  

  
# Information for MySQL connections:
  
Username   = mpm
  
Password   = mpm
  
MysqlHost    = 127.0.0.1
  
MysqlPort    = 3306
  
# Zabbix Server IP address
  
ZabbixServer = 192.168.245.133
  
Disabled   = false
  
Modules      = process mysql myisam innodb master slave
  

  

  
Type         = mysqld
  
Modules      = mpm server
  

  
# All MySQL databases here
  
          # This MUST match Hostname in Zabbix!
  

  
Type         = mysqld
  
MysqlPort    = 3306
  
Modules      = process mysql myisam slave innodb
  
PidFile      = /data/mysql/mysql_3306/data/mysqlnode1.pid
  

  
          # This MUST match Hostname in Zabbix!
  
Type         = mysqld
  
MysqlPort    = 3307
  
Modules      = process mysql myisam slave innodb
  
PidFile      = /data/mysql/mysql_3307/data/mysqlnode1.pid
  


https://common.cnblogs.com/images/copycode.gif
5)在zabbix agent中注入MPM:
  

# vim /usr/local/zabbix/etc/zabbix_agentd.conf  
#在最后添加这行
  UserParameter=FromDual.MySQL.check,/usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /usr/local/mysql_performance_monitor-agent/etc/FromDualMySQLagent.conf
  


6)检查MPM插件设置是否正确:输出1表示正常
  

# /usr/local/mysql_performance_monitor-agent/FromDualMySQLagent.pl /usr/local/mysql_performance_monitor-agent/etc/FromDualMySQLagent.conf  1
  


7)重启zabbix_agentd服务
  

# /etc/init.d/zabbix_agentd restart  
停止 Zabbix Agent:                                        [确定]
  
正在启动 Zabbix Agent:                                    [确定]
  

  终极问题:
  

3801:2014-05-09 14:53:26.283 - INFO: FromDual Performance Monitor for MySQL (0.9.1) run started.  
3801:2014-05-09 14:53:26.301 - ERR : Load of cache file failed. rc=1301
  
3801:2014-05-09 14:53:26.301 - INFO: FromDual Performance Monitor for MySQL run finshed (rc=0).
  

  遇到这个问题,始终解决不了,也就是生成监控数据了,但是无法发送给zabbix server,哪位大神遇到过请指教吧?对这个软件也是无语了,安装就遇到如此多的问题,果断舍弃了,浪费太多时间了,还是老老实实用percona-monitoring-plugins了!
页: [1]
查看完整版本: zabbix实现mysql数据库的监控(二)