阅读657 返回首页    go 百度


LogSearch-报警__Getting-Started_日志服务-阿里云

日志服务支持基于用户 日志查询结果 进行报警,用户可以通过配置报警规则将具体报警内容以短信方式发送到指定手机。

基本流程为:

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

1.配置快速查询

日志查询结果的2种表示

  1. 结果直接返回:直接返回命中日志数目
  2. 结果统计(推荐):根据时间段内命中数目分布

结果直接返回

例如我们查询最近15分钟内包含error数据如下:条件为”error”,一共有477条,分布如下:

source

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

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

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

结果统计(Histogram查询)

结果统计增加timeslice语法对查询结果定义统计区间,如下(详细查询语法):

  1. where_condition | timeslice 1[hms] |count
  2. h为一小时,m为一分钟,s为一秒钟

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

histogram

因此我们就可以设一个条件”c > 10”来判断该每个15分钟区间内是否包含”error”关键词是否超过10条来进行报警。

通过变更timeslice的参数,可以灵活的调整区间大小。例如汇总2个小时窗口内是否出现等。

2. 创建报警规则

用户进入日志服务控制台,选择指定日志库(logstore)进入查询页面,根据需求指定完成日志库(logstore)、主题(topic)和查询语句后,搜索指定日志,首先将第一步的查询参数通过“另存为”链接保存为“快速查询”。

快速查询

点击“确定”保存之后,再点击另存为“报警”(规则配置页面如下所示)。

报警规则

2.1 规则说明

  • 首先请务必按照“提示”授权日志服务读取指定logstore数据权限,详情参考授权文档说明
  • 快速查询名称:目前支持选择已经创建的快速查询
  • 数据查询时间:服务端每次执行报警检查读取的数据时间范围,600即对最近600秒到执行检查的当前时间进行查询。

    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. 查看报警结果

创建完成报警规则后,可以在“LogSearch - 索引查询”功能列表里面找到“报警功能”,找到指定报警规则名称,点击“查看报警记录”即可查看具体报警结果。

报警结果

3.1 报警短信通知

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

我们在二期(计划)会支持根据MNS(消息通知服务),支持http推送其他通知系统。

最后更新:2016-12-15 12:54:37

  上一篇:go LogHub-监控__Getting-Started_日志服务-阿里云
  下一篇:go LogSearch-索引__Getting-Started_日志服务-阿里云