优维产品最佳实践第2期:一个“好”的告警通知是怎样的?

技术干货|如何在微服务架构下构建高效的运维管理平台? 如何构建一个高效的运维管理平台? 本文为优维科技CTO黎明在《云上运维与研发最佳实践》活动上的内容分享,本文结合微服务架构特点,解读如何构建一个高效运维管理平台。 黎明带领团队自主研发了全栈DevOps运维管理平台—EasyOps,是目前行业领先的智能化运维管理平台。作为前腾讯运维研发负责人,黎明主导了多个运维系统研发舆情监控、大数据监控平台、CMDB、实时日志分析平台、织云、客户端体验监控等。 ... 阅读详情

 告警通知信息是监控实践中非常关键的一环,在众多的告警消息中,如何让管理员快速识别关键信息,从而提升故障响应效率?

本期EasyOps产品使用最佳实践,我们将为您揭晓:

  • 一个称得上”好“的告警通知应该是怎样的?
  • 如何为告警通知穿上“华丽”的衣服,让它更加直观和显眼?

背 景

开头有说到,告警通知信息是监控实践中非常关键的一环,它可以帮助管理员快速发现和解决潜在问题,提高故障处理效率,以保障系统的稳定性和可靠性。因此,一个“好“的告警通知能让我们的监控实践事半功倍。

下面将探讨一个称得上”好“的告警通知应该是怎样的,以及它是如何在监控实践中发挥着它的“好处”。

众所周知,一个“好”的告警通知应该具备以下几种能力:

  • 清晰明了的主题:能一目了然描述告警内容;
  • 详细的告警内容:能提供足够的详细信息,包括具体的异常情况,触发条件和告警级别;
  • 相关的上下文信息:提供必要的告警上下文信息,包括指标信息的丰富,告警对象的配置信息丰富等;
  • 相关的时间戳:包含首次告警时间戳,告警持续时间戳;
  • 关联的事件详情:提供告警事件的详情和告警规则的详情;
  • 多种通知媒介:不同的告警级别可能基于不同媒介通知给不同人;
  • 好的可读性:添加合适的样式和格式编排,以提高管理员阅读告警通知效率,提高传递效果和信息传递效率。

同时,我们希望告警通知可以设计成可复用的模板,方便在不同监控场景中进行配置和使用,减少重复劳动。

下面我们将以一个特定监控场景为背景,针对某个监控指标,描述了在大禹监控平台中,如何配置出一个符合上述条件的告警通知。

场 景 说 明

我们在日常监控中关注的最基础的场景之一可能就是内存使用情况的监控。内存作为计算机系统的关键资源之一,对系统的性能和稳定性有着直接影响。当内存使用率超过告警阈值,发出告警通知时,我们希望从通知中获知一些关键信息。

配 置

1.告警条件设置

我们先针对目标主机配置一条告警规则,具体的配置过程不赘述,这里让我们只关注内存使用情况的监控。

我们设定这样一个告警条件:

  • 警告级别:主机内存使用率大于80% 且可用内存小于5GiB

我们编辑告警条件策略,告警来源选择从【阈值判断 · 所有条件】产生,告警指标选择实际内存使用百分比,实际空闲内存。如下图所示:

 在告警阈值中,我们配置对应的策略:

 点击保存。

2.告警通知设置

这里我们建立一条告警通知策略,作为主机的通用通知组,并且基于钉钉机器人的通知媒介去发送告警通知。

 最后,我们编辑告警模板。

这里需要说明的是,为了在不同监控场景中进行配置和使用,告警通知设计成可复用的模板,并且基于内置变量为管理员提供更加通用的模板设计能力。平台已经内置一个通知模板,我们可以拿来即用。如下图所示:

 实际使用后,它通知出来的效果可能是这样的:

 很明显,这种朴素文本信息存在可读性差,信息传递不直观的问题。我们希望设置告警主题为标题的样式,并且为告警信息,告警持续时长等关键信息添加颜色,加粗等样式。

值得一提的是,告警通知模板支持markdown格式的样式渲染,因此我们以表格的方式呈现出告警信息,并添加必要样式,会让通知内容来得更加“好看”。

比如下图所示:

 

 通过上面的告警通知,我们得知告警的对象是什么,对应的告警级别,告警首次出现时长,告警持续了多久还有相关的告警事件详情和策略详情。并且,通过加标题,加颜色和加粗的样式让关键信息更加突出。比如红色代表告警产生,绿色代表告警解除;另外,通过添加表格编排的方式让信息组织得更有条理。

到此为止,我们实现了开头所提到的一个“好”的告警通知具备的几个条件。

附上相关模板

  • 告警模板

{{time|ts2str:'%Y-%m-%d %H:%M'}} 产生告警事件</font></h2>

| 事件类型 | SLO事件 |

| --- | --- |

| 首次发生时间 | {{startTime|ts2str:'%Y-%m-%d %H:%M'}} |

| 告警等级 | {{levelName}} |

| 告警资源 | {{t*****}} |

| 告警信息 | {{originContent}} |

| 持续时长 | {{duration|duration_format:'zh'}} |

| 事件详情 | [请点击](http://*****.******.*****/next/events/{{eventId}}/detail) |

| 策略详情 | [请点击](http://*****.******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) |

  • 告警解除模板:

{{time|ts2str:'%Y-%m-%d %H:%M'}} 告警事件解除</font></h2>

| 事件类型 | SLO事件 |

| --- | --- |

| 首次发生时间 | {{startTime|ts2str:'%Y-%m-%d %H:%M'}} |

| 告警等级 | {{levelName}} |

| 告警资源 | {{t*****}} |

| 告警信息 | {{originContent}} |

| 持续时长 | {{duration|duration_format:'zh'}} |

| 事件详情 | [请点击](http://*****.******.*****/next/events/{{eventId}}/detail) |

| 策略详情 | [请点击](http://*****.******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) |

看到这里,细心的小伙伴会发现,「提供必要的告警上下文信息」这一项好像缺漏了。这一块涉及到告警指标丰富和告警信息丰富,并让我们了解告警通知如何消费CMDB数据。这些内容我们下一期再来谈,敬请期待。

Multisim 14.0元件库下载完整指南:从安装到配置 详细介绍Multisim 14.0版本的元件库下载方法,涵盖安装步骤与后续配置流程,帮助用户快速搭建仿真环境。内容覆盖常见问题及解决方案,让multisim元件库下载更高效、稳定。 阅读详情

相关推荐

allegro转AD-(附工具)

本文介绍了将Allegro的.brd文件转换为Altium Designer可用的.alg文件的操作流程。首先需要下载专用转换工具,然后通过运行.bat脚本将.brd文件转换为.alg格式。最后在Altium Designer中使用导入向导完成文件转换,生成可用的PCB设计文件。整个过程简单快捷,只需三个步骤即可实现Allegro到Altium Designer的工程文件转换。

weixin_50120208的博客 1717

优维产品最佳实践第14期:让重要告警能有序跟进,最终根治

总的来说,故障转事件中心为您提供了一个强大,灵活和高效的故障跟进和处理过程,以流程的方式去记录和追踪故障的每一个处理步骤,以实现故障的闭环和为后续的故障复盘提供支撑。另外,当故障的处理需要多部门协调时,比如需要研发参与以修复bug,可以在表单中填写bug的相关信息,而后触发后置脚本去自动创建bug卡片,以触发后续的研发修复流程。当点击转故障工单后,会跳转到【发起工单】的步骤,此时根据系统内置的流程和表单,可以动态获取告警的上下文信息并回填到表单中。当然,您也可以自定义流程和表单,以符合实际的业务环境。

EasyOps_DevOps的博客 234

【FLINK+Kerberos+kafka】在华为云上 bootstrap.server使用IP的GSS initiate failed 问题处理

目前互联网上所有的资料显示都是说没有正确设置KDC之类的,但本博主实际通过java代码低版本 如使用kafka-client 0.11.0 ,2.4.0等版本手动创建kafkaconfig 或者使用华为云的LoginUtils类 都能够正常链接,所以应该是高版本添加了相关配置,或者flink在subtask 创建kafkaAdminClient时 丢弃或使用了默认的一些配置行为,导致了客户端和kdc验证之间出现了principal 不一致导致验证失败。client.dns.lookup配置项作用。

honghanyue1791的博客 575

优维EasyOps产品使用最佳实践:Agent存活性监控

过去我们平台一直没内置Agent状态存活的监控,现场人员为此使用了各种旁路的方式去做监控,而旁路的方式并不能实时可靠的感知到Agent状态的变化,现在平台内置了此功能将彻底解决这个问题!⑵ 设定告警指标:在告警规则中,选择"主机Agent状态"作为告警指标,并将阈值设定为"不等于正常"。【SLO事件告警】{{time|ts2str:'%Y-%m-%d %H:%M'}} 产生「{{levelName}}」级别告警。⑴ 新建告警规则:首先,需要创建一个告警规则来定义监控的目标范围,即您希望监控的主机范围。

EasyOps_DevOps的博客 430

自动驾驶预测决策规划八股

预测规划八股个人总结。

dawushixiange的博客 479

ubuntu打实时内核补丁教程以及安装后显卡驱动问题解决方法

在ubuntu20.04上安装成功,亲测有效 目录ubuntu打实时内核补丁教程1、下载实时内核2、解压和打补丁(patch)3、安装依赖和编译安装4、修改一些文件,便于之后切换内核5、重启电脑实时内核版本下安装nvidia显卡驱动的问题1、先切换回之前的内核(非实时)版本2、重装之前内核(非实时)版本下的显卡驱动3、切换回实时内核(按照上面的步骤)4、在实时内核下安装显卡驱动 ubuntu打实时内核补丁教程 安装目标系统:ubuntu20.04 电脑配置:i9,2080ti 1、下载实时内核 打开终端,输

weixin_39275295的博客 7996

优维产品最佳实践第4期:如何在海量日志中捞到你要的关键字?

策略详情 | [请点击](http://*****.*******.*****/next/events/alert-rule/alert-rule/{{ruleId}}/edit) || 事件详情 | [请点击](http://*****.*******.*****/next/events/{{eventId}}/detail) |日志汇聚频率是15s采集一次,也就是说,如果配置出现次数的阈值是10,那么,在15秒内这个采集周期中,出现10次关键字后,即可触发告警。那么该怎么满足上述的监控效果?

EasyOps_DevOps的博客 463

详细解释xilinx源语的使用:IDELAYE2和IDELAYE3

/ 完整的数据位对齐模块input wire dqs, // 数据选通input wire [7:0] dq_in, // 8位数据输入output wire [63:0] data_out // 并行数据输出// 延迟控制信号// 每个数据位都需要独立的IDELAYgenvar i;i < 8;// IDELAYE2实例.IDELAY_VALUE (10), // 初始值。

baidu_34971492的博客 438

优维产品最佳实践:主机合规性检查

我们常常会感到这样的困惑,为什么这么多的无效主机记录,为什么这些主机很多信息空白,当许多人一起维护主机信息时,常常会出现信息错漏的情况。例如下面几个都是运营信息,作为识别主机的使用情况,不用再查找主机时发现很多信息空白,对于统计团队的主机使用情况、运营统计分析,监控告警、主机回收通知运维负责人,到期及时主机回收等都非常方便。虚拟机我们需要维护和宿主机的关系,之前在HOST记录了虚拟机的信息,但是由于没有维护关联的宿主机,导致需要重启虚拟机时,无法立刻找到是在哪台宿主机上,因此该关系的检查也是必不可少。

EasyOps_DevOps的博客 256

告别手动查文献!用Claude Haiku 4.5一键帮你检索+插入参考文献,科研效率直接翻倍(附实操演示+AI提示词)

以下是我的论文段落内容与参考文献列表。以下是我论文段落内容【粘贴论文段落】,请根据每个段落的主题自动检索近五年内的高相关学术文献(以真实DOI或可查询来源为准),要求:1)为每个段落匹配2–3条最相关的文献;另一种是你没有现成的文献列表,需要AI能够帮你检索,筛选输出合适的参考文献列表,并将其正确插入至段落中。选择完成后,先让它检索文献,我设计了一段AI提示词,让Haiku 4.5模型围绕研究主题,给我在各大数据库搜索近五年的文献,并以表格的形式输出文献的核心信息,确保DOI号能直接跳转到原文。

qq_64378896的博客 407

基于STM32L4XX、HAL库的AD7124模数转换器ADC驱动程序设计

/ 检查ID是否正确 (AD7124-4/AD7124-8有不同的ID)// 转换为电压值 (假设使用内部2.5V基准)// 构造读命令: 1(R/W) + 1(0) + 6(寄存器地址)// 构造写命令: 0(R/W) + 1(0) + 6(寄存器地址).config = 0, // 使用配置0。内置可编程增益放大器(PGA):1-128倍。// 读取ADC数据。// 读取当前ADC控制寄存器。// 检查数据是否就绪。// 写回ADC控制寄存器。// 初始化AD7124。

zhusl6688的博客 520

优维科技EasyOps6.0升级发布会,全程高能回顾

作为优维科技的一站式DevOps与智能运维平台,EasyOps 6.0 提供了非常多的解决方案,包括HyperInsight-超融合持续观测平台、EasyHub-资源共享平台、EasyMABuilder低代码平台等,并且在信创的背景下,EasyOps 6.0提供的企业级低代码平台将进一步强调国内用户对运维平台、数据平台的自主可控与赋能创新。一直以来,为解决企业数字化转型面临的挑战,优维在产品上与业务场景相结合,进行了全面的迭代升级。此次发布会上,特别对HyperInsight-超融合持续观测平台、EasyM

EasyOps_DevOps的博客 604

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Hyperlnsight:监控产品中的“超能力战神”

告警设置与通知策略一直是企业监控系统配置里面最为复杂的一环,大量的告警规则随着生产服务的上线而产生,随着时间的推移,维护的工作变得越来越困难,单一指标重复告警现象居高不下,也容易造成告警风暴,导致监控系统的作用下降,观测效能大打折扣。同时右侧的服务和接口排行榜也会根据设置的指标进行排序,用于快速定位高危服务。,在生产使用的场合,通知策略复用程度和监控目标一样非常的频繁,例如所有的基础设施告警都会通知基础设施的运维小组,那么基础设施运维小组就是一个复用度很高的通知策略,在很多基础设施的告警规则中被引用。

EasyOps_DevOps的博客 1402

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Q1季度大更新!EasyOps®全平台产品能力大升级

研发目前在进行容器化部署前,是利用程序包管理中的配置模版渲染的能力,将helm chart的应用资源描述文件(values.yaml)改造成配置模版文件,由于yaml文件中环境变量的定义是以数组的方式配置的,并且有着严格的语法要求,每次变更配置时都需要手动调整配置模版文件中的数组结构,工作量大且容易出错,因此需要使用一些高级的模版语法(如:循环/条件判断语法)来自动化地完成配置的渲染,且保持原格式文件内容原样渲染是保证正确配置的前提。支持多语言、多协议、多数据类型,采集覆盖面广,拥有几百种主流资源采集。

EasyOps_DevOps的博客 1180

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

1月更新!EasyOps® 28+新功能“狂飙”上线~

用户在发起工单后,会触发与该工单有关的脚本进行执行,例如:前置脚本、后置脚本、控件脚本、表单生命周期等,某个脚本执行出错时就会导致工单无法正常流转,而用户在排查脚本的任务历史时往往需要跳转出ITSM产品,去工具库-任务历史页面进行查询,操作路径长,且脚本的任务历史又较为分散,提升了排查难度。原先在ITSM的流程中,用户可以在任意节点对工单进行转换,在实际使用场景中,往往需要工单流转到指定节点后才能判断工单是否需要转换,但是因为现在没做限制,工单转换操作又不可逆,所以就会存在操作失误的可能。

EasyOps_DevOps的博客 840

优维×国信共研:双态交付助力国信证券持续交付更上层楼!

国信证券的持续交付平台不仅支持国产应用的持续交付部署,还实现了信创系统的发布能力,为国产化应用部署提供便利。平台的自主掌控性得到显著提升,支持多种类型的数据库持续交付,包括GaussDB、TIDB、TDSQL等国产化数据库,同时满足数据库个性化场景需求,提升变更质量和效率。发布前联动ITSM平台实现发布流程规范化,降低发布风险,发布过程中联动事件平台,实现第一时间通知相关负责人发布问题,发布后联动拨测平台实现自动化功能验证,缩短发布时长,提升发布效率,全年发布次数同比增长2.7倍,发布成功率达90%。

EasyOps_DevOps的博客 301

百丽时尚×优维科技×道客战略启动「云原生一体化项目」

最近几年,百丽时尚在疫情的大环境下审时度势,以正确的商业战略赢得颇为可观的发展机遇,集团业务规模获得稳定的可持续发展,随着产能、服务、消费各端逐年呈现的强劲势头,集团业务系统和基础资源不断增加,IT运维的需求量与复杂度面临的上行压力逐级递增,对全集团的运维管理也提出了更高的要求和挑战。此外,全集团实现了灾备切换自动化,结合百丽时尚容灾环境的全局场景,实现培训环境容灾演练过程流程管理,实现自动切换,结合可视化的展现,形成统一的灾备管理工作平台。

EasyOps_DevOps的博客 966

5-7月大更新!EasyOps®全平台34+新特性齐上线~

业务可用性监测平台可调用全球各个区域的互联网终端节点,实时模拟用户的操作行为,实现用户业务感知和业务持续可用性监测,详尽记录各个区域各个运营商访问应用运转状况及全业务链状态,进而通过智能分析精准告警,帮助用户实现跨地域多运营商连续监测复杂业务的运行状态,极大限度地降低安全风险、减少业务故障。此前使用的文件分发功能,下发的时候只能选择最新的版本,无法选择其他版本,当用户需要进行版本回退时,无法进行回退操作,需要重新以低版本为基线新建版本,然后再进行分发,操作较为繁琐。以及组件运行时,采集任务运行情况。

EasyOps_DevOps的博客 331

如何实现对主机的立体监控?

监控平台支持联动CMDB模型中的属性信息,可以非常灵活地在告警信息中包含来源于CMDB的实例属性,并且还能关联目标指标的关联指标信息,以提供更丰富的信息支持。在设计告警策略时,系统考虑了告警的延迟,以适应可能的瞬时异常情况,从而提高告警的准确性。通过选择CMDB的主机模型中的属性信息,添加到告警通知中,让我们可以得知该主机的负责人,以便当主机告警时可以得知应该谁去处理该告警。到此为止,主机监控的配置已经完成,此时您的主机已经纳入到监控系统中,通过主机监控,您可以及时掌握主机的状态和性能情况。

EasyOps_DevOps的博客 463

4月更新!EasyOps®全平台27项新功能一口气来袭~

程序包在部署后,会有端口启动检查动作来校验服务启动与否,以判断服务是否部署成功,但是由于客户现场部分程序包的启动时长较长,超出了端口检查时间限制,导致了程序包已经部署成功,但还没启动成功,被平台判断为发布失败,造成了信息误差。工具库配置了执行超时时间,并且勾选了超时强制结束,但在超时后,前台显示“signal: killed“,但后台的 script 脚本还是存在,并没有kill 掉,导致服务器内的进程仍然在跑。针对如上场景,在事件列表新增对应视图,内置“所有事件”和“与我相关的事件”两大视图。

EasyOps_DevOps的博客 872

异构服务器 微服务_技术干货|如何在微服务架构下构建高效的运维管理平台?...

本文为优维科技CTO黎明在《云上运维与研发最佳实践》活动上的内容分享,本文结合微服务架构特点,解读如何构建一个高效运维管理平台。黎明带领团队自主研发了全栈DevOps运维管理平台—EasyOps,是目前行业领先的智能化运维管理平台。作为前腾讯运维研发负责人,黎明主导了多个运维系统研发舆情监控、大数据监控平台、CMDB、实时日志分析平台、织云、客户端体验监控等。本文内容有三点:1、微服务架构特点及其...

weixin_29441555的博客 455

Ontox 正式发布:新一代企业级 Agentic Ops 运维平台

Ontox 正式发布。不套大模型对话窗口,而是基于本体论建语义网络,让 AI 直接在系统地图上推理。六个 AI Agent 在同一空间协作排障,三层安全护栏全程管控,凭证不出你的环境。5 分钟接入,20 分钟出报告,注册即送 2000 积分。

OntoxOps的博客 483

AI项目高失败率破局:构建全面可观测体系,从黑盒到透明

在人工智能和机器学习领域,模型部署上线后性能衰退、问题难以排查是普遍挑战,其根源往往在于系统缺乏有效的观测能力。传统监控主要关注基础设施指标,而现代AI系统,尤其是大语言模型应用,其复杂性要求对数据流、模型推理逻辑、提示词效果及Agent决策链路进行深度透视。实现全面可观测性的核心价值在于,它能将AI系统的内部状态从“黑盒”变为“白盒”,使研发和运维团队能够快速定位性能瓶颈、诊断根因,从而保障系统稳定性、持续优化模型效果,并最终提升AI项目的成功率。这需要将可观测性的三大支柱——指标、日志、链路追踪——进行

weixin_33895695的博客 373

企业如何同时管理用电安全、电能质量和节能降碳?从异常溯源看施耐德电气EEO的协同管理价值

通过整合电力运行信息,并结合EEO资产健康模块、EEO电能质量模块与EEO能碳管理模块,企业可以围绕设备、回路和负荷建立更连续的分析流程,使不同专业人员能够基于相互关联的数据开展判断。企业需要进一步核对异常出现的时间、涉及的配电回路、生产负荷变化以及设备运行状态,才能判断问题来自正常的生产调整、设备运行异常,还是需要采取措施的电能质量问题。从关键回路的异常排查入手,逐步完善设备数据、专业分析和治理验证流程,企业可以让用电安全、电能质量与节能降碳从分散的管理任务,转变为相互关联的日常运营工作。

科技,技术,行业类博主 166

Flink 学习日志 03:自定义一个SourceFunction,完成对Redis中数据的读取

本文介绍了在Flink中自定义SourceFunction读取Redis数据的完整流程:通过Jedis客户端连接WSL2中的Redis服务,编写RedisSource实现循环读取所有Key-value并逐条输出,结合Thread.sleep()实现每秒一条的流式效果。关键步骤包括环境准备、添加Jedis依赖、配置IDEA运行时加载provided依赖,并注意生产环境中应避免使用阻塞的keys *,改用scan命令。最终实现动态读取、实时打印,验证了Flink与Redis的数据集成能力。

木木的学习笔记 431
上一篇: 监控和可观察性在 DevOps 中的作用!
下一篇: 优维低代码实践:Context / State
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值