基本流程

  1. 配置快速查询
  2. 创建告警规则
  3. 配置通知方式
  4. 查看告警记录

1 配置快速查询

结果返回方式

日志查询结果可以通过以下两种方式表示:结果直接返回结果统计结果直接返回方式可以直接返回命中日志数目;结果统计方式提供时间段内命中数目分布情况。

  • 结果直接返回
    例如,查询最近 15 分钟内包含 error 的数据,条件为 error,一共有 154 条,分布如下:
    图 1. 原始日志


    每条内容都是 Key、Value 组合,您可以对某个 Key 下的 Value 设置告警条件。
    说明
    对于查询结果一次超过 10 条的情况,告警规则只判断 前10条 ,其中有任何一条符合条件,都会触发告警。
  • 结果统计(Histogram 查询)

    例如查询所有日志中状态码为200的日志比例,查询语句如下(查询语法请参考查询语法):

    图 2. 查询结果统计


    * | select sum(case when status=200 then 1 else 0 end) *1.0/count(1)  as ratio

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

操作步骤
  1. 登录日志服务控制台。
  2. 选择所需的项目,单击项目名称。
  3. Logstore列表 页面,选择所需的日志库并单击日志查询列下的 查询
  4. 根据需求指定日志库(Logstore)、主题(Topic)和查询语句后,搜索指定日志。
  5. 单击页面右上角的另存为 > 快速查询 。将查询参数保存为快速查询。
    图 3. 另存为快速查询


  6. 设置快速查询详情并单击 确定
    • 操作类型:选择 新建快速查询
    • 快速查询名称:快速查询的名称。
    图 4. 快速查询详情


2 创建告警规则

将查询参数保存为快速查询后,您可以创建告警规则。
  1. 单击另存为告警
  2. 设置告警规则并单击 确定
    告警通知方式目前支持手机短信和通知中心两种。
    图 5. 报警规则


规则说明
  • 快速查询名称:目前支持选择已经创建的快速查询。
  • 数据查询时间:服务端每次执行告警检查读取的数据时间范围,1分钟 即对最近 1分钟 到执行检查的当前时间进行查询。
    说明
    目前服务端每次告警规则检查只会采样处理时间区间开始的前 10 条数据。
  • 检查间隔:服务端每次执行告警检查的时间间隔(目前,最小间隔支持 5min)。
  • 触发次数:告警检查连续触发的次数,比如间隔为 5 分钟,2 代表连续 2 次检查满足告警条件即发送告警(告警最快间隔为 10 分钟)。
  • 字段名称:日志内容中用于告警的 Key 名称。
  • 比较符:支持数值类(大于/大于等于/小于/小于等于)和字符类(包含类/正则匹配),说明如下:
    操作 描述 示例
    > 该列是否大于数值 $count > 0
    < 该列是否小于数值 $count<200
    >= 大于等于某个数值 $count>=0
    <= 小于等于某个数值 $count<=0
    like 匹配子串 $project like “admin”
    regex 正则匹配字符串 $project regex match “^/S+$”

3 配置通知方式

目前,日志服务支持如下通知方式: 当您设置的告警规则被触发后,日志服务将通过您预先设定的通知方式,为您发送告警提醒。
说明
目前日志服务告警【短信通知】方式即将下线,且不再支持【消息服务(MNS)】方式发送告警提醒。

通知中心(推荐)

  1. 告警规则 > 告警动作中,通知类型设置为通知中心。并配置通知内容
    图 6. 报警动作


  2. 阿里云消息中心,单击消息接收管理 > 基本接收管理,进入基本接收管理页面。
    图 7. 基本接收管理页面


  3. 消息类型 > 日志服务(LOG)告警对应的消息接收人一列单击修改。打开修改消息接收人窗口。
    图 8. 修改消息接收人


  4. 修改消息接收人窗口选择消息接收人。

    如您需要新增一位消息接收人,可以直接单击+新增消息接收人,并配置该人员用于接收告警信息的邮箱、手机号码和职位信息。仅账号负责人可以为消息接收人配置手机号码。

    说明
    • 系统将自动发送验证信息到所填手机号和邮箱,通过验证后方可接收消息。
    • 最少需要设置1位消息接收人。
    • 通知方式默认为邮件 + 短信,且不可更改。
    • 每个手机号/邮箱 一天最多发送50次
告警示例
  • 短信格式:
    图 9. 短信格式


  • 邮件格式:(标题为“日志服务告警”)
    图 10. 邮件格式


钉钉机器人

  1. 在钉钉群右上角添加机器人,选择自定义(通过WebHook接入自定义服务)。
    图 11. 钉钉机器人


  2. 将机器人命名(可选),并拷贝WebHook链接。
    图 12. 机器人设置


  3. 在日志服务下告警设置中,选择WebHook-钉钉机器人,将WebHook链接添加至WebHook地址,填写通知内容(只支持英文,限定50个字符)。
    图 13. 通知内容


    告警示例
    图 14. 告警示例


自定义WebHook

  1. 在日志服务下告警设置中,选择WebHook-自定义,将WebHook链接添加至WebHook地址,填写通知内容(只支持英文,限定50个字符)。
    图 15. 通知类型


  2. 发生告警后会以Post方式将如下内容发给WebHook地址。

    发送内容示例:

    {"uid":
                "13415134513","project":"ali-cn","trigger":"oplog_alert","condition":"3413 >
                3000", "message":"PV count down 30%",
          "context":"c:3413"}

短信通知(即将下线)

告警规则 > 告警动作中,通知类型设置为短信通知,并配置用于接收告警信息的手机号码。

当前,一个告警配置只支持一个手机号码,同一个手机号码一天短信通知上限为 20 条。

4 查看告警记录

创建完成告警规则后,您可以查看具体的告警记录。

  1. 登录日志服务控制台。
  2. 选择所需的项目,单击项目名称。
  3. Logstore列表页面,选择左侧导航栏中的Search/Analytics - 查询分析 > 告警配置
  4. 选择要查看的告警规则并单击右侧的查看告警记录即可查看具体告警记录。

告警状态

  • 成功:规则被成功执行,在告警触发详情显示触发标准。
  • 失败:查询、告警规则、或通知阶段失败,可以查看告警触发详情 获得详细信息。
    • 查询失败,一般为语法不正确。
    • 查询调用失败,请提交工单。
    • 规则调用失败,请检查规则参数和返回数据格式是否一致。