此文档由黄杰华同学提供技术支持,文献查找及功能实现均由黄杰华同学实现,本人进行仅对此搭建文档总结。
机器人创建
1、在飞书PC端打开群组,点击左右边一列最后的设置按钮,群机器人,添加机器人,自定义机器人,添加
2、设置机器人名称以及描述,点击添加,会生成webhook地址,复制保存下来
安装pip工具和安装requests模块
1、首先检查Linux有没有安装Python3-pip包,直接执行
[root@localhost ~]#yum install python3-pip
2、没有python3-pip包就执行命令
[root@localhost ~]#yum -y install epel-release
3、执行成功之后,再次执行
[root@localhost ~]#yum install python3-pip
可以使用python --version 和python3 --version 查看python版本号
注意:该脚本要求至少python2以上版本,且具有requests模块.
否则会报错:
Traceback (most recent call last):
File "./feishu.py", line 2, in <module>
import requests
ImportError: No module named requests
解决办法
进入到/usr/bin/文件夹下运行
[root@localhost ~]#cd /usr/bin/
[root@localhost bin]# pip3 install requests #安装requests模块
创建编辑飞书脚本文件
1、创建编辑飞书脚本文件
[root@localhost ~]#vi /usr/lib/zabbix/alertscripts/feishu.py
2、填写以下内容并保存
#!/usr/bin/python3 #此句不是注释,需写入feishu.py中#
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)
2、添加feishu.py执行权限
[root@localhost ~]#chmod +x /usr/lib/zabbix/alertscripts/feishu.py
3、进入alertscripts文件夹中手动测试脚本是否正常(此时飞书将收到test信息)
[root@localhost alertscripts]#cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# ./feishu.py test
Zabbix设置报警
1.创建报警媒介类型,参数添加:{ALERT.MESSAGE}
2.用户内添加报警媒介
3.根据需求配置需要告警的级别,添加完成后点击更新。
创建动作
4.设置通知用户,触发的脚本名称,消息内容
异常通知: {EVENT.NAME}
告警主机:{HOSTNAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{EVENT.NAME}
当前状态:{TRIGGER.STATUS}
事件ID:{EVENT.ID}
恢复操作
恢复主机:{HOSTNAME}
恢复主机:{HOSTNAME}
告警时间:{EVENT.DATE} {EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
恢复信息:{EVENT.NAME}
当前状态:{TRIGGER.STATUS}
事件ID:{EVENT.ID}
点击保存即可
本文由 yorickbao 创作,采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。