zabbix 调用飞书发送消息

  • A+
所属分类:linux技术
摘要

先感谢参考对象: https://blog.csdn.net/fengwuxichen/article/details/90406489              https://blog.51cto.com/12970189/2472377?source=dra

先感谢参考对象: https://blog.csdn.net/fengwuxichen/article/details/90406489

              https://blog.51cto.com/12970189/2472377?source=dra

以下是我的操作:

在 zabbix 所在服务器,安装python依赖

yum install python-pip  # 已经有了python2.7.5 pip install --upgrade pip  pip install urllib3 pip install requests

找到 zabbix 脚本目录,我的在 /usr/lib/zabbix/alertscripts

添加文件,feishu_send.py  (得益于开发同事写好了接口url,我只要按要求传递消息体就可以了, 这里传了工号和内容)

#!/usr/bin/python # -*- coding: utf-8 -*-  import requests import json import sys import os  headers = {'Content-Type': 'application/json;charset=utf-8'}  api_url = "http://192.168.33.21:8099/api/feishu/send"  def msg(emp_no, text):     json_text= {     "employee_no":emp_no,     "msg_type": "text",     "content": {"text": text}     }      print(requests.post(api_url,json.dumps(json_text),headers=headers).content)   if __name__ == '__main__':    emp_no = sys.argv[1]    text = sys.argv[2]    msg(emp_no, text)

保存文件,并给予执行权限 chmod 755 feishu_send.py

手动执行测试一下: ./feishu_send.py 11220033 testtext

执行成功,飞书收到消息。

接下来,配置zabbix, 先添加,报警媒介类型,使用上面的脚本,并填好参数(是zabbix中的参数)

zabbix 调用飞书发送消息

 

 

给用户添加报警媒介。管理,用户,点击一个用户,报警媒介,添加。类型选上图创建的,收件上则对应上图的第一个参数(这里是工号)

zabbix 调用飞书发送消息

 

 

由于报警可能要发给几个人,所以创建个用户群组。把用户添加进来即可。

 zabbix 调用飞书发送消息

 

 

接下来添加动作。 配置,动作,事件源里选触发器,创建动作。   填写名称,新的触发条件选触发器名称,然后点击操作:

zabbix 调用飞书发送消息

 

 

在操作界面,其它不用改。点一下操作栏,新的, 

zabbix 调用飞书发送消息

 

 操作细节,如下图,最后点添加。

zabbix 调用飞书发送消息

 

 

之后的 恢复操作,更新操作  这2项,依照上面的同样设置即可。最后点击更新。

zabbix 调用飞书发送消息

 

 

最后,测试一下,让 zabbix 监控的对象出个错误,看飞书能否收到消息。

zabbix 调用飞书发送消息