云监控统计日志服务(Log Service)中关键字的数量,并在关键字数量达到一定条件时报警,是日志的常见需求之一。通过本文您可以快速掌握日志关键字监控和设置报警的操作方法。

前提条件

  • 请确保您已购买日志监控数据处理量。更多信息,请参见计费标准套餐
  • 请确保您已将本地日志收集到日志服务中。更多信息,请参见日志服务

背景信息

日志服务中日志的样例如下:
2017-06-21 14:38:05 [INFO] [impl.FavServiceImpl] execute_fail and run time is 100msuserid=
2017-06-21 14:38:05 [WARN] [impl.ShopServiceImpl] execute_fail, wait moment 200ms
2017-06-21 14:38:05 [INFO] [impl.ShopServiceImpl] execute_fail and run time is 100ms,reason:user_id invalid
2017-06-21 14:38:05 [INFO] [impl.FavServiceImpl] execute_success, wait moment ,reason:user_id invalid
2017-06-21 14:38:05 [WARN] [impl.UserServiceImpl] execute_fail and run time is 100msuserid=
2017-06-21 14:38:06 [WARN] [impl.FavServiceImpl] execute_fail, wait moment userid=
2017-06-21 14:38:06 [ERROR] [impl.UserServiceImpl] userid=, action=, test=, wait moment ,reason:user_id invalid
2017-06-21 14:38:06 [ERROR] [impl.ShopServiceImpl] execute_success:send msg,200ms
本文以监控日志段中关键字ERROR为例,为您介绍通过日志监控实现日志关键字的监控与报警的操作方法。Key为level,Value为具体的日志段。Key-Valve格式如下表所示。
KeyValue
level2017-06-21 14:38:05 [INFO] [impl.FavServiceImpl] execute_fail and run time is 100msuserid=
level2017-06-21 14:38:05 [WARN] [impl.ShopServiceImpl] execute_fail, wait moment 200ms
level2017-06-21 14:38:06 [ERROR] [impl.ShopServiceImpl] execute_success:send msg,200ms

操作步骤

  1. (可选)授权云监控访问日志服务的权限。
    当您首次使用日志监控功能时,需要授权云监控访问日志服务的权限。
    1. 登录云监控控制台
    2. 在左侧导航栏,单击日志监控
    3. 云监控服务关联角色对话框,单击确定
  2. 新建日志监控,监控level中包含关键字ERROR的日志。
    1. 日志监控页面,单击左上角的新建日志监控
    2. 关联资源页面,设置日志服务相关参数,单击下一步
      参数描述
      地域日志服务中日志项目(日志Project)所在地域。
      日志Project日志服务中日志项目的名称。
      日志Logstore日志服务中日志库的名称。
    3. 监控项定义页面,设置监控项相关参数,单击下一步
      新建日志监控
      参数描述
      监控项监控指标的名称。
      单位监控项的单位。
      计算周期监控项的计算周期。单位:分钟。取值:1、2、3、4、5、10、15、20、30、60。
      统计方法在计算周期内根据选定的统计方法对日志数据进行聚合处理。如果字段值是数值型,可以使用所有统计方法,否则只能使用计数countps两种聚合算法。取值:
      • 计数:计算统计周期内指定字段数值的个数。
      • 求和:计算1分钟内指定字段数值之和。
      • 最大值:计算统计周期内指定字段数值的最大值。
      • 最小值:计算统计周期内指定字段数值的最小值。
      • 平均值:计算统计周期内指定字段数值的平均值。
      • countps:计算统计周期内指定字段求count后的每秒平均值。
      • sumps:计算统计周期内指定字段求sum后的每秒平均值。
      • distinct:去重后计算统计周期内指定字段出现的次数。
      扩展字段为统计方法中的结果提供四则运算功能,例如:在统计方法中配置了HTTP状态码请求总数TotalNumber和HTTP状态码大于499的请求数5xxNumber,则可以通过扩展字段计算出服务端的错误率:5xxNumber/TotalNumber*100。
      日志筛选对日志数据进行过滤,相当于SQL中的where条件,例如:Key为level,Value中需要监控的关键字为ERROR,该参数设置为level>=ERROR

      选择过滤的日志字段名不能包含中文。

      Group-by对数据进行空间维度聚合,相当于SQL中的Group By。

      根据指定的维度,对监控数据进行分组。如果Group By不选择任何维度,则根据聚合方法对全部监控数据进行聚合。

      关于Group By,请参见Group By子句

      Select SQL将统计方法转化成SQL语句,方便您理解数据的处理方式。
      应用分组应用分组的名称。将该监控项添加到指定应用分组中。
    4. 报警设置页面,设置关键字ERROR的报警规则,单击下一步
      参数描述
      规则名称报警规则的名称。
      规则描述报警规则的主体。当监控数据满足指定报警条件时,触发报警规则。
      报警级别报警通知方式。取值:
      • 电话+短信+邮件+Webhook
      • 短信+邮件+Webhook
      • 邮件+Webhook
      连续几次超过阈值后报警连续几次超过阈值后,报警联系人组中的联系人会收到报警通知。取值:1、3、5、10、15、30。
      通道沉默周期报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、10分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时、24小时。

      监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。

      生效时间报警规则的生效时间,报警规则只在生效时间内才会检查监控数据是否需要报警。
      报警回调填写公网可访问的URL地址,云监控会将报警信息通过POST或GET请求推送到该URL地址,目前仅支持HTTP协议。关于报警回调的设置方法,请参见使用阈值报警回调
    5. 创建结果页面,单击关闭
  3. 查看关键字ERROR的监控数据。
    创建日志监控后,等待3~5分钟。在日志监控页面,单击目标监控项对应操作列的监控图表图标,查看监控图表。
  4. 查看关键字ERROR的报警通知。
    当日志服务中出现ERROR级别的日志时,您会收到报警通知。