主从同步搭建 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.创建动作
创建完动作之后
- 查看结果