用zabbix6监控mysql,创建自定义模板

今天我们说说怎么用zabbix6来实现对mysql的全面监控。

先看一下这张展示图,它展示了4个从库的主从延时值的变化曲线图。

接下来说说具体配置步骤:

下面这张图是数据库主机的配置图,引用了三个模板,其中“linux by zabbix agent”和“mysql by zabbix agent 2”是zabbix自带的模板,我们只要选取即可。另一个自定义模板后面详述。

然后我们要配置一个宏,用于“mysql by zabbix agent 2”模板接入mysql服务。

创建一个宏:{$MYSQL.DSN},它的值可以跟据主机服务取一个方便的名字,比如mysql_slave_1,这个值将对应数据库服务器上的配置引用。

在数据库服务器上安装好zabbix_agent2服务。

rpm -ivh zabbix-agent2-plugin-mongodb-6.0.17-release1.el7.x86_64.rpm
rpm -ivh zabbix-agent2-plugin-postgresql-6.0.17-release1.el7.x86_64.rpm
rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
rpm -ivh zabbix-agent2-6.0.17-release1.el7.x86_64.rpm

修改配置文件 /etc/zabbix/zabbix_agent2.conf

PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=10.10.56.200
ServerActive=10.10.56.200
Hostname=10.10.9.7
Include=/etc/zabbix/zabbix_agent2.d/*.conf
PluginSocket=/run/zabbix/agent.plugin.sock
ControlSocket=/run/zabbix/agent.sock
Include=/etc/zabbix/zabbix_agent2.d/plugins.d/*.conf

注意修改服务端IP和本机IP。

然后我们在主机的/etc/zabbix/zabbix_agent2.d/plugins.d/mysql.conf文件中增加配置:

Plugins.Mysql.Sessions.mysql_salve_1.Uri=tcp://localhost:3066
Plugins.Mysql.Sessions. mysql_salve_1.User=zabbix
Plugins.Mysql.Sessions. mysql_salve_1.Password=zabbix

注意 mysql_salve_1与{$MYSQL.DSN}宏的值相对应。

账号密码及端口按实际情况做修改。也可以在mysql中进行授权:

GRANT USAGE,PROCESS,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'zabbix'@'::1' IDENTIFIED BY 'zabbix';

重启服务: systemctl restart zabbix-agent2.service


接下来主要说一下第三个模板”mysql-delay”的配置方法:

创建模板“mysql-delay”,群组可以按需要选择。

在模板中添加两个监控项,输入名称和键值。注意这里的键值也是与脚本中的对应保持一致。

创建三个触发器

创建依赖关系,这样的话,如果延时太高报警了,那么延时稍高就不会重复报警了。

最后再创建图形,各图形选择好对应的监控项

在mysql服务器上创建配置文件:/etc/zabbix/zabbix_agent2.d/plugins.d/mysql_delay.conf

UnsafeUserParameters=1
UserParameter=check_mysql_delay,/etc/zabbix/scripts/mysql_delay.sh
UserParameter=check_mysql_status,/etc/zabbix/scripts/mysql_status.sh

创建脚本目录及脚本文件

mkdir /etc/zabbix/scripts

检测延时的脚本:/etc/zabbix/scripts/mysql_delay.sh

#!/bin/bash
delay=$(/usr/local/mysql/bin/mysql -uroot -psa -e "show slave statusG" 2>/dev/null |grep Seconds_Behind_Master |awk '{print $2}')
echo $delay

注意修改密码,替换 -psa

检测同步状态的脚本:/etc/zabbix/scripts/mysql_status.sh

#!/bin/bash
count=$(/usr/local/mysql/bin/mysql -uroot -ps -e "show slave statusG" 2>/dev/null |grep "Running:" |grep -c "Yes")
if [ $count -ne 2 ]
then
      echo '1'
else
		echo '0'
fi

重启服务: systemctl restart zabbix-agent2.service

稍等一会,查看图形,就有数据了。


文章开头的图是仪表盘,只需要添加仪表盘,类型选图表,然后选择上面创建的图形,保存即可。

展开阅读全文

页面更新:2024-03-10

标签:模板   曲线图   主从   触发器   脚本   图形   仪表盘   主机   数据库   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top