引言:明人不说暗话,今天分享下配置zabbix平台对数据库以及主从状态的监控
准备好zabbix监控平台(zabbix-server端)例10.12.153.235
db1客户端(zabbix-agent)例10.12.153.73
1.安装Zabbix存储库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm # yum clean all
2.安装 Zabbix agent
# yum install zabbix-agent -y
3.启动Zabbix agent进程,并设置开机自启
# systemctl start zabbix-agent # systemctl enable zabbix-agent
4.将客户端加入监控平台
5.确保已启动并数据库正常运行。
6.登录数据库配置
创建zabbix_proxy 库并设置字符集
mysql>create database zabbix_proxy character set utf8 collate utf8_bin;
创建用户zabbix和密码并设置登录范围(这里我们默认所有人可登录)
create user 'zabbix'@'%' identified by 'Aa@123456';
给zabbix用户授权
grant all privileges on zabbix_proxy.* to 'zabbix'@'%';
打开全局变量
set global log_bin_trust_function_creators = 1;
刷新
flush privileges;
7.编辑zabbix_agentd配置文件
vim /etc/zabbix/zabbix_agentd.conf
加入server端地址和proxy端地址
Server=10.12.153.235,10.12.153.188
ServerActive=10.12.153.235,10.12.153.188
8.重启zabbix_agentd服务
systemctl restart zabbix-agent
web1代理端(zabbix-proxy)例10.12.153.188
1.确保已启动并运行数据库。
2.安装Zabbix存储库
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm # yum clean all
3.安装 Zabbix proxy
yum install zabbix-proxy-mysql -y
4.远程导入客户端的zabbix_proxy 库的架构和数据
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -pAa@123456 -h10.12.153.73 zabbix_proxy
5.配置完成后返回客户端
登录数据库关闭数据库全局变量
mysql>set global log_bin_trust_function_creators = 0;
6.编辑zabbix_proxy的配置文件 /etc/zabbix/zabbix_proxy.conf
vim /etc/zabbix/zabbix_proxy.conf
需要找到并修改的配置如下
ProxyMode=1 # 0为主动 1为被动
Server=服务端ip地址
SourceIP=发送采样信息的ip地址
Hostname= #主机名
ListenPort=10051 #proxy自己的监听端口
EnableRemoteCommands=1 #允许远程命令
LogRemoteCommands=1 #记录远程命令的日志
数据的配置
DBHost=数据库地址
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=Aa@123456
ConfigFrequency=30 #多长时间,去服务端拖一次有自己监控的操作配置;为了实验更快的生效,这里设置30秒,默认3600s
DataSenderFrequency=1 #每一秒向server 端发一次数据,发送频度
修改完成后保存退出
7.启动Zabbix proxy进程并设置开机自启
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
8.zabbix-proxy端添加到监控平台创建为agent代理
9.zabbix-proxy端创建为agent代理
配置db1客户端(server-agent)端端口监控项被Zabbix proxy端代理监控
测试成功后添加此监控项
配置监控主从状态
1.配置db1客户端(zabbix-agent)和db2客户端(zabbix-agent)例10.12.153.69做主从复制,db1客户端(zabbix-agent)为从库
2.db1客户端编写脚本读取两个Yes的值
vim mycat-status.sh
#!/bin/bash
SQL=$(mysql -uroot -p'Aa@123456' -e 'show slave status\G' 2>/dev/null |grep "Slave_SQL_Running"|awk 'NR==1{print $2}')
IO=$(mysql -uroot -p'Aa@123456' -e 'show slave status\G' 2>/dev/null |grep "Slave_IO_Running"|awk 'NR==1{print $2}')
if [ "$SQL" = "Yes" -a "$IO" = "Yes" ];then
echo 1
else echo 0
fi
3.db1客户端编写赋值
vim /etc/zabbix/zabbix_agentd.d/mycat-status.conf
赋值名mycat-status加上脚本路径
UserParameter=mycat-status,sh /opt/mycat-status.sh
保存退出
4.重启zabbix-agent
systemctl restart zabbix-agent
5.将db2客户端(zabbix-agent)主机加入监控平台
6.创建db1客户端(zabbix-agent)的监控项
测试成功后添加