日志服务的告警功能支持设置一种或多种通知方式,包括短信、语音、邮件、钉钉、WebHook和通知中心。

发送内容发送内容说明

短信

告警的通知方式可设置为短信,当触发告警时,日志服务会向预设的手机号码发送短信通知。

配置步骤
  1. 在日志服务控制台设置告警。通知类型设置为短信
  2. 手机号码中填写接收告警通知的短信号码,通知内容中填写短信内容。

    多个手机号码之间通过逗号(,)分隔。发送内容为短信通知的内容,支持使用模板变量,长度为1~100个字符。


    邮件通知方式
  3. 单击提交

语音

告警的通知方式可设置为语音电话,当触发告警时,日志服务会向预设的手机号码发送电话提醒,语音内容中包括Project名称、告警名称和已配置的发送内容。如果某次告警电话未接通,将以短信方式发送一次提醒。

说明 发送内容建议使用中文。
配置步骤
  1. 在日志服务控制台设置告警。通知类型设置为语音
  2. 手机号码中填写接收告警通知的短信号码,通知内容中填写短信内容。

    多个手机号码之间通过逗号(,)分隔。发送内容为短信通知的内容,支持使用模板变量,长度为1~100个字符。

    语音通知方式

  3. 单击提交

邮件

告警的通知方式可设置为邮件,当触发告警时,日志服务会向指定邮箱地址发送邮件通知。

配置步骤
  1. 在日志服务控制台设置告警。通知类型设置为邮件
  2. 收件人中填写接收告警通知的邮箱地址,主题中填写邮件主题。

    邮件主题字数必须在128以内,例如主题内容为日志服务告警

  3. 通知内容中填写邮件内容。

    多个邮箱地址之间通过逗号(,)分隔。发送内容为邮件通知的内容,支持使用模板变量,长度为1~500个字符。



  4. 单击提交

WebHook-钉钉机器人

告警的通知方式可设置为钉钉,当触发告警时,告警通知会以钉钉机器人消息的形式发送到钉钉群中,还可以在提醒消息中设置被@的人。
说明 每个机器人每分钟最多发送20条告警通知。
配置步骤
  1. 打开钉钉客户端,进入钉钉群。
  2. 单击右上角群设置图标,并单击群机器人
  3. 选择自定义(通过WebHook接入自定义服务),并单击添加
    图 1. 钉钉机器人


  4. 输入机器人名字,并单击完成
  5. 单击复制,复制WebHook链接。


  6. 在日志服务控制台设置告警,且通知类型设置为钉钉
  7. 请求地址中,粘贴步骤5中复制的地址,并填写被@人列表

    被@人列表中填写被@的人的手机号码,多个手机号用逗号(,)分隔。

  8. 填写发送内容

    页面已默认配置发送内容,您也可以在此基础上配置个性化的发送内容。

    如果有需要@的人,必须在发送内容中增加@手机号

    图 2. 发送内容

    发送内容

WebHook-自定义

告警的通知方式可设置为WebHook,当触发告警时,告警通知会以指定方式发送到自定义WebHook地址中。
说明 告警通知方式为WebHook-自定义时,超时时间为5秒。如果发出请求后5秒内没有返回,则视作发送失败。
配置步骤
  1. 在日志服务控制台设置告警。通知类型设置为WebHook
  2. 请求地址中填写自定义的WebHook地址,并指定请求方法
  3. (可选)单击添加请求头可以追加请求头(Header)信息。

    默认包含HeaderContent-Type: application/json;charset=utf-8,您也可以追加Header。

  4. 填写通知内容

    自定义

    发生告警后会以指定方式将告警内容发到自定义WebHook地址。

  5. 单击提交

通知中心(推荐)

阿里云消息中心中可设置日志服务告警的联系人,当触发告警时,告警通知会以消息中心中预设的通知方式发送告警通知。

配置步骤
  1. 设置告警,其中,通知方式设置为通知中心
  2. 阿里云消息中心,单击消息接收管理 > 基本接收管理
    接收管理
  3. 消息类型 > 日志服务(LOG)告警对应的消息接收人一列单击修改
    图 3. 修改消息接收人

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

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

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

发送内容

配置通知方式时,必须设置发送内容,即通知的内容,通知内容中支持通过${fieldName}的方式引用一些告警触发时的模板变量。日志服务发送告警时,会将发送内容中的模板变量替换为真实值,如${Project}替换为告警规则所属的Project名称。
说明 引用变量时变量名称必须完全匹配,对于不存在的变量或者不合法的引用会渲染为空字符串。如果引用的值为对象类型,则会转换为JSON字符串展示。

以下是目前支持的所有可用变量及引用方式。

变量 说明 举例 引用举例
Aliuid Project所属的用户AliUid。 1234567890 用户${Aliuid}的告警规则已经触发。
Project 告警规则所属Project。 my-project 项目 ${Project}中的告警触发。
AlertID 执行的唯一ID。 0fdd88063a611aa114938f9371daeeb6-1671a52eb23 告警执行ID是 ${AlertID}。
AlertName 告警规则名称,Project内唯一。 alert-1542111415-153472 告警规则 ${AlertName} 已经触发。
AlertDisplayName 告警规则显示名称。 我的告警规则 告警名称 ${AlertDisplayName} 已经触发。
Condition 触发告警时的条件表达式。其中,以触发告警的值替换设置的变量,并使用括号中括号包裹。 [5] > 1 告警条件表达式为 ${Condition}。
RawCondition 原始的条件表达式,即condition中不替换变量的原始表达式。 count > 1 原始条件表达式为 ${RawCondition}。
Dashboard 告警关联的仪表盘名称。 mydashboard 告警关联的仪表盘 ${Dashboard}。
DashboardUrl 告警关联的仪表盘地址。 https://sls.console.aliyun.com/next/project/myproject/dashboard/mydashboard 告警关联的仪表盘地址 ${DashboardUrl}。
FireTime 触发时间。 2018-01-02 15:04:05 告警触发时间 ${FireTime}。
FullResultUrl 告警触发历史记录的查询地址URL。 https://sls.console.aliyun.com/next/project/my-project/logsearch/internal-alert-history?endTime=1544083998&queryString=AlertID%3A9155ea1ec10167985519fccede4d5fc7-1678293caad&queryTimeType=99&startTime=1544083968 单击查看详情: ${FullResultUrl}
Results 查询参数和结果,数组类型。内部字段解释请参考告警日志字段
[
  {
    "EndTime": 1542507580,
    "FireResult": {
      "__time__": "1542453580",
      "count": "0"
    },
    "LogStore": "test-logstore",
    "Query": "* | SELECT COUNT(*) as count",
    "RawResultCount": 1,
    "RawResults": [
      {
        "__time__": "1542453580",
        "count": "0"
      }
    ],
    "StartTime": 1542453580
  }
]
第一个查询的开始时间为 ${Results[0].StartTime};结束时间为 ${Results[0].EndTime}; count的值为 ${Results[0].FireResult.count}。
说明 其中,0为图表/查询分析语句的编号。

如何查看图表编号?