20180828Zabbix3使用percona-zabbix-templates监控MySQL
引用网址:
http://blog.chinaunix.net/uid-16844903-id-3535535.html
http://www.ywnds.com/?p=6199
https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages/repository_installation
因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugins 监控MySQL的方式。
1)MySQL客户端需要的系统环境
percona监控zabbix的脚本是使用php写的,所以需要准备好php运行环境,这里直接用yum安装就可以满足要求了:
|
1
|
$ yum install zabbix-agent php php-mysql
|
|
1
2
3
4
|
$ php -v
PHP 7.0.9 (cli) (built: Jul 20 2016 18:08:08) ( NTS )
$ mysql --version
mysql Ver 14.14 Distrib 5.5.51, for Linux (x86_64) using readline 5.1
|
2)安装percona-zabbix-templates
|
1
|
$ yum install https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-zabbix-templates-1.1.6-1.noarch.rpm
|
也可配置Percona yum仓库后安装,建议配置percona的yum源,因为作为一个DBA你肯定会用到percona toolkit套件。
|
1
2
|
$ yum install https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-3.noarch.rpm
$ yum install percona-zabbix-templates
|
3)percona-zabbix-templates配置文件介绍
|
1
|
$ rpm -ql percona-zabbix-templates
|
|
1
2
3
4
5
6
7
8
9
10
11
|
# 监控获取MySQL状态的;
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
# 配置连接数据库用户名密码的,用shell来调用PHP;
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
# Zabbix-agent端监控MySQL的配置文件;
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
# Zabbix模板文件;
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml
|
4)配置zabbix-agent
把配置文件复制到zabbix-agent目录下。
|
1
|
$ cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
|
默认zabbix-agent配置文件已经把/etc/zabbix/zabbix_agentd.d/目录include进去了。
|
1
2
|
$ grep Include /etc/zabbix/zabbix_agentd.conf | grep -v "^#"
Include=/etc/zabbix/zabbix_agentd.d/
|
5)重新启动zabbix-agent即可
|
1
2
3
4
5
|
# CentOS6
$ service zabbix-agent restart
# CentOS7
$ systemctl restart zabbix-agent
|
6)zabbix-agent上配置MySQL连接
首先如果你要监控的MySQL不是默认的端口3306(是就忽略此步骤),则需要修改/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh脚本,小心被坑。修改端口号码文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 这里要先建好这个文件,否则会报rm权限错误;
$ touch /tmp/localhost-mysql_cacti_stats.txt:3307
$ chown -R zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt:3307
# 修改端口脚本;
$ vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt "
换成:
CACHEFILE="/tmp/$HOST-mysql_zabbix_stats.txt:3307"
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt`
换成:
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_zabbix_stats.txt:3307`
|
如果你的MySQL是编译安装的,执行客户端命令需要绝对路径的话,你可能还需要更改脚本中的执行命令语句:
|
1
2
3
|
RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
换成:
RES=`/usr/local/mysql/bin/mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
|
创建监控MySQL的用户和密码。
|
1
2
|
mysql> GRANT SELECT,PROCESS,SUPER,REPLICATION CLIENT ON *.* TO 'zabbixmoniter'@'localhost' IDENTIFIED BY "123456";
mysql> flush privileges;
|
然后PHP脚本连接MySQL的用户名和密码。
|
1
2
3
4
|
$ cat /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'zabbixmoniter';
$mysql_pass = '123456';
$mysql_port = 3306;
|
测试脚本
|
1
2
|
$ bash /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
908
|
7)配置Zabbix Server 3.0
先去percona官网:https://www.percona.com/downloads/percona-monitoring-plugins/
下载Percona Monitoring Plugins最新tar.gz源码包。解压里面有cacti、nagios、zabbix不同监控模块,找到zabbix/templates/目录,然后通过Zabbix Web界面 (Configuration -> Templates -> Import) 导入XML模板,注意要另外选择上Screens。最后配置主机关联上Percona MySQL Server Template模板即可。
针对Zabbix server 3.0导入模板文件时可能会报错:
Invalid tag “/zabbix_export/date”:“YYYY-MM-DDThh:mm:ssZ” is expected.
经过核查,这个原因是模版错误,是因为percona官方上1.1.6还是zabbix2.0的版本模版,所以需要跟新上来匹配zabbix3.0的模版规范,而且这个zabbix模版还是直接copy的cacti模版,比较粗糙,用more查看就可以看到里面都是cacti的内容,可见percona官网对zabbix也不是很重视嘛,至少不如cacti那样重视的。
解决:网上有人在原来的zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6_1.xml之上进行修改,改完后就可以import导入进去了,(下载地址:http://jaminzhang.github.io/soft-conf/Zabbix/zbx_percona_mysql_template.xml)。
模板导入进去之后,接下来要做的就是对主机进行添加模板了,当然这属于zabbix的知识了,自行看博客zabbix章节。percona这套MySQL监控项很多,需要好好细看才能理解。
8)MySQL从库监控Slave配置
先在mysql slave的agent里面需要check下看是否生效:
|
1
2
3
|
$ sh /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
0
|
所以需要配置下访问mysql的一些基本参数:
|
1
2
3
4
5
|
$ cat /etc/my.cnf
[mysql]
user=zabbixmoniter
password=ys_ipowerlong0418
socket=/usr/local/mysql/mysql.sock
|
再check试试,就可以看到了:
|
1
2
|
$ sh /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
1
|
20180828Zabbix3使用percona-zabbix-templates监控MySQL的更多相关文章
- zabbix4.0 percona插件实现监控mysql
percona是一款能够详细监控zabbix MySQL的插件 官方下载percona插件 wget https://www.percona.com/downloads/percona-monitor ...
- zabbix之监控MySQL
#:先配置MySQL的主从 #:安装Percona Monitoring Plugins (地址:https://www.percona.com/downloads/)#:我安在从库,监控哪个就安哪个 ...
- 权限问题导致zabbix无法监控mysql
说说一个困扰自已两天的问题. 首先是用常规的方法安装上了mysql数据库.做了主从. 在监控从库的时候,发现所有的监控数据库的监控项都获取不到key值 . zabbix server端也不报错.获取到 ...
- 带你了解zabbix如何监控mysql主从到报警触发
本章博客我们一起来聊一聊如何监控mysql数据库主从状态? 思路梳理: 1)首先我们都知道,判断Mysql主从是否正常,是通过主从上面的SQL和IO线程都为yes状态判断(通过awk取值,grep过滤 ...
- zabbix之 zabbix模板监控mysql
zabbix中默认有mysql的监控模板.默认已经在zabbix2.2及以上的版本中.模板名称:Template App MySQL.如果没有则要去zabbix官方下载 url:https://zab ...
- zabbix脚本监控mysql
Zabbix监控mysql 1.1 客户端配置 1.1.1 安装客户端包 yum -y install unixODBC rpm -ivh zabbix-agent--.el6.x86_64.rpm ...
- Zabbix 3.x中使用Percona Monitoring Plugins监控MySQL
1.下载安装percona-zabbix-templates-1.1.7-2.noarch.rpm 下载地址:https://www.percona.com/downloads/percona-mon ...
- Zabbix 中使用 Percona Monitoring Plugins 监控 MySQL
1.先安装agent客户端 tar zxvf zabbix-3.2.6.tar.gz cd zabbix-3.2.6 ./configure --prefix=/data/zabbix --enabl ...
- 用percona monitoring plugins 监控mysql
下载:http://www.percona.com/redir/downloads/percona-monitoring-plugins/1.1.1/percona-zabbix-templates- ...
- zabbix添加监控Mysql
起因:zabbix自带的mysql监控模板直接使用会显示“不支持的”因为key的值是通过Mysql用户查看"show global status"信息或者用mysqladmin命令 ...
随机推荐
- vs打开wixproj后缀文件
1.在正常情况下vs是无法打开wixproj工程的,能打开也只能是以记事本方式打开该文件本身 2.所以此时需要下载wixtool,安装后即可打开上述类型文件 3.最好也安装好vs对应版本的扩展包 4. ...
- PCB C# MongoDB 查询(SQL,NOSQL,C#对比)
一.准备阶段 1.查询数据清单准备 2.这里先将SQL语句执行顺序列出来,方便后面语句对比更好理解 ()SELECT ()DISTINCT ()<Top Num> <select l ...
- E20170925-hm
arc n. 综合症状; 弧(度); 天穹; 电弧,弧光.; vi. 形成拱状物; 循弧线行进; wrap vt. 包; 缠绕; 用…包裹(或包扎.覆盖等); 掩护; n. ...
- Road Construction(无向图的双连通分量)
http://poj.org/problem?id=3352 题意:给出一个有n个顶点m条边的无向连通图,问至少添加几条边,使删除任意一条边原图仍连通. 思路:一个边双连通图删除任意一条边仍为连通图. ...
- native2ascii运用
1.native2ascii命令行的格式 native2ascii -[option] [inputfile [outputfile]] 说明: -[option]:表示命令开关,有两个选项可供选择: ...
- 网络简要<入门篇>
OSI七层 网络的含义:两个不在同一地理位置的主机(终端),通过传输介质和通信协议,实现通信和资源共享. 网络四要素:终端,传输介质 ,通信协议,资源 网络分类: 以范围分类:LAN网(局域网,以太网 ...
- SpringBoot 热部署 + IDEA
1.使用Spring-Boot-Devtools实现热加载(这种方式会自动重启) devtools的原理: 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类( ...
- array_column()函数兼容低版本
array_column 用于获取二维数组中的元素(PHP 5.5新增函数),但我们有时候需要在低版本的 function i_array_column($input, $columnKey, $in ...
- ashx 文件的使用
它就类似.aspx文件,用于处理传入到服务器的HTTP请求,但它不会像.aspx文件那样要返回处理结果和大量HTML,它可以返回简单的字符串.图片等. 百度百科定义链接:http://baike.ba ...
- 第10篇 WINDOWS2003服务器 IIS上配置404页面的图文教程
打开IIS 找到你的网站,点右键,选择属性 选择“自定义错误”标签页,找到404的那一项,点“编辑属性”按钮 (方案一)在“消息类型”里选“URL”,然后在下面的“URL”输入框里,填上你的404错误 ...