德州公司做网站,山西省智慧建筑信息平台,天河网站 建设信科网络,360网站服务监控需求描述 实现鸿鹄与飞书的双向集成#xff0c;依赖鸿鹄的告警机制#xff0c;可以发送用户关心的信息到飞书。同时依赖飞书强大的卡片消息功能#xff0c;在飞书消息里面能够通过链接#xff08;如下图#xff09;返回到鸿鹄以方便用户进一步排查和分析问题。 解决方案 1…需求描述 实现鸿鹄与飞书的双向集成依赖鸿鹄的告警机制可以发送用户关心的信息到飞书。同时依赖飞书强大的卡片消息功能在飞书消息里面能够通过链接如下图返回到鸿鹄以方便用户进一步排查和分析问题。 解决方案 1. 第一步创建告警 依据文档鸿鹄如何与飞书集成
https://yanhuang.yuque.com/staff-sbytbc/rb5rur/kgihmq
一步一步操作即可. 为了能够让告警更精确的触发根据你的硬件配置和使用情况设置一定的延时时间一般来说30S是足够了。 2. 第二步构建消息模版 2.1 初探鸿鹄的告警token
根据文档创建告警炎凰数据平台鸿鹄社区版
http://www.yanhuangdata.com/honghu_manual/docs/alerting/create/#token-lists 可以获取很多有意义的告警相关的token如下图 利用这些token能很容易的知道此次告警的上下文也就以为这些tokens可以用来组合一条丰富的告警信息。 2.2 熟悉鸿鹄的告警渲染模版
鸿鹄的告警信息渲染引擎无论是邮件body还是webhook body都采用Jinja2模版引擎来渲染结合上面提到的tokens就可以非常灵活地构建各式的模版以应用于不同的接收端。Jinja2模版具体的细节可以参考
https://jinja.palletsprojects.com/en/3.1.x/templates/ 2.3 飞书的卡片消息
参考飞书卡片消息搭建工具
https://open.feishu.cn/document/ukTMukTMukTM/uYzM3QjL2MzN04iNzcDN/message-card-builder
飞书卡片消息开箱即用无需太多的学习成本很快就能制作出业务所需要的卡片消息。 2.4 飞书卡片消息最终模版
关键tokens
获取程序的namespace获取程序的name获取alert search job的URL 注意目前host需要hardcoded, 通过此URL就能从飞书返回到鸿鹄。 2.5 最终效果图
如下卡片消息包含了namespace application nameerror message和可返回鸿鹄的超链接。 鸿鹄价值 能够及时地推送告警信息目前支持邮件和Webhook当前大部分软件都包含Webhook功能因此鸿鹄对接收端的支持应该是非常丰富的。 内生的tokens加上Jinja2渲染引擎可以构建出各种接收端的消息主体 接收端能够返回鸿鹄双向集成方便了用户收到告警消息后可以进一步探索当时的上下文提供了排查得便利性。 后续工作 在告警这块个人觉得鸿鹄在以下几个方面可以进一步改进 告警的实时性目前采用定时任务来产生告警信息在某些情况下消息不能实时地传达到接收端可能会造成运维故障。告警的编辑页面需要进一步提升友好性 比如如上的编辑页面负载这个地方只是一个input输入框在消息模版比较复杂的情况下是很难在此编辑的。我目前的做法是先用本地编辑器编辑好然后复制到此输入框。 最好的方案可能是鸿鹄提供一个消息模版的编辑界面允许用户上传和在鸿鹄上编辑消息模版在告警这个界面只要链接到某个消息模版即可。 由于采用定时任务来触发告警某个时间段可能存在多条alert logs目前接收端只能收到最新的一条log。不过通过“返回鸿鹄”按钮用户在对应的查询界面可以看到所有的alert logs。鸿鹄可以试着优化此功能或者建议用户返回鸿鹄查看更多的信息。 开发环境 Vector: 0.28.1
鸿鹄: 2.9.0
飞书: 6.0.5