日志服务支持根据仪表盘中的查询图表设置告警,实现实时的服务状态监控。

日志服务的告警功能基于仪表盘中的查询图表实现。在日志服务控制台查询页面仪表盘页面设置告警规则,并指定告警规则的配置、检查条件和通知方式。设置告警后,日志服务定期对仪表盘的查询结果进行检查,检查结果满足预设条件时发送告警通知,实现实时的服务状态监控。

说明 日志服务于近期升级了告警功能,控制台保留旧版的告警配置,但建议您尽快将旧版告警规则手动升级到新版本。详细步骤请参考升级旧版告警

使用限制

限制项 说明
组合查询 组合查询的个数为1~3个。
字符串 字符串长度如果超过1024个字符,只会截取前1024个字符用于计算。
条件表达式
  • 条件表达式长度为1~128个字符。
  • 每个查询只会取查询结果的前100条用于计算条件表达式。
  • 条件表达式计算次数不超过1000次,如使用组合查询,则组合计算的次数最多只会计算1000次。
短信数量 同一个手机号码每天接收的短信不超过50条。
语音通知数量 同一个手机号码每天接收的语音电话通知不超过50个。
邮件数量 同一个邮箱每天接收的邮件不超过100条。
查询区间 每个查询语句的查询区间时间跨度不能超过24小时。

告警中的查询语句

告警基于仪表盘中的分析图表,而分析图表实质上是一条查询分析语句的可视化查询结果。其中,查询语句可以是查询语句或查询分析语句。
  • 查询语句:直接返回查询条件命中的日志数据。
  • 查询分析语句:对查询条件命中的日志进行统计,返回统计结果。
  • 查询语句

    例如,查询最近 15 分钟内包含 error 的数据,条件为 error,一共有 154 条。每条内容都是 Key、Value 组合,您可以对某个 Key 下的 Value 设置告警条件。

    说明 对于查询结果一次超过 100 条的情况,告警规则只判断前100条 ,只有前100条中任意一条符合条件,才会触发告警。
    图 1. 查询语句


  • 查询分析语句
    例如查询所有日志中状态码为ok的日志比例,查询语句如下(查询语法请参考查询语法):
    * | select sum(case when status='ok' then 1 else 0 end) *1.0/count(1) as ratio

    因此,可以设置告警检查条件为ratio < 0.9,表示当状态码为ok的日志小于总日志数的90%时进行告警。

    图 2. 查询分析语句