@zabbix监控mysql数据库<Percona工具>


在这里插入图片描述

1.Percona介绍

Percona是和MariaDB一样是MySQL的一个分支,在功能和性能上较MySQL有着明显的提升,并且提供一些非常有用的诊断插件工具。
其中之一就是percona zabbix监控插件,因为percona是PHP写的,所以使用它必须有php环境,也是通过php连接MySQL来获取MySQL相关的监控数据。
Percona是写的php监控mysql的一个脚本,把MySQL的监控性能指标全都拿出来,然后自己做了一个模板,当然我们也可以自己去写一些 监控指标,写到对应的配置文件中。

2.Percona监控方式介绍

【Percona官网】
【Zabbix6.2部署安装】

使用percona监控数据库,我们先部署好zabbix-server与zabbix-agent,部署完成后,我们只需要使用percona监控mysql数据库即可;
本篇文章只介绍percona监控lnux服务器中MySQL服 务的数据;

3.Percona组件安装配置

【Percona监控插件官方安装文档】
【Percona监控插件下载地址】
【Percona仓库地址】

注:

当前Percona插件已经不提供服务了,官网上我没又找到rpm包,可以通过其他方式找到对应的rpm包;

1)服务器安装Percona插件

客户端安装Percona,我们需要安装php环境,需要用php执行程序连接数据库查询相应的状态

#安装Percona仓库源
rpm -ivh https://repo.percona.com/yum/percona-release-latest.noarch.rpm


#使用yum或者dnf工具安装(不同系统版本使用的安装工具不同)
yum clean all && yum makecache && yum install percona-zabbix-templates



#安装ok后,查看相关配置
[root@server ~]# rpm -ql percona-zabbix-templates
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

2)环境检查

#客户端服务器防火墙关闭
systemctl stop firewalld && systemctl disable firewalld && setenforce 0



# 查看php环境
yum install php php-mysql -y
php -v

3)配置Percona

Percona监控在取监控数值时需要数据库的用户和密码,Percona配置用户和密码放在ss_get_mysql_stats.php文件中,这个文件需要创建,里面存放用户名和密码,在ss_get_mysql_stats.php脚本中有一段配置如下,意思是会在本地找一个以.cnf后缀名结尾的配置文件用它里面的用户名和密码,找到就会读取里面的用户名和密码,没找到文件或者里面的用户和密码不对则获取不到值。所以我们要在路径下创建一个 ss_get_mysql_stats.php.cnf 的文件

# 备份配置
cp  /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.bak


# 脚本配置文件放置到agent配置下
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agent2.d/




# 修改插件脚本配置信息
[root@server ~]# egrep '^[^#|  ]'  /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php | head -10
<?php
if ( !array_key_exists('SCRIPT_FILENAME', $_SERVER)
$mysql_user = 'zabbix';           #数据库用户
$mysql_pass = 'Zabbix@21';        #数据库密码
$mysql_port = 3306;
$mysql_socket = NULL;
$mysql_flags = 0;
$mysql_ssl  = FALSE;   # Whether to use SSL to connect to MySQL.
$mysql_ssl_key  = '/etc/pki/tls/certs/mysql/client-key.pem';
$mysql_ssl_cert = '/etc/pki/tls/certs/mysql/client-cert.pem';




# 测试(在配置中随便赵两三项测试一下)
cat /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf  
.......
UserParameter=MySQL.Query-time-count-07,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh os
UserParameter=MySQL.Key-read-requests,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg  
UserParameter=MySQL.running-slave,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
.......

[root@server ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
6
[root@server ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh os
0
[root@server ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
0


#zabbix agent重启
systemctl restart zabbix-agent.service



#客户端测试数据是否可以正常获取
[root@server ~]#  cd /var/lib/zabbix/percona/scripts/
[root@server /var/lib/zabbix/percona/scripts]# sh get_mysql_stats_wrapper.sh il
912
[root@server /var/lib/zabbix/percona/scripts]# sh get_mysql_stats_wrapper.sh ll
0




# 模板导出上传到,导入到zabbix web
sz /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml

4.zabbix WEB模板导入

模板导入很简单,如下四部即可;

在这里插入图片描述

导入由于模板版本的不匹配,导致如下错误
模版不匹配,是因为percona官方上1.1.8还是zabbix2.0的版本模版,所以需要跟新上来匹配zabbix3.0的模版规范,而且这个zabbix模版还是直接copy的cacti模版,比较粗糙,用more查看就可以看到里面都是cacti的内容

在这里插入图片描述

问题解决:导入zabbix3.0之上模板

模板链接:点击下载即可

如下表示导入成功

在这里插入图片描述

5.zabbix 状态查看

模板关联及状态监控项确认

在这里插入图片描述

在这里插入图片描述

监控主机数据查看

在这里插入图片描述

监控数据图形

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

聚合图新

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值