Zabbix飞书机器人告警
步骤:
- 飞书创建群组-添加自定义机器人,复制自定义机器人的webhook地址;
- zabbix服务器脚本目录下新建feishu.py脚本,并配置webhook地址;
- 创建zabbix报警媒介类型,用户添加报警媒介;
- 创建动作,配置操作。
1.飞书创建群组添加自定义机器人
飞书PC端==>>创建群组
打开群组设置==>>添加“自定义机器人”
设置机器人名称、描述,复制保存生成的webhook地址。
2.创建飞书脚本文件
登录zabbix服务器,进入到/usr/lib/zabbix/alertscripts/目录,新建feishu.py文件。
vi /usr/lib/zabbix/alertscripts/feishu.py
添加以下内容:
#!/usr/bin/python3
import requests
import json
import sys
import os
import datetime
url = "webhook地址" #你复制的webhook地址粘贴进url内
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)
添加执行权限
chmod +x /usr/lib/zabbix/alertscripts/feishu.py
3.添加zabbix报警媒介
创建报警媒介类型,参数添加:{ALERT.MESSAGE}
用户内添加报警媒介
根据需求配置需要告警的级别
添加完成后点击更新
4.创建动作并配置
创建动作
操作配置-下图是配置完成的样子
具体每项配置详情
设置通知用户,触发的脚本名称,消息内容
异常通知: {EVENT.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{EVENT.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复操作
恢复通知: {EVENT.NAME}
告警主机:{HOSTNAME1}
告警时间:{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{EVENT.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
点击保存即可
5.告警媒介测试,及常见错误处理
测试告警媒介
成功则会将消息通过群机器人发送。
常见错误:
1.python3路径错误
feishu.py脚本的第一句配置的python3路径不对需要手动重新手动指定
找到当前系统python3的路径替换feishu.py脚本中的第一行#!/usr/bin/python3
[root@Zabbix alertscripts]# whereis python3
python3: /usr/local/bin/python3.8 /usr/local/bin/python3.8-config /usr/local/bin/python3 /usr/local/lib/python3.8
2.python3环境没有安装requests模块
使用pip3安装requests模块
[root@Zabbix alertscripts]# pip3 install requests
标签:zabbix,Zabbix,添加,飞书,告警,EVENT,python3,usr
From: https://www.cnblogs.com/dogha/p/16914375.html