zabbix监控mysql主从同步

发布时间 2023-10-13 11:59:46作者: 小小一兆

主从同步搭建  https://www.cnblogs.com/cndr/p/17756341.html

一、mysql-slave主机上编写自定义监控项

[root@mysql-slave ~]# cat /etc/zabbix/zabbix_agentd.d/mysql.conf 
UserParameter=mysql-tongbu,mysql -e "show slave status\G" | grep "Running" |awk "{print $2}" | grep -c "Yes"

数据库创建zabbix授权用户,主从同步,在master创建用户。

mysql> CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.04 sec)

mysql> GRANT ALL on *.* to zabbix;
Query OK, 0 rows affected (0.36 sec)

mysql> select user,host from mysql.user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mycatproxy | % |
| tongbu | % |
| zabbix | % |

 设置去除明文输入密码登录数据库提醒,从库操作

  [root@mysql-slave ~]# cat /var/lib/zabbix/.my.cnf
  [client]
  user=zabbix
  password=zabbix
  host=192.168.88.21

  脚本执行结果如下

[root@zabbixserver ~]# zabbix_get -s 192.168.88.21 -k mysql-tongbu
2

二、zabbix页面配置

1.创建模板

2.创建监控项

 3.应用模板到主机

查看最新数据:有数据即为监控成功

 

三、配置钉钉机器人告警

创建钉钉机器人

1.群设置里添加机器人

 

2.编写脚本并测试

# 安装钉钉机器人脚本需要用到的模块
[root@zabbixserver ~]# yum install -y python3-requests

# 编写钉钉机器人脚本
[root@zabbixserver ~]# vim /usr/lib/zabbix/alertscripts/dingalert.py 
#!/usr/bin/env python3

import json
import requests
import sys

def send_msg(url, remiders, msg):
    headers = {'Content-Type': 'application/json; charset=utf-8'}
    data = {
        "msgtype": "text",
        "at": {
            "atMobiles": remiders,
            "isAtAll": False,
        },
        "text": {
            "content": msg,
        }
    }
    r = requests.post(url, data=json.dumps(data), headers=headers)
    return r.text

if __name__ == '__main__':
    msg = sys.argv[1]
    remiders = []
    url = '钉钉机器人Webhook地址'  # 注意此处需输入机器人的webhook地址,在上面钉钉机器人设置里
    print(send_msg(url, remiders, msg))

脚本授权 [root@zabbixserver ~]# chmod +x /usr/lib/zabbix/alertscripts/dingalert.py [root@zabbixserver ~]# /usr/lib/zabbix/alertscripts/dingalert.py '数据库主从同步失败: 测试消息' # 注意消息中要包含关键字数据库主从同步失败 {"errcode":0,"errmsg":"ok"}

查看钉钉信息

 

3.添加报警媒介

 这里要含有机器人设置的关键字

 4.用户添加报警媒介

5.创建触发器

6.创建动作

 创建完动作之后

  • 查看结果