在新版告警中 我们可以使用查询分析语句来进行日志查询 并对结果集设置告警。其中 当我们希望对查询结果进行进一步的分组时 可以使用我们的分组评估功能。
分组评估是告警监控规则中的一个参数。当告警监控系统对查询和分析结果进行计算时 可基于特定字段进行分组 每个分组单独评估触发条件并触发告警。即您可以使用一条告警监控规则同时监控多个目标 并对每个分组进行独立的告警管理和事件管理。
例如 我们的在时序库中存储了主机和 cpu 使用率的信息 通过查询返回一个包含 IP 和 CPU 字段的结果集 如下图
这时候我们设置告警的评估条件为 CPU 80, 那么在任何一台主机的 cpu 80 的时候 都会触发告警 若只是想要这样的效果 那么到这里就可以了。
但这时候我们无法对不同的 ip 做不同的处理 如果想要更进一步 例如由于主机的归属不同 告警的时候想要通知不同的接受人 那么就需要进行分组评估了。对 ip 进行分组之后。告警的评估条件会对每个分组进行单独评估 最后根据评估结果进行告警。同时 分组的字段会自动加入 label 中 提供给之后的行动策略作为判断条件。
简单来说 如果我们不使用分组评估功能 而想要根据查询结果的某个字段进行分组 并分别通过不同渠道告警 那么只能通过在查询语句中添加 group 语句 并创建多个告警来实现了。
多个服务器的指标数据存储在一个时序库中 但希望每个服务器的CPU使用率 cpu_util 超过95%时 日志服务可以分开发送每个服务器的告警信息。针对此需求 您可以在创建告警监控规则时设置分组评估。
在时序库中 选择我们要查询的指标 cpu_util 这时会自动帮我们填入对应的查询语句
* | select promql_query_range( cpu_util ) from metrics limit 1000
点击“另存为告警”按钮
这时会打开新建告警界面 并会自动将刚才的查询语句引入
点击语句输入框 可以查看详情
可以看到项目 指标库等详细信息 并可以对查询语句进行修改 点击预览可以查看数据图表
返回刚才的界面 设置好告警触发的条件为“有数据匹配” value 95 这里 value 即是指 cpu_util 的值
默认情况下 使用时序库时 分组评估会自动选择“标签自动”选项 在该选项下 会自动对时序指标进行分组。
如果选择不分组 那么在当前状况下 任意一台或者多台主机的 cpu 大于 95 都会触发一次告警。
如果我们选择标签自定义 并选择 ip 字段 那么每次评估有一台主机满足条件会触发一次告警 有多台同时满足的话 就会触发多条告警。如果想要给不同的主机设置不同的告警接收人 需要配合行动策略进行设置。
在行动策略编辑时 可以指定条件和行动组 如下图
如之前所说 用于分组评估的字段会被加到标签中 所以这里就指定了 ip 作为条件 并指定对应的接收人。将行动策略保存之后 在告警编辑页面进行选择就可以完成全部的告警设置。
监控OSS访问日志时 希望每分钟发生500错误超过1000次的Bucket可以分开告警。针对此需求 您可以在创建告警监控规则时设置分组评估。
在查询框中输入 http_status 500 可以查询所有 http_status 为 500 的日志记录。
进一步将语句改为
http_status 500 | select bucket,count(1) as pv group by bucket ?order by pv desc
可以看到各个 bucket 的记录数。
我们将条件设到 pv 60 得到一条结果。点击右上角“另存为告警”
这里我们将分组评估设置为 bucket 字段 同时将触发条件设置为“有数据”
这样就完成了告警的设置。如果想要对不同的 bucket 做不同的告警处理 可以参考 cpu 的场景在行动策略中进行设置。
TIOBE 公布了 2021 年 3 月的编程语言排行榜。 本月 TIOBE 指数没有什么有趣的变...
本文转载自微信公众号「bugstack虫洞栈」,作者小傅哥 。转载本文请联系bugstack...
本文转载自公众号读芯术(ID:AI_Discovery)。 这一刻你正在应对什么挑战?这位前...
基本介绍 给定 n 个权值作为 n 个叶子节点,构造一颗二叉树,若该树的带权路径长...
前言 统计科学家使用交互式的统计工具(比如R)来回答数据中的问题,获得全景的认...
在Python开发过程中,我们难免会遇到多重条件判断的情况的情况,此时除了用很多...
近几年,互联网行业蓬勃发展,在互联网浪潮的冲击下,互联网创业已成为一种比较...
溢价 域名 的续费价格如何?通常来说,因为溢价域名的价值高于普通域名,所以溢...
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://...
背景 我们知道 如果在Kubernetes中支持GPU设备调度 需要做如下的工作 节点上安装...