如何通过fpmmm和zabbix来监控客户机上MariaDB数据库运行情况
首先在客户机安装MariaDB和zabbix,参考上一篇
安装fpmmm的过程主要参考[1]。
- 安装fpmmm的依赖
shell> yum install php-cli php-process php-mysqli
shell> cat << _EOF >/etc/php.d/fpmmm.ini
variables_order = "EGPCS"
date.timezone = 'Asia/Shanghai'
_EOF
shell> rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm
shell> yum update
shell> yum install zabbix-sender
- 下载并安装fpmmm0.10.5
cd /opt
tar xf /tmp/fpmmm-0.10.5.tar.gz
ln -s fpmmm-0.10.5 fpmmm
- config
mkdir /etc/fpmmm
cp /opt/fpmmm/tpl/fpmmm.conf.template /etc/fpmmm/fpmmm.conf
chown -R zabbix: /etc/fpmmm
- vim
/etc/fpmmm/fpmmm.conf
# This MUST match Hostname in Zabbix!
[machine01]
xxx
# Here you could add a random name of your MySQL/MariaDB instance
[mysqld01] # This MUST match Hostname in Zabbix!
xxx
- create monitoring user(中创建监控的mysql的用户fpmmm)
MariaDB [(none)]> create user 'fpmmm'@'127.0.0.1' identified by 'your_password';
MariaDB [(none)]> grant process on *.* to 'fpmmm'@'127.0.0.1';
MariaDB [(none)]> grant replication client on *.* to 'fpmmm'@'127.0.0.1';
MariaDB [(none)]> grant select on mysql.user to 'fpmmm'@'127.0.0.1';
此时,最好增加replication slave权限
GRANT REPLICATION SLAVE ON *.* TO 'user_fpmmm'@'127.0.0.1';
这一条官网没有,不过不加的话会在log里面提醒你需要,主要为了show slave hosts。[3]
- Adding the zabbix user to the mysql group
usermod -G mysql zabbix
- test fpmmm.conf并查看log
$ /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf
1
$ cat /tmp/fpmmm/fpmmm.log
24634:2016-12-06 16:07:35.296 - ERR : Cannot read PID file /var/run/mysqld/mysqld.pid (rc=1476).
24634:2016-12-06 16:07:35.296 - ERR : Either file does not exist or I have no read permissions.
24634:2016-12-06 16:07:35.296 - ERR : Are you sure the process is running?
24634:2016-12-06 16:07:35.296 - ERR : Adding the zabbix user to the mysql group might help...
24634:2016-12-06 16:07:35.296 - ERR : Module FromDualMySQLprocess got an error (rc=1476).
24634:2016-12-06 16:07:35.414 - WARN: Binary Log is disabled. Module 'master' does not make sense for host mysqld... (rc=1308).
24634:2016-12-06 16:07:35.443 - WARN: Instance mysqld seems not to be a Slave. (rc=1577).
- 去除ERR
- 修改pid路径:
PidFile = /var/lib/mysql/localhost.pid - 打开bin log
- 修改pid路径:
shell> vim /etc/my.cnf
[client]
...
[mysqld]
...
log-bin=mysql-bin
MariaDB [(none)]> show variables like 'log_bin%';
+---------------------------------+--------------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------------+
| log_bin | ON |
| log_bin_basename | /var/lib/mysql/mysql-bin |
| log_bin_index | /var/lib/mysql/mysql-bin.index |
| log_bin_trust_function_creators | OFF |
+---------------------------------+--------------------------------+
- 最后再次test fpmmm.conf
$ /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf
1
$ cat /tmp/fpmmm/fpmmm.log
//如果有意外情况,试着以root身份运行该命令
$ sudo -u root /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf
- 运行
测试没问题后,修改zabbix的agent配置文件[2]
shell> vim /etc/zabbix/zabbix_agentd.conf
UserParameter=FromDual.MySQL.check,/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf
shell> systemctl restart zabbix-agent
- 把fpmmm自带的模版导入到zabbix中
tpl文件的具体作用[4]
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管理界面创建两个host
其中一个监控机器(one for the machine): 导入fpmmm和server这两个模版
另一个监控数据库(and one for the database): 导入其他templates
注意Agent interface为当前agent的ip地址。
- 定时运行fpmmm agent
shell> echo "UserParameter=FromDual.MySQL.check,/opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf" > /etc/zabbix/zabbix_agentd.d/fpmmm.conf
注意上面的命令不能实现定时运行,要用用crontab实现。
shell> vim /etc/crontab
* * * * * root echo "" >> /tmp/fpmmm/fpmmm.log & /opt/fpmmm/bin/fpmmm --config=/etc/fpmmm/fpmmm.conf >/dev/null
shell> tail /tmp/fpmmm/fpmmm.log
67721:2016-12-14 15:39:01.293 - INFO: FromDual Performance Monitor for MySQL and MariaDB (fpmmm) (0.10.5) run started.
67721:2016-12-14 15:39:02.587 - INFO: FromDual Performance Monitor for MySQL and MariaDB (fpmmm) run finished (rc=0).
68008:2016-12-14 15:40:01.650 - INFO: FromDual Performance Monitor for MySQL and MariaDB (fpmmm) (0.10.5) run started.
68008:2016-12-14 15:40:02.944 - INFO: FromDual Performance Monitor for MySQL and MariaDB (fpmmm) run finished (rc=0).
- 不使用fpmmm如何监控数据库运行状态?
see also 使用zabbix2.2自带的mysql template,设置并查看mysql监控情况
References
- FPMMM INSTALLATION GUIDE
- Zabbix配合fpmmm(mpm)实现对Mysql的全面监控
- http://www.cnblogs.com/zejin2008/p/5416441.html
- Zabbix+Mysql Fpmmm(MPM)监控
如何通过fpmmm和zabbix来监控客户机上MariaDB数据库运行情况的更多相关文章
- centos7之zabbix监控mysql(mariadb)数据库
一.Zabbix3.2.6使用自带模板监控MySQL 添加zabbix_agent客户端方法:http://www.cnblogs.com/lei0213/p/8858269.html mysql服务 ...
- Zabbix Server 自带模板监控有密码MySQL数据库
Zabbix Server 自带模板监控有密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Zabbix-agent端的配置 1>.为数据库设置密码 ...
- zabbix添加自定义监控项
zabbix添加自定义监控项 author:headsen chen 2017-10-16 17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...
- 五 Zabbix全网监控
监控的作用 我们的职责 1.保障企业数据的安全可靠. 2.为客户提供7*24小时服务. 3.不断提升用户的体验.在关键时刻,提前提醒我们服务器要出问题了当出问题之后,可以便于找到问题的根源 ...
- zabbix全网监控
为什么要监控 运维的职责1.保障企业数据的安全可靠.2.为客户提供7*24小时服务.3.不断提升用户的体验. 在关键时刻,提前提醒我们服务器要出问题了 当出问题之后,可以便于找到问题的根源 拿到公司服 ...
- Zabbix自定义监控8080端口的连接数
Zabbix自定义监控8080端口的连接数 一 zabbix自定义监控实现思路 实际上我们要想使用zabbix来监控一些服务的原理很简单,步骤分别是:1.写一个脚本用于获取待监控服务的一些状态信息2. ...
- 基于Zabbix IPMI监控服务器硬件状况
基于Zabbix IPMI监控服务器硬件状况 zabbix ipmi 公司有多个分部,且机房没有专业值班,机房等级不够.在这种情况下,又想实时监控机房环境,于是使用IPMI方式来达到目的.由于之前已经 ...
- LNMP+zabbix分布式监控搭建及版本升级
LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...
- zabbix服务器监控suse系统教程
zabbix服务器监控suse系统教程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 花了近一个星期才学会了如何监控window和linux主机的基本信息以及报价情况(我已经把笔记 ...
随机推荐
- CanVas类(绘图类)
知识点: Canvas():创建一个空的画布,可以使用setBitmap()方法来设置具体的画布 Canvas(Bitmap bitmap):以bitmap对象创建一个画布,则将内容都绘制在Bitma ...
- Asp.Net MVC 上传图片到数据库
[读书笔记]Asp.Net MVC 上传图片到数据库(会的绕行) 之前上传图片的做法都是上传到服务器上的文件夹中,再将url保存到数据库.其实在MVC中将图片上传到数据库很便捷的事情,而且不用去存 ...
- 推荐5个漂亮的网站html源码
给大家推荐几个很漂亮的html网站源码模板,下面就简单列几个,更多的自己可以去看 1.大屏背景摄影工作室作品案例网页模板 [效果预览及下载] 2.粉色响应式IT科技服务器机房企业模板 [效果预览及下载 ...
- 初试KONCKOUT+WEBAPI简单实现增删改查
初试KONCKOUT+WEBAPI简单实现增删改查 前言 konckout.js本人也是刚刚接触,也是初学,本文的目的是使用ko和asp.net mvc4 webapi来实现一个简单增删改查操作.Kn ...
- 哞哞快的 C# 高斯模糊实现
冲动来自于 bing best 这个小工具,非常短小精干,里边的设置界面非常精美而且背景是一张模糊效果的图片,十分养眼,遂想,收集一下实现方式放到类库里以后肯定用得上.一通百度.谷歌.博客园,换了好多 ...
- Asp.net MVC3 中,动态添加filter
Asp.net MVC3 中,动态添加filter filter是attribute,不支持泛型,传入的参数必须是固定的值.总之很受attribute本身的限制. 发现一篇老外的文章,动态设置filt ...
- RTB撕开黑盒子 Part 0:Pacing: is everyone doing it wrong?
曾尝试为我们的RTB客户解决过Pacing问题,Pacing问题要解决的问题是:如果一个客户给你一笔预算,让你去运营一个广告推广计划,在一定的时间内投放广告,将这笔预算在指内的时间内,比较均匀地将预算 ...
- java常用的环境变量配置
JDK配置 JAVA_HOME: C:\java\jdk1.7.0 CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; PAT ...
- JAVA实现数据库数据导入/导出到Excel(POI)
准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/poi/release/src/(重要) 如下 2.导入Java界面美 ...
- Ajax实现天气预报功能
实现天气预报功能 闲来无聊,写下此文 经常看见很多网站上有那种天气预报功能,自己之前也写过一个,不过属于那种涉及WCF服务引用那种,今天发现一个更为简单的方式来实现,使用Javascript和Ajax ...