Zabbix配合fpmmm(mpm)实现对Mysql的全面监控

Zabbix使用fpmmm(mpm)模块实现对Mysql的全面监控(Performance Monitor for MySQL)

fpmmm is the FromDualPerformance Monitor for MySQL and MariaDB and the counterpart to the MySQL EnterpriseMonitor from Oracle.With fpmmm you can monitor your MySQL/MariaDB databases andalso your database hosts (machines).fpmmm works on Linux and should also workon Mac OSX (and possibly some other *BSD derivatives). Windows support is plannedfor the next major release.fpmmm is the successor of mpm. mpm was renamed tofpmmm because of the naming conflict with the Apache Multi-Processing Modules(MPM).fpmmm needs a Zabbix Server for storing its performance data. There youcan see the graphs, and alerts are sent to you from there.

上话摘自官网,简单来说mpm改名为fpmmm,可配合zabbix监控数据库。

官网:http://www.fromdual.com

使用fpmmm可以很全面的监控mysql数据库。

1.安装依赖的程序包:

[[email protected] bin]# yuminstall php-cli php-process php-mysqli

2.下载fpmmm:

http://down.51cto.com/data/2239742

https://support.fromdual.com/admin/public/download.php?product_id=0

[email protected] install]#

wget https://support.fromdual.com/admin/download/fpmmm-0.10.6.tar.gz

3.解压:

[email protected] install]# tar -xvffpmmm-0.10.6.tar.gz

4.移动到部署位置:

[[email protected] install]# mvfpmmm-0.10.6 /data/server/zabbix_agent/fpmmm/

[[email protected] install]# cd/data/server/zabbix_agent/fpmmm/

[[email protected] fpmmm]# ls

bin CHANGELOG  INSTALL  lib tpl

5.创建mysql监控帐号:

mysql> grant PROCESS,REPLICATIONCLIENT,REPLICATION SLAVE on *.* to [email protected]‘127.0.0.1‘ identified by ‘密码‘;

mysql> grant select on mysql.user [email protected]‘127.0.0.1‘;

6.创建并修改配置文件:

(注意:事例里配置的目录上一级已存在,自己在搭建时注意目录是否存在,若嫌麻烦和权限问题可以都放在tmp目录)

[[email protected] fpmmm]# cp-pr  tpl/fpmmm.conf.templatetpl/fpmmm.conf

[[email protected] fpmmm]# vimtpl/fpmmm.conf

1 [default]

5 Type          = mysqld

#####修改日志等级,建议在部署时调高些,便于排查问题######

13 LogLevel      = 2

#####日志位置,部署时多察看日志,便于排错#####

14 LogFile       = /data/logs/zabbix/fpmmm.log

15 # Directory where the cache files shouldbe written to:

#####CacheFileBase会以fpmmm+”.”+”hostname”+”.”cache命名,注意权限,zabbix对这个文件要有读写权限#####

16 CacheFileBase =/data/server/zabbix_agent/fpmmm/fpmmm

17 AgentLockFile =/data/server/zabbix_agent/fpmmm/fpmmm.lock

#####本地被监控mysql的帐号密码等信息,注意创建相应监控帐号#####

25 Username     = zabbix_fpmmm

26 Password      = 密码

27 MysqlHost     = 127.0.0.1

28 MysqlPort     = 3306

29

30 # Zabbix Server IP address

#####zabbix服务端的地址#####

31 ZabbixServer  = zabbix服务端ip

32

33 # If section is disabled

34 Disabled      = false

46 Modules      = innodb master myisam mysql processsecurity

47

48 # Special parameter which is used formodule process (MySQL PID file!)

#####mysql的pid,可以从my.cnf里查找,未指定 pid文件时,pid 文件默认名为 主机名.pid,存放的路径在默认MySQL的date数据目录######

49 PidFile       = /data/server/mysql/data/mysqld.pid

#####只是监控mysql,db_hos注释掉#####

62 #[db_host]          # This MUST match Hostname in Zabbix!

63

64 #Type          = mysqld

65 #Modules       = fpmmm server

#####配置监控主机信息,下面的hostname可以自己随意取名字,但要和zabbix网页上添加主机时的配置主机hostname一致#####

72 [hostname]          # This MUST match Hostname in Zabbix!

73

74 Type          = mysqld

75

76 MysqlPort     = 3306

#####pid跟上面相同#####

77 Modules       = process mysql myisam innodb masterslave security

78 PidFile       = /data/server/mysql/data/mysqld.pid

#####只监控mysql,memcached注释掉#####

81 #[memcached]          # This MUST match Hostname in Zabbix!

82

83 #Type          = memcached

84 #Modules       = memcached

85

86 #MemcachedHost = 127.0.0.1

87 #MemcachedPort = 11211

7.第一次尝试运行:

[[email protected] bin]#/data/server/zabbix_agent/fpmmm/bin/fpmmm --config=/data/server/zabbix_agent/fpmmm/tpl/fpmmm.conf

PHP Notice: Undefined index: PATH in /data/server/zabbix_agent/fpmmm/bin/fpmmm.phpon line 29

PHP Notice: Undefined index: PATH in /data/server/zabbix_agent/fpmmm/bin/fpmmm.phpon line 29

PHP Warning:  gettimeofday(): It is not safe to rely on thesystem‘s timezone settings. You are *required* to use the date.timezone settingor the date_default_timezone_set() function. In case you used any of those methodsand you are still getting this warning, you most likely misspelled the timezoneidentifier. We selected ‘Asia/Chongqing‘ for ‘CST/8.0/no DST‘ instead in/data/server/zabbix_agent/fpmmm/lib/log.inc on line 103

这里有两个问题:

  1. php时区错误。

解决方法:

修改php.ini,在php.ini中找到;date.timezone=  去掉它前面的;号,然后设置data.timezone= "Asia/Shanghai";

[[email protected]~]# vim /etc/php.ini

  1. 未找到zabbix_sender,可以再次执行命令同时监控日志tail -f /data/logs/zabbix/fpmmm.log看到报错信息:7887:2016-09-0621:35:11.983 - ERR :       which: nozabbix_sender in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/data/server/mysql/bin:/root/bi)

解决方法:在/usr/local/bin/添加zabbix_sender软链接

[[email protected] ~]# ln -s/data/server/zabbix_agent/bin/zabbix_sender /usr/local/bin/

同时注释掉/data/server/zabbix_agent/fpmmm/bin/fpmmm.php的第29行。

8. 第二次运行:

[[email protected] bin]#/data/server/zabbix_agent/fpmmm/bin/fpmmm --config=/data/server/zabbix_agent/fpmmm/tpl/fpmmm.conf

1

没有报错,日志也正常。

9. 但是注意,在测试运行后需要修改几个文件的权限和所属者,不然在以后的运行中会报错:

1).[[email protected]_agent]# chown zabbix.zabbix /data/server/zabbix_agent/fpmmm/ -R

2).[[email protected] logs]# chownzabbix.zabbix /data/logs/zabbix/ -R

3).[[email protected] ~]# chmod 664/data/server/mysql/data/mysql.pid

4).修改新产生的cache文件权限(其实第一步已修改,可以不执行)

[[email protected] zabbix_agent]#chown zabbix.zabbix /data/server/zabbix_agent/fpmmm/fpmmm.mysql-42.cache

或者在运行的脚本前面加入这几个修改权限的命令,以便其他服务重启或删除日志后导致监控没有权限,执行下就可以了:

[[email protected] zabbix_agent]#vim /data/server/zabbix_agent/fpmmm/bin/fpmmm

10.修改zabbix的agent配置文件,在最末尾添加键值:

[[email protected]  fpmmm]# vim/data/server/zabbix_agent/etc/zabbix_agentd.conf

UserParameter=FromDual.MySQL.check,/data/server/zabbix_agent/fpmmm/bin/fpmmm--config=/data/server/zabbix_agent/fpmmm/tpl/fpmmm.conf

重启zabbix-aget服务。

11.导入模版

模版就在下载的安装包的tpl目录

下载后解压出模板导入

只需要导入需要的就行,可以导入:

Template_FromDual.MySQL.server.xml  Template_FromDual.MySQL.innodb.xml Template_FromDual.MySQL.master.xmlTemplate_FromDual.MySQL.mysql.xml  Template_FromDual.MySQL.process.xml  Template_FromDual.MySQL.server.xml  Template_FromDual.MySQL.slave.xml

12.添加主机:

添加完毕后,在最新数据里便可看到数据

参考: http://www.fromdual.com/fpmmm-installation-guide

时间: 2025-01-04 07:07:05

Zabbix配合fpmmm(mpm)实现对Mysql的全面监控的相关文章

zabbix实现对mysql数据库主从监控

1.主从关系建立 配置mysql-master端: 1)修改mysql-master的配置文件 [[email protected] ~]# vim /etc/my.cnf [mysqld] server_id=1 innodb_file_per_table datadir=/data/mysql socket=/var/lib/mysql/mysql.sock log-bin=/data/log-bin/bin binlog_format=row -- 2)启动mysql服务,并授权从服务用户

Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问

本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这部分内容需要以下Jar包支持 mysql-connector:MySQL数据库连接驱动,架起服务端与数据库沟通的桥梁: MyBatis:一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架: log4j:Apache的开源项目,一个功能强大的日志组件,提供方便的日志记录: 修改后的pom.xm

Windows下Java程序实现对Mysql数据库的插入,删除,修改和查询

运行环境:Windows7,Eclipse,MySql,JDK1.7,mysql-connector-java-5.1.17-bin.jar 1 //import java.io.*; 2 import java.util.*; 3 import java.sql.*; 4 5 /** 6 * 7 * @date 2014-05-20 8 * @author asif 9 * @作用 java实现对mysql数据库的增减删查 10 * @bug 插入,删除,更新的时候异常停止 11 * 12 *

shell实现对mysql数据库的增、删、改、查操作

shell实现对mysql数据库的增.删.改.查操作 #!/bin/bash #数据库信息 HOSTNAME="192.168.111.84" PORT="3306" USERNAME="root" PASSWORD="" DBNAME="test_db_test" TABLENAME="test_table_test" #也可以写 HOSTNAME="localhost&qu

Cacti实现对linux和win监控

参考文章:http://coolner.blog.51cto.com/957576/689400 Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. Cacti 是通过 snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数.它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构.host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善.界面友

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

Zabbix Server和MPM(monitor for mysql)的快速部署

1. 前言 zabbix作为开源免费的监控软件,其易于管理配置和可视化的视图.历史数据的定期维护.模板化的监控项目越来越受到广大IT运维人员的喜爱.这里主要是总结了下Zabbix Server和MPM使用yum进行快速部署.其更加详细的东西,大家还是看官方文档吧.我们首先把环境搭起来! 2. 环境 1)Zabbix Server Os:Redhat6.5 i686(vmware) ipaddr:192.168.8.3 hostname:linux-zabbix MySQL :5.6.23 MEM

zabbix配fpmmm(mpm)数据传送不了问题解决

我们环境用zabbix mpm来监控mysql,不过最近官网已经不叫mpm了,而是叫fpmmm,理由为: fpmmm is the successor of mpm. mpm was renamed to fpmmm because of the naming conflict with the Apache Multi-Processing Modules (MPM). 好啦,那是官方的行为,我们可以不管,于是我们下载了最新的fpmmm(fpmmm-0.10.5.tar.gz)监控模块 一切按

通过innobackupex实现对MySQL的完整热备份

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 环境 OS:CentOS 6.6 32bit 介绍 官网:https://www.percona.com/ 官方下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/ 操作 # 创建存放备份的目录 mkdir /backup # 开始备份,备份前请确保有足够的空间. innobac