云监控统计日志服务(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格式如下表所示。
Key Value
level 2017-06-21 14:38:05 [INFO] [impl.FavServiceImpl] execute_fail and run time is 100msuserid=
level 2017-06-21 14:38:05 [WARN] [impl.ShopServiceImpl] execute_fail, wait moment 200ms
level 2017-06-21 14:38:06 [ERROR] [impl.ShopServiceImpl] execute_success:send msg,200ms

操作步骤

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

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

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

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

      Select SQL 将统计方法转化成SQL语句,方便您理解数据的处理方式。
      发布到Dashboard 将该监控项发布到指定的监控大盘。
    3. 单击确认
  3. 查看关键字ERROR的监控数据。
    创建日志监控后,等待3~5分钟。在日志监控页面,单击目标监控项对应操作列的监控图表,查看监控图表。
  4. 设置关键字ERROR的报警规则。
    1. 日志监控页面,单击目标监控项对应操作列的报警规则
    2. 报警规则页签,单击右上角的新建报警规则
    3. 创建报警规则页面,设置报警规则相关参数。
    4. 单击确定
    当日志服务中出现ERROR级别的日志时,您会收到报警通知。