配置Zabbix告警- 飞书机器人报警

in 默认分类 with 0 comment

2023-09-27T05:34:55.png
此文档由黄杰华同学提供技术支持,文献查找及功能实现均由黄杰华同学实现,本人进行仅对此搭建文档总结。

机器人创建

1、在飞书PC端打开群组,点击左右边一列最后的设置按钮,群机器人,添加机器人,自定义机器人,添加

2023-09-27T05:34:59.png
2023-09-27T05:35:26.png
2023-09-27T05:35:31.png
2、设置机器人名称以及描述,点击添加,会生成webhook地址,复制保存下来
2023-09-27T05:35:35.png

安装pip工具和安装requests模块

1、首先检查Linux有没有安装Python3-pip包,直接执行

[root@localhost ~]#yum install python3-pip

2、没有python3-pip包就执行命令

[root@localhost ~]#yum -y install epel-release

2023-09-27T05:35:43.png
3、执行成功之后,再次执行

[root@localhost ~]#yum install python3-pip

2023-09-27T05:35:47.png

可以使用python --version 和python3 --version 查看python版本号
2023-09-27T05:35:54.png
注意:该脚本要求至少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模块

2023-09-27T05:36:18.png

创建编辑飞书脚本文件

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}
2023-09-27T05:37:00.png
2.用户内添加报警媒介
2023-09-27T05:37:05.png

3.根据需求配置需要告警的级别,添加完成后点击更新。
2023-09-27T05:37:09.png
2023-09-27T05:37:16.png
创建动作
2023-09-27T05:37:27.png
2023-09-27T05:37:30.png
2023-09-27T05:37:33.png
4.设置通知用户,触发的脚本名称,消息内容
2023-09-27T05:37:38.png

异常通知: {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}

点击保存即可

Responses