Zabbix 对接飞书实现带图片的报警通知

栏目: IT技术 · 发布时间: 4年前

内容简介:Wanger,Zabbix运维工程师,熟悉Zabbix开源监控系统的架构,乐于分享Zabbix运维经验,个人公众号“没有故事的陈师傅”擅长领域:Zabbix基础设施运维以及Zabbix图形化展示

作者简介

Zabbix 对接飞书实现带图片的报警通知

Wanger,Zabbix运维工程师,熟悉Zabbix开源监控系统的架构,乐于分享Zabbix运维经验,个人公众号“没有故事的陈师傅”

擅长领域:Zabbix基础设施运维以及Zabbix图形化展示

飞书提供了丰富的api来实现消息的通知,包括文本消息、图片消息、富文本消息,本次介 绍使用飞书api发送富文本消息,以下是实现思路。

飞书API地址:

https://open.feishu.cn/document/ukTMukTMukTM/uITNz4iM1MjLyUzM 

实现思路

1.根据正则获取监控项id,需要在动作中定义报警信息

2.根据获取的监控项id构造请求获取图片地址,并下载到本地

3.获取认证凭证,需要获取三个授权凭证

  • app_access_token :访问App资源相关接口。

  • tenant_access_token :访问企业资源相关接口。

  • user_access_token :访问用户资源相关接口。

4.根据zabbix报警的收信人手机号获取user_id,用于后面在群里@相关负责人,或者直接发给某个责任人

5.chat_id用于发送给指定的群,这里我提供两种方法获取chat_id,后面会介绍

6.上传本地图片到飞书,并获取image_key,image_key用于发送图片信息

7.传入zabbix报警消息,并艾特相关负责人发送到飞书群里或者个人

获取itemID

利用正则匹配报警信息中的itemID

Zabbix 对接飞书实现带图片的报警通知

获取报警图片地址

根据传入的itemID,构造请求下载报警图片,并保存到本地

Zabbix 对接飞书实现带图片的报警通知

Zabbix 对接飞书实现带图片的报警通知

Zabbix 对接飞书实现带图片的报警通知

获取授权凭证

1.获取 App ID 和 App Secret

登录开发者后台,在“我的应用”页面创建企业自建应用。进入企业自建应用详情页,获取 App ID和App Secret。

Zabbix 对接飞书实现带图片的报警通知

2.获取 tenant_access_token 

一种方法是通过企业自建应用方式获取,另一种是通过应用商店应用获取,这里我使用第一 种方法,直接创建应用即可

Zabbix 对接飞书实现带图片的报警通知

3.创建完应用后可根据APP ID和 App Secret构造请求获取 

Zabbix 对接飞书实现带图片的报警通知

获取user_id 

user_id可以根据注册的手机号或邮箱获取,可以在zabbix中定义用户的手机号,然后传入 参数获取user_id

Zabbix 对接飞书实现带图片的报警通知

获取chat_id 

这里我提供两种方法获取chat_id,一种是将机器人加入到群里,获取群信息中的chat_id;另一种是通过机器人创建群聊获取群信息,当然还有其他的方法,这里我就不过多介绍了, 我将使用第一种方法来获取chat_id

首先将机器人加入到群聊

Zabbix 对接飞书实现带图片的报警通知

构造请求获取chat_id 

Zabbix 对接飞书实现带图片的报警通知

通过api向飞书上传报警图片

通过上传报警图片,会获取到一个image_key,用于发送富文本消息的图片信息

Zabbix 对接飞书实现带图片的报警通知

Zabbix 对接飞书实现带图片的报警通知

向飞书群里或者飞书用户发送消息 

这里需要四个参数,分别是user_id、chat_id、tenant_access_token和image_key,并传 入报警信息即可发送

Zabbix 对接飞书实现带图片的报警通知

Zabbix 对接飞书实现带图片的报警通知

在ZABBIX上配置报警动作及接收人 

配置报警媒介类型 

注意参数顺序不能乱

Zabbix 对接飞书实现带图片的报警通知

配置用户的接收信息 

也就是用户注册飞书的手机号

Zabbix 对接飞书实现带图片的报警通知

配置动作

Zabbix 对接飞书实现带图片的报警通知

报警测试

这里我禁掉了其中一台windows的agent进行测试

Zabbix 对接飞书实现带图片的报警通知

完整代码可访问

https://github.com/sunsharing-note/zabbix/blob/master/feishu_img.py

Zabbix 对接飞书实现带图片的报警通知

欢迎投稿

内容

与运维、Zabbix相关即可

方式

私信小Z(微信&电话 17502189550)

关于投稿专栏

主要为大家提供一个展现自己的平台,作者观点不等同社区观点, 欢迎读者在评论区留言讨论

奖励制度

投稿可以获得Z积分*2

每月评选,阅读量TOP3可获得积分9/6/3分

ps:公众号回复【积分】,有惊喜

Zabbix 对接飞书实现带图片的报警通知

联系我们

电话:17502189550(微信同号)

邮箱:china@zabbix.com

网站:www.zabbix.com/cn  www.grandage.cn

一键关注

关注公众号

加入社区群

Zabbix 对接飞书实现带图片的报警通知

Zabbix 对接飞书实现带图片的报警通知

Zabbix社区,因你而更美好


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

expert one-on-one J2EE Development without EJB 中文版

expert one-on-one J2EE Development without EJB 中文版

[美] Rod Johnson、Juergen Hoeller / JavaEye / 电子工业出版社 / 2005-9 / 59.80元

乍一看这本书的名字,Expert one on one J2EE development without EJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而without EJB看上去有点象是故意挑衅EJB的感觉。一本J2EE的书怎么可能会给人带来信念或思维的冲击呢?但是它做到了,它不仅使自己变成了不朽的经典,也使Rod Johnson成为了我最近一年的新偶像。           ......一起来看看 《expert one-on-one J2EE Development without EJB 中文版》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具