日志服务以日志形式记录告警的整个生命周期,并存储到专属的Logstore中。您可以通过告警日志,了解监控对象的整体状况、稳定性等。本文介绍在专属Logstore中进行告警日志自定义分析的操作步骤。
背景信息
在首次使用日志服务告警时,系统会提示您选择一个地域,并自动在该地域创建日志服务资源,即在您所选的地域创建一个名为sls-alert-主账号ID-区域的Project和名为internal-alert-center-log的Logstore,用于存储告警日志。
internal-alert-center-log Logstore为免费使用,并默认已创建索引。
日志服务基于internal-alert-center-log Logstore,生成内置仪表盘,用于统计告警的触发情况、通知情况等。更多信息,请参见告警中心大盘。您也可以在该Logstore中,执行查询和分析语句对告警日志进行自定义分析。
日志主题
不同阶段的告警日志的主题不同,因此您可以通过日志中的__topic__ 字段区分不同阶段的告警日志。常见的日志主题如下所示。
日志主题 | 说明 |
__topic__: alert_state | 告警规则评估数据。 |
__topic__: alert_received | 告警管理系统接收到告警消息。 |
__topic__: alert_routed | 告警经过告警策略之后,进行路由合并。 |
__topic__: alert_pre_filter | 告警进入抑制静默流程。 |
__topic__: alert_silenced | 告警被抑制或者静默。 |
__topic__: alert_pre_notify | 告警进入通知发送流程。 |
__topic__: alert_notified | 告警通知被发送。 |
__topic__: system_config | 由于配置错误产生的日志。 |
操作步骤
登录日志服务控制台。
在Project列表中,单击目标Project(例如sls-alert-13****47-cn-hangzhou)。
在 页签中,单击internal-alert-center-log。
在Logstore查询和分析页面,自定义分析告警日志。
查询和分析语句由查询语句和分析语句构成,格式为查询语句|分析语句,查询分析语句语法请参见查询语法、SQL分析语法。
您还可以通过Data Explorer构建查询和分析语句。具体操作,请参见通过Data Explorer构建查询和分析语句。
示例1:统计一定时间范围内,触发告警的告警监控规则以及对应的触发次数。
查询和分析语句
__topic__: alert_received | select "alert.project" as project, "alert.alert_name" as alert_name, count(*) as cnt group by project, alert_name order by cnt desc
查询和分析结果
示例2:统计一定时间范围内,各个通知渠道发送失败的次数。
查询和分析语句
__topic__: alert_notified and level: error | select "notifierConfig.type" as notificationType, count(*) as cnt group by notificationType order by cnt desc
查询和分析结果
示例3:查看告警通知失败的原因。
查询和分析语句
__topic__: system_config and alert.alert_id: alert -1626423664 -868572 | select level, error, msg, "desc"
查询和分析结果
如果查询和分析结果中有数据,则说明告警配置有问题。关于配置错误的具体说明,请参见配置错误详情。
如果查询和分析结果中无数据,可能是因为通知渠道问题(例如Webhook地址无效、钉钉机器人被删除等),您可以执行如下查询和分析语句,进一步查看发送通知失败的原因。
__topic__: alert_notified and level: error and alert.alert_id: alert -1626423664 -868572 | select error
例如返回如下信息,说明是因为Webhook地址无效导致告警通知发送失败。