开发者社区 问答 正文

日志怎么设置报警?


日志服务支持基于您的 [backcolor=transparent]日志查询结果 进行报警,您可以通过配置报警规则将具体报警内容以短信方式发送到指定手机。
基本流程为:

  1. 配置快速查询。
  2. 系统定时运行快速查询,判断是否触发报警条件。
  3. 发送短信/查看报警结果。


步骤 1 配置快速查询



结果返回方式


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

  • 结果直接返回
    例如,您查询最近 15 分钟内包含 error 的数据,条件为 error,一共有 477 条,分布如下:

    每条内容都是 Key、Value 组合,您可以对某个 Key 下的 Value 设置报警条件。

    对于查询结果一次超过 10 条的情况,报警规则只判断 [backcolor=transparent]前10条 ,其中有任何一条符合条件,都会触发报警。

    从这个例子可以看到,报警只会判断 477 条中前 10 条,存在误差。因此推荐对统计结果进行报警。

  • 结果统计(Histogram 查询)
    结果统计增加 timeslice 语法对查询结果定义统计区间,如下(详细查询语法):
    1. [backcolor=transparent] where_condition [backcolor=transparent] |[backcolor=transparent] timeslice [backcolor=transparent] 1[backcolor=transparent] [[backcolor=transparent] hms[backcolor=transparent] ][backcolor=transparent] [backcolor=transparent] |[backcolor=transparent] count
    2. [backcolor=transparent]h[backcolor=transparent]为一小时,[backcolor=transparent]m[backcolor=transparent]为一分钟,[backcolor=transparent]s[backcolor=transparent]为一秒钟

    例如,将上述查询做一个区间汇总,条件为 error | timeslice 15m | count as c,结果如下:

    因此,可以设一个条件 c > 10 来判断该每个 15 分钟区间内是否包含 error 关键词是否超过 10 条来进行报警。
    通过变更 timeslice 的参数,可以灵活的调整区间大小。例如,汇总 2 个小时窗口内是否出现等。


操作步骤


  1. 登录 日志服务管理控制台

  2. 选择所需的项目,单击项目名称。

  3. 在 [backcolor=transparent]Logstore列表 页面,选择所需的日志库并单击日志查询列下的 [backcolor=transparent]查询。

  4. 根据需求指定日志库(Logstore)、主题(Topic)和查询语句后,搜索指定日志。

  5. 单击页面右上角的 [backcolor=transparent]另存为 > [backcolor=transparent]快速查询。将查询参数保存为快速查询。

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



步骤 2 创建报警规则


将查询参数保存为快速查询后,您可以创建报警规则。

  1. 单击 [backcolor=transparent]另存为 > [backcolor=transparent]报警。规则配置页面如下所示。

  2. 设置报警规则并单击 [backcolor=transparent]确定。
    报警通知类型目前支持手机短信 和 消息服务(MNS)两种。


规则说明


  • [backcolor=transparent]快速查询名称:目前支持选择已经创建的快速查询。

  • [backcolor=transparent]数据查询时间:服务端每次执行报警检查读取的数据时间范围,600 即对最近 600 秒到执行检查的当前时间进行查询。
    [backcolor=transparent]注意:目前服务端每次报警规则检查只会采样处理时间区间开始的前 10 条数据。

  • [backcolor=transparent]检查间隔:服务端每次执行报警检查的时间间隔(目前,最小间隔支持 5min)。

  • [backcolor=transparent]触发次数:报警检查连续触发的次数,比如间隔为 5 分钟,2 代表连续 2 次检查满足报警条件即发送报警(报警最快间隔为 10 分钟)。

  • [backcolor=transparent]字段名称:日志内容中用于报警的 Key 名称。

  • [backcolor=transparent]比较符:支持数值类(大于/大于等于/小于/小于等于)和字符类(包含类/正则匹配),说明如下:
操作描述例子
>该列是否大于数值$count > 0
<该列是否小于数值$count<200
>=大于等于某个数值$count>=0
<=小于等于某个数值$count<=0
like匹配子串$project like “admin”
regex正则匹配字符串$project regex match “^/S+$”


步骤 3 查看报警结果


创建完成报警规则后,您可以查看具体的报警结果。

  1. 登录 日志服务管理控制台

  2. 选择所需的项目,单击项目名称或右侧的 [backcolor=transparent]管理。

  3. 在 [backcolor=transparent]Logstore列表 页面,选择左侧导航栏中的 [backcolor=transparent]LogSearch - 索引查询 > [backcolor=transparent]报警。

  4. 选择要查看的报警规则并单击右侧的 [backcolor=transparent]查看报警记录 即可查看具体报警结果。

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


报警短信通知


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

消息服务MNS通知


日志服务产生的报警已和 消息服务(MNS)打通,支持自定义事件订阅与推送。相比直接短信报警有如下特点:
  • 多种通知方式支持:短信、邮件、http等
  • 可定制短信模板,批量进行发送


配置步骤


  1. 日志服务控制台选择通知类型[backcolor=transparent]消息服务。

  2. 打开消息服务控制台选择事件通知。
  3. 选择同一地域(Region),在产品名称中选择[backcolor=transparent]日志服务-LOG。
  4. 为事件定义一个名称。
  5. 选择日志服务对应的Project,以及报警列表。
  6. 事件类型选择Trigger:Alarm。
  7. 定义事件通知终端,例如主题、队列、或HTTP等。


推送对象为队列时,可以通过预览查看报警事件内容。
  1. 内容包含对应的项目,报警规则的名称,以及填写的参数(param)和报警的内容(message)。[backcolor=transparent]{[backcolor=transparent]"project"[backcolor=transparent]:[backcolor=transparent]"ali-cn-hangzhou-sls-admin"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"trigger"[backcolor=transparent]:[backcolor=transparent]"aaa"[backcolor=transparent],[backcolor=transparent]"param"[backcolor=transparent]:[backcolor=transparent]"message service"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"message"[backcolor=transparent]:[backcolor=transparent]"2138 > 1"[backcolor=transparent]}

确定队列中预览的效果。

展开
收起
轩墨 2017-10-23 11:34:40 2832 分享 版权
0 条回答
写回答
取消 提交回答