tencent cloud

文档反馈

配置告警策略

最后更新时间:2023-05-08 17:40:05

    操作场景

    基于日志配置告警策略,在出现符合特定条件的日志时发送告警,例如 error 日志数量过多,接口响应时间过长等。

    前提条件

    • 日志已上传到某个日志主题,且已 配置索引
    • 日志主题不是 低频存储,低频存储不支持配置告警策略,告警策略需使用 SQL 语句,建议对日志进行 结构化 处理。
    • 已登录日志服务控制台,并进入 告警策略 管理页面。

    操作步骤

    在告警策略管理页面,单击新建,配置如下主要信息。

    配置监控对象和监控任务

    • 监控对象:选择需要监控的日志主题,支持多选,每个日志主题单独判断是否满足触发条件。最多可选择20个日志主题,不支持跨地域,同时有多个日志主题满足触发条件时将同时产生多条告警。
    • 监控任务
    • 执行语句:作用于日志主题的执行语句,执行语句需包含分析语句(即 SQL 语句)。
      • 例1:统计出现 error 的日志条数 status:error | select count(*) as ErrCount
      • 例2:统计域名 domain:aaa.com 的平均响应时间domain:"aaa.com" | select avg(request_time) as Latency
    • 查询时间范围:执行语句需要查询的数据时间范围,最大时间范围为最近24小时。
    • 触发条件:满足触发条件时进行告警。条件表达式中使用 $N.keyname 引用执行语句结果,其中$N 表示当前告警策略中的第N个执行语句,keyname 表示对应的字段名称。表达式语法参考 触发条件表达式语法
      • 例1:出现 error 的日志条数大于10即触发告警, $1.ErrCount > 10,其中$1表示第一个执行语句,ErrCount表示统计结果中的 ErrCount 字段。
      • 例2:域名 domain:aaa.com 的平均响应时间大于5s即触发告警,$2.Latency > 5,其中$2表示第一个执行语句,Latency表示统计结果中的 Latency 字段。
    • 分组触发:触发条件表达式是否需要分组触发。使用分组触发时,当执行语句有多条结果均满足触发条件时,将根据指定的分组字段对执行语句结果进行分组,每组触发一条告警。
      例如执行语句2为* | select avg(request_time) as Latency,domain group by domain order by Latency desc limit 5时,其某次执行结果为多条数据:
      Latencydomain
      12.56aaa.com
      9.45bbb.com
      7.23ccc.com
      5.21ddd.com
      4.78eee.com
      触发条件为`$2.Latency > 5`,则其中4条均满足触发条件。
      • 若未使用分组触发,上述多条执行结果中只要有1条满足触发条件,即触发告警,且仅触发一条告警。
      • 若使用分组触发,并以 domain 字段为分组依据,上述多条执行结果将分别产生4条告警。
      >! > - 使用分组触发功能时,一次告警执行可能会有大量的执行结果满足触发条件,进而同时产生大量告警,造成告警风暴。请合理设定分组字段及触发条件。 > - 指定分组字段时,最多可将执行结果分为1000个组,超出范围的组将不触发告警。 >
    • 执行周期:监控任务的执行频率,提供如下两种周期配置方式:
      周期配置方式 说明 示例
      固定频率 按固定的时间间隔执行一次监控任务
      时间间隔:1 - 1440分钟,粒度:分钟级
      每隔5分钟执行一次监控
      固定时间 按固定的时间点执行一次监控任务
      时间点范围:00:00 - 23:59,粒度:分钟级
      每天02:00点执行一次监控

    配置多维分析

    触发告警时,可通过多维分析对原始日志做进一步的分析,并将分析结果附加在告警通知中,以辅助定位告警原因。多维分析不会影响告警触发条件。

    多维分析类型 说明
    相关原始日志 获取符合执行语句检索条件的原始日志,可配置需要展示的日志字段、条数及展示形式。
    例如 error 日志过多触发告警时,在告警中查看对应的详细日志。
    字段 TOP5 及占比统计 针对触发告警时间范围内的全部日志,按指定字段分组统计日志条数,获取前5项字段值及其占比。
    例如 error 日志过多触发告警时,日志对应的 Top5 URL、Top5 响应状态码等。
    自定义检索分析 针对触发告警时间范围内的全部日志,执行自定义检索分析语句。
    例1:通过 `*
    说明:

    “相关原始日志”及“字段 TOP5 及占比统计”支持自动关联指定的执行语句中的检索条件(不包含分析语句,即 SQL 中的过滤条件),表示需要对符合哪些条件的原始日志进行多维分析。

    配置告警通知

    • 告警频率
    • 持续周期:当持续满足触发条件达到一定次数(默认为1,有效值范围:1 - 10)以后才发送通知。
    • 间隔时间:上一次发送通知后,指定间隔时间内不再发送通知。例如,每15分钟告警一次,表示15分钟内最多只会收到一次告警通知。
    • 通知渠道组
      通过关联通知渠道组,设置发送通知的方式及对象,支持短信、邮件、电话、微信、企业微信、自定义回调接口(webhook) 等通知方式。详情参考 管理通知渠道组
    • 通知内容
      可以通过在通知内容加入预设的变量,将指定的信息附加在告警通知中,具体变量和说明请参考 告警通知变量
    • 自定义接口回调配置
      如果选中的通知渠道组里包含自定义接口回调,则会显示自定义回调接口配置输入框。在输入框中可自定义请求头(Request Header)和请求内容(Request Body),触发告警时 CLS 将使用该请求头和请求内容调用指定的接口。请求头及请求内容中可使用 告警通知变量,将触发告警时的一些数据发送至指定接口。

    最佳实践

    按时间段分别设置告警触发条件
    使用同环比作为告警触发条件

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持