Zabbix6 手把手详细对接飞书告警
1. 获取飞书Webhook地址
-
创建飞书群组
-
群组中新建机器人
-
获得Webhook地址
https://open.feishu.cn/open-apis/bot/v2/hook/025b7941-4c30-4fa4-8ca6-xxxxxxxx
2. 发送脚本
2.1 编辑发送脚本
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
import datetime
# 你复制的webhook地址粘贴进url内
url = "https://open.feishu.cn/open-apis/bot/v2/hook/025b7941-4c30-4fa4-8ca6-xxxxxxxx"
def send_message(message):
payload_message = {
"msg_type": "text",
"content": {
"text": message
}
}
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=json.dumps(payload_message))
return response
if __name__ == '__main__':
text = sys.argv[1]
send_message(text)
2.2 验证脚本
-
脚本放置在zabbix对应目录:/usr/lib/zabbix/alertscripts
-
服务器上脚本赋予执行权限且python环境正常
-
验证发送脚本:
root@xx:/usr/lib/zabbix/alertscripts# ./feishu.py 20240910-测试
-
飞书群有收到对应测试内容信息,说明脚本验证成功:
3. zabbix 界面配置
告警媒介:feishu.py是脚本名
3.1 创建报警媒介类型Media types
创建"飞书告警"Media types,填写报警媒介类型信息:
http://172.105.127.29/zabbix.php?action=mediatype.list
填写报警媒介类型信息,填写对应的值,Message Templetes、选项默认即可,填写完成后点击添加:
parameter参数信息:
{ALERT.MESSAGE}
3.2 测试报警媒介类型Media types
对飞书进行测试:
这时候会有飞书消息发出来:
3.3 创建动作Actions
-
选择创建Trigger actions:
-
创建触发条件,有好几种类型,根据自身情况进行选择,这里选择Trigger severity:
3.3.1 触发告警配置
配置对应的细节操作,勾选Custom Message,填写类型,配置完点击Add:
-
Custom message:
异常告警: {EVENT.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{EVENT.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
3.3.2 告警恢复配置
-
Custom message:
恢复通知: {EVENT.NAME}
恢复主机:{HOSTNAME1}
恢复时间:{EVENT.TIME}
恢复等级:{TRIGGER.SEVERITY}
恢复信息:{EVENT.NAME}
恢复项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
3.4 用户关联飞书告警
选择用户,找到Admin进行关联:
类型选中刚才创建的飞书告警:
4. 模拟告警测试
调低Trigger阈值项,让其触发告警进行测试: