利用数据分析告警机制,实现鸿鹄与飞书双向集成

需求描述

实现鸿鹄与飞书的双向集成,依赖鸿鹄的告警机制,可以发送用户关心的信息到飞书。同时依赖飞书强大的卡片消息功能,在飞书消息里面能够通过链接(如下图)返回到鸿鹄以方便用户进一步排查和分析问题。

解决方案

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 name,error message和可返回鸿鹄的超链接。

鸿鹄价值

能够及时地推送告警信息,目前支持邮件和Webhook,当前大部分软件都包含Webhook功能,因此鸿鹄对接收端的支持应该是非常丰富的。

内生的tokens加上Jinja2渲染引擎,可以构建出各种接收端的消息主体

接收端能够返回鸿鹄,双向集成,方便了用户收到告警消息后,可以进一步探索当时的上下文,提供了排查得便利性。

后续工作

在告警这块,个人觉得鸿鹄在以下几个方面,可以进一步改进:

  • 告警的实时性:目前采用定时任务来产生告警信息,在某些情况下,消息不能实时地传达到接收端,可能会造成运维故障。
  • 告警的编辑页面需要进一步提升友好性

比如如上的编辑页面,负载这个地方只是一个input输入框,在消息模版比较复杂的情况下,是很难在此编辑的。我目前的做法是先用本地编辑器编辑好,然后复制到此输入框。

最好的方案可能是,鸿鹄提供一个消息模版的编辑界面,允许用户上传和在鸿鹄上编辑消息模版,在告警这个界面只要链接到某个消息模版即可。

  • 由于采用定时任务来触发告警,某个时间段可能存在多条alert logs,目前接收端只能收到最新的一条log。不过通过“返回鸿鹄”按钮,用户在对应的查询界面,可以看到所有的alert logs。鸿鹄可以试着优化此功能,或者建议用户返回鸿鹄查看更多的信息。

开发环境

Vector: 0.28.1

鸿鹄: 2.9.0

飞书: 6.0.5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/40008.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

旅游卡加盟代理合伙人模式软件开发

旅游卡加盟代理合伙人模式是近年来逐渐兴起的一种旅游产业发展模式,它通过将旅游卡加盟商与代理商紧密结合,实现资源共享、风险共担、合作共赢的目标。而软件开发作为旅游卡加盟代理合伙人模式的重要技术支持,对于该模式的实施和发展起着至关…

【Linux系统】结合有趣的小故事让你学懂生产者消费者模型

目录 由故事引入模型故事背景供货商们的矛盾市民们和供货商之间的矛盾一市民们和供货商之间的矛盾二市民们的矛盾模型总结 生产者消费者模型为什么要使用生产者消费者模型?生产者消费者模型的特点生产者消费者模型优点 基于BlockingQueue的生产者消费者模型C queue模…

行为式验证码(成语点选)(C#版和Java版)

一、先看效果图 二、背景介绍 图形验证码网上有挺多,比如:网易易盾、腾讯防水墙、阿里云验证码等等。参考了一下,自己实现了一个简单的成语点选的模式。 三、实现思路 1.选择若干张图片(这里使用的是320x160的尺寸)…

【Linux】生产者消费者模型 -- RingQueue

文章目录 1. 信号量1.1 信号量的引入1.2 信号量的概念1.3 信号量函数 2. 二元信号量模拟实现互斥功能3. 基于环形队列的生产消费模型3.1 空间资源和数据资源3.2 生产者和消费者申请和释放资源3.3 必须遵守的两个规则3.4 代码实现3.5 信号量保护环形队列的原理 1. 信号量 1.1 信…

Java 串口通讯 Demo

为什么写这篇文章 之前职业生涯中遇到的都是通过tcp协议与其他设备进行通讯,而这个是通过串口与其他设备进行通讯,意识到这里是承重板的连接,但实际上比如拉力、压力等模拟信号转换成数字信号的设备应该是有相当一大部分是通过这种方式通讯的…

6.溢出的文字省略号显示

6.1单行文本溢出显示省略号 必须满足三个条件 /*1. 先强制一行内显示文本*/ white-space: nowrap; &#xff08; 默认 normal 自动换行&#xff09; /*2. 超出的部分隐藏*/ overflow: hidden; /*3. 文字用省略号替代超出的部分*/ text-overflow: ellipsis;【示例代码】 <…

Redis学习(三)持久化机制、分布式缓存、多级缓存、Redis实战经验

文章目录 分布式缓存Redis持久化RDB持久化AOF持久化 Redis主从Redis数据同步原理全量同步增量同步 Redis哨兵哨兵的作用和原理sentinel&#xff08;哨兵&#xff09;的三个作用是什么&#xff1f;sentinel如何判断一个Redis实例是否健康&#xff1f;master出现故障后&#xff0…

Windows下PyTorch深度学习环境配置(GPU)

一&#xff1a;下载Anaconda &#xff08;路径最好全英文&#xff09; &#xff08;下载好后&#xff0c;可以创建其他虚拟环境&#xff0c;因为是自己学习&#xff0c;所以先不放步骤&#xff0c;有需要者可以参考B站up我是土堆的视频&#xff09; 二&#xff1a;利用 conda…

本地生活直播,和电商直播有什么不一样?

直播正在成为零售业的标配&#xff0c;当下最新的一条赛道是“本地生活直播”。 &#xff08;商家开始在美团等平台进行本地生活直播。摄影&#xff1a;李崧稷&#xff09; 今年618&#xff0c;在老牌电商平台拉着无数网店&#xff0c;拼尽全力想要堆高销量的时候&#xff0c;一…

《TCP IP网络编程》第六章

《TCP IP网络编程》第六章&#xff1a;基于 UDP 的服务端/客户端 UDP 套接字的特点&#xff1a; 通过寄信来说明 UDP 的工作原理&#xff0c;这是讲解 UDP 时使用的传统示例&#xff0c;它与 UDP 的特点完全相同。寄信前应先在信封上填好寄信人和收信人的地址&#xff0c;之后…

pytorch+CRNN实现

最近接触了一个仪表盘识别的项目&#xff0c;简单调研以后发现可以用CRNN来做。但是手边缺少仪表盘数据集&#xff0c;就先用ICDAR2013试了一下。 结果遇到了一系列坑。为了不使读者和自己在以后的日子继续遭罪。我把正确的代码发到下面了。 1&#xff09;超参数请不要调整&am…

抖音新号起号正确方法,如何操作?

抖音上有着越来越多的卖家注册账号&#xff0c;但刚开始在注册账号后&#xff0c;新号是没有什么流量的&#xff0c;所以想要获得更多的流量的话&#xff0c;在刚开始进行起号的时候就需要按照以下方式进行&#xff0c;下面就一起了解清楚。 第一个找对标内容&#xff0c;抖音…

04 QT坐标系

在QT中默认左上角为原点&#xff0c;即&#xff08;0,0&#xff09;点。x轴右侧为正方向&#xff0c;y轴以下侧为正方向

解锁编程世界的魔法密码:探索算法的奥秘与应用

一个程序员一生中可能会邂逅各种各样的算法&#xff0c;但总有那么几种&#xff0c;是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓&#xff01;”算法吧~* 一&#xff1a;引言 算法是解决问题和优化程序性能的核心&#xff0c;它是一…

Notepad++ 配置python虚拟环境(Anaconda)

Notepad配置python运行环境步骤&#xff1a; 打开Notepad ->”运行”菜单->”运行”按钮在弹出的窗口内输入以下命令&#xff1a; 我的conda中存在虚拟环境 (1) base (2) pytorch_gpu 添加base环境至Notepad中 cmd /k chdir /d $(CURRENT_DIRECTORY) & call cond…

LCD—STM32液晶显示(2.使用FSMC模拟8080时序)

目录 使用STM32的FSMC模拟8080接口时序 FSMC简介 FSMC NOR/PSRAM中的模式B时序图 用FSMC模拟8080时序 重点&#xff1a;HADDR内部地址与FSMC地址信号线的转换&#xff08;实现地址对齐&#xff09; 使用STM32的FSMC模拟8080接口时序 ILI9341的8080通讯接口时序可以由STM32使…

Java项目查询统计表中各状态数量

框架&#xff1a;SpringBoot&#xff0c;Mybatis&#xff1b;数据库&#xff1a;MySQL 表中设计2个状态字段&#xff0c;每个字段有3种状态&#xff0c;统计这6个状态各自的数量 sql查询语句及结果如图 SQL&#xff1a; SELECT SUM(CASE WHEN A0 THEN 1 ELSE 0 END) AS A0…

准备WebUI自动化测试面试?这30个问题你必须掌握(一)

本文共有8600字&#xff0c;包含了前十五个问题&#xff0c;如需要后十五个问题&#xff0c;可查看文末链接~ 1. 什么是WebUI自动化测试&#xff1f; WebUI自动化测试是指使用自动化测试工具和技术来模拟用户在Web用户界面&#xff08;UI&#xff09;上执行操作&#xff0c;并…

(转载)BP神经网络的非线性系统建模(matlab实现)

本博客的完整代码获取&#xff1a; https://www.mathworks.com/academia/books/book106283.html 1案例背景 在工程应用中经常会遇到一些复杂的非线性系统,这些系统状态方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。方法把未知系统看…

深度学习环境安装|PyCharm,Anaconda,PyTorch,CUDA,cuDNN等

本文参考了许多优秀博主的博客&#xff0c;大部分安装步骤可在其他博客中找到&#xff0c;鉴于我本人第一次安装后&#xff0c;时隔半年&#xff0c;我忘记了当时安装的许多细节和版本信息&#xff0c;所以再一次报错时&#xff0c;重装花费了大量时间。因此&#xff0c;我觉得…