云监控统计日志服务(Log Service)中关键字的数量,并在关键字数量达到一定条件时报警,是日志的常见需求之一。通过本文您可以快速掌握日志关键字监控和设置报警的操作方法。
仅2022年09月13日22:00:00之前已订购包年包月套餐(cms_edition)的用户或已开通按量计费(cms_post)的用户能使用日志监控功能。日志监控功能将于2024年09月14日下线,建议您使用企业云监控中的SLS日志监控替代。
前提条件
背景信息
日志服务中日志的样例如下:
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-Value格式如下表所示。
Key | Value |
level |
|
level |
|
level | 2017-06-21 14:38:06 [ERROR] [impl.ShopServiceImpl] execute_success:send msg,200ms |
操作步骤
(可选)授权云监控访问日志服务的权限。
当您首次使用日志监控功能时,需要授权云监控访问日志服务的权限。
登录云监控控制台。
在左侧导航栏,选择
。在云监控服务关联角色对话框,单击确定。
新建日志监控,监控level中包含关键字ERROR的日志。
在日志监控页面,单击左上角的新建日志监控。
在关联资源页面,设置日志服务相关参数,单击下一步。
参数
描述
地域
日志服务中日志项目(日志Project)所在地域。
日志Project
日志服务中日志项目的名称。
日志Logstore
日志服务中日志库的名称。
在监控项定义页面,设置监控项相关参数,单击下一步。
参数
描述
监控项
监控指标的名称。
单位
监控项的单位。
计算周期
监控项的计算周期。单位:分钟。取值: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语句,方便您理解数据的处理方式。
应用分组
应用分组的名称。将该监控项添加到指定应用分组中。
在报警设置页面,设置关键字ERROR的报警规则,单击下一步。
参数
描述
规则名称
报警规则的名称。
规则描述
报警规则的主体。当监控数据满足指定报警条件时,触发报警规则。
报警级别
报警通知方式。取值:
电话+短信+邮件+WebHook
短信+邮件+WebHook
邮件+WebHook
连续几次超过阈值后报警
连续几次超过阈值后,报警联系人组中的联系人会收到报警通知。取值:1、3、5、10、15、30、60、90、120、180。
通道沉默周期
报警发生后未恢复正常,间隔多久重复发送一次报警通知。取值:5分钟、15分钟、30分钟、60分钟、3小时、6小时、12小时、24小时。
监控指标达到报警阈值时发送报警,如果监控指标在通道沉默周期内持续超过报警阈值,在通道沉默周期内不会重复发送报警通知;如果监控指标在通道沉默周期后仍未恢复正常,则云监控再次发送报警通知。
生效时间
报警规则的生效时间,报警规则只在生效时间内才会检查监控数据是否需要报警。
报警回调
填写公网可访问的URL地址,云监控会将报警信息通过POST或GET请求推送到该URL地址,目前仅支持HTTP协议。关于报警回调的设置方法,请参见使用阈值报警回调。
在创建结果页面,单击关闭。
查看关键字ERROR的监控数据。
创建日志监控后,等待3~5分钟。在日志监控页面,单击目标监控项对应操作列的图标,查看监控图表。
查看关键字ERROR的报警通知。
当日志服务中出现ERROR级别的日志时,您会收到报警通知。