SLS新版告警自助排查系列之告警监控

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
日志服务 SLS,月写入数据量 50GB 1个月
简介: 在SLS告警中,告警监控通过对数据源的查询监控,然后产生告警,并将告警发送到告警管理,告警管理会对告警进行降噪处理包括合并抑制静默后,在将告警发送给行动管理,最终发送通知到用户配置的接收渠道。在整个过程中,告警监控作为告警的源头,决定着告警是否能准确的发出。在配置告警监控规则时,配置不当或者配置错误都会导致告警不能触发或者不是希望的触发。本文主要介绍在告警监控中如何进行自助排查问题。

前言

在SLS告警中,告警监控通过对数据源的查询监控,然后产生告警,并将告警发送到告警管理,告警管理会对告警进行降噪处理包括合并抑制静默后,在将告警发送给行动管理,最终发送通知到用户配置的接收渠道。在整个过程中,告警监控作为告警的源头,决定着告警是否能准确的发出。在配置告警监控规则时,配置不当或者配置错误都会导致告警不能触发或者不是希望的触发。本文主要介绍在告警监控中如何进行自助排查问题。


在后续的文章中会陆续介绍在告警管理,通知管理,开放告警中问题的自助排查。

image.png

自助排查概览

在新版告警中,开启告警规则后,SLS会在用户侧创建两类免费的Logstore。

  • 告警规则所在的Project下的告警历史Logstore,名称固定为internal-alert-history,主要存储告警的评估历史及触发状态等。注意,新版告警中通知发送状态不表示通知渠道发送状态,其表示发送给告警管理的状态。
  • internal-alert-history中记录了每次评估触发的状态,如果开启了分组评估,则会每个分组记录一条日志。
  • 告警历史统计-仪表盘是SLS根据internal-alert-history自动创建在用户侧的告警仪表盘。
  • 告警中心Project及告警中心Logstore,告警中心Project格式为sls-alert-主账号uid-区域,告警中心Logstore名称固定为internal-alert-center-log
  • internal-alert-center-log完整的记录了告警的触发状态,告警合并抑制静默状态,通知渠道发送历史。
  • 告警链路中心-仪表盘,展示了全局告警链路中心,显示从告警产生到合并抑制静默再到渠道通知的链路状态。
  • 告警规则中心-仪表盘,展示了告警监控规则的最新评估状态和合并后的告警的最新状态。
  • 告警排障中心-仪表盘,展示了告警配置错误,通知渠道错误,告警监控规则错误的状态。


在配置出问题时,可以优先考虑从上述两个告警历史统计仪表盘和告警排障中心仪表盘查看问题。

告警历史统计仪表盘

image.png

告警历史统计

汽测们歌P八

口价队7个11日7

训41瓶t物7日+

27个118/1

3次-1次

50

60

环比昨日

40

70

20

20

80

80

通知成功次败今(相对)

10

90

3

100

扶行成功时通知事

-1次

找行成功事

100%

环比昨日

75%

告警历史今(组对)

ID

转发条件

告霍名称

仪泰盘

通知发送状态

足示名棒

原因

9

执行果

执行时间

星香能发告警

e

2021-06-2213:00:38

Count5>2:.Cordton

er-1623766973605778

OSSzEPV非营点检查

@222Bc7da34ebell-

ntenal-alent-analsks

Succoss

SuCCHsS

ng

5c553abc1ocbe-f1a30t

1.0>0

OSS储EPV异常点检查

ntera-atert-anatosks

b222Bc7de34eBet1-

Count5l>2.Condon

2021-05-22090038

alort1623766973605778

inue

Successful

STcC0s9

5c55051721008-119115

OSS诱GPV讯常点检查

2021-06-2205:00:38

Aert-1623766973-605778

COuntS>2.Condition

ntemal-an-analsis

b222Bc7de34eBet1-

True

554c17237816-31259c9

[1.0>0

ALort-1623766973605778

2021-06-2201:00:38

b222ec70r34eBoll-

OSS涝EPV异常点检查

NOtNOtEGD

Count_count>2.

false

SuCc0ss

Condtonaromaly.prob

5c5499cd52844-3a9dd7b

0

如上是告警历史统计仪表盘的截图,其中包含告警名称,触发条件,通知发送状态,是否触发告警,原因等字段,其中比较重要的字段为是否触发告警,原因等。

这里是否触发告警如果为false,这时需要查看原因列,原因列常见的导致未触发告警的描述有:

  • Alert condition not met,表示触发条件未满足。
  • Notify threshold not reached,表示连续触发阈值未达到。

接下来将对两种常见的原因进行详细的描述。


触发条件

触发条件是针对监控目标来设置的,无论是日志数据还是时序数据,使用SLS统一的查询分析语法,查询后的结果都可以看做是表格数据包含行和列,在经过集合操作后类型还是表格数据。触发条件的本质是查看是否有xx条数据满足了yy条件,这里的xx和yy是需要在触发条件中进行配置的。

下面以一个表格结果为例来讲解触发条件的判断方式:

image.png

上述结果为某次评估中查询结果集合操作后的结果。

需求是:status>=500的数据超过3条就告警。从图中可以轻易看出来上述的表格是满足条件的,触发的数据如下图,有5条数据满足status>=500。

image.png

这种情况下我们在告警规则配置中触发条件为:

image.png

有特定条数据匹配

触发条件:

status>-500

这里触发条件类型,我们选择“有特定条数据匹配”,内容选择 > 3,条件写 status >= 500。这样就满足了我们告警配置的需求。


四种触发条件类型

  • 有数据:表示集合操作后的表格结果行数大于0。
  • 有特定条数据:表示集合操作后的表格结果的行数满足一定条件,条件可以在规则中配置。
  • 有数据匹配:表示集合操作后的表格结果中任意一行满足指定条件即可。
  • 有特定条数据匹配:表示集合操作后的表格结果有指定行数满足指定条件,即为例子中类型。

以上四种触发条件类型都可以归结为xx行数据满足yy条件,在告警历史统计中,触发条件会显示在触发条件列,显示格式为Count:行数条件; Condition:数据条件

对于有数据类型,因为数据条件不需要,所以显示为空。对于行数使用__count__表示。

另外告警历史统计中,对于触发告警的评估,触发条件会显示满足触发条件的数据,将行数和数据替换条件中的变量,比如上述示例会用Count:__count__>3;Condition:status>=500来表示,如果触发告警会显示为Count:[5]>3;Condition:[500]>=500,这里数据如果有多条满足,Condition后面会用第一条满足的数据替换。

四种触发条件在满足和未满足的情况显示方式如下:

image.png

触发条件未满足

触发条件满足

触发类型

触发条件

有数据

Count:count_>O;Condition

Count:11>0.Condition:

Count:7]>3:Condition:

有特定条数据

Count:count>3:Condition

CoUnT

Count:.[2]>O:Condition:[500]

Count:count>O;

有数据匹配

status>3500

>二

Condition:status>-500

500

Count:[4]>3:Condition:[502]>

有特定条数据

有大于3条数据满足

Count:count>3;

匹配

Condition:status>-500

500

status>二500

通过上面的描述,在排查时,可以根据告警历史统计中的数据来判断触发条件为什么不满足。另外数据条件的写法可以参考[链接]。


连续触发阈值

连续触发阈值,表示连续多少次告警评估都是满足触发条件,是一种监控降噪的手段之一,比如在每分钟监控CPU的使用率,如果CPU偶然高一次可能不需要太在意,但是连续3分钟检查CPU的使用率都比较高,这种情况下需要引起关注。这种情况在告警规则配置中就可以设置连续触发阈值为3,检查频率为1分钟,这样只有连续三次检查CPU使用率都高的情况下,才触发告警。

image.png

如上图,检查频率为5分钟,每5分钟评估一次,其中实心箭头表示评估结果为满足触发条件,空心箭头表示不满足触发条件,时间轴向右。连续触发阈值设置为3,从上图可以看出第20分,25分会产生告警并将告警发送给告警管理,其他时间点因为不满足连续触发阈值,不会产生告警。


在告警监控规则页面,连续触发阈值默认为1,表示一次评估中数据满足触发条件,就会触发告警,并将告警发送到告警管理。

image.png

所以在遇到这种原因时,可以检查告警配置中的连续触发阈值是否大于1,真实的数据评估是否满足连续触发阈值。


告警排障中心仪表盘

告警排障中心主要包含了全局配置错误,通知渠道错误,告警监控规则错误数。本文主要介绍告警监控规则错误。

在SLS控制台,路径为 告警图标->打开告警中心->告警管理->告警排障中心

image.png

进入告警排障中心后,上方会显示告警监控规则出错数,点击数字,可以进入详情,可以在告警中心project中查看具体的错误。

image.png

全局告警排障中心

通知渠道错误数

告警监控规则出错数

全局配置错误数

23次

对比前一周

对比前24小时

对比前一周

在页面下方会显示最新的告警监控规则错误的列表,其中包含错误的规则名,错误和详情,也可以点击规则详情,进入告警配置页面进行修改。

image.png

在告警监控规则的查询配置中,经常会有一些错误配置,这里简单列举几个常见的情况

  • SQL语法错误

image.png

NEW

美性生本业八光一理-

数据加+家

nginx-access-eti-log

查询分析错误

SELECTCOUNT)

oasicnt

Erorlype:syntaxError.ErorPositionMa

错误位置

e:lne1:20:Idnthersmutot

320

tifierwithdoublequotes查看帮助

54分45秒

53分45秒

02分32秒

47分47秒

52分45秒

51分45秒

56分45秒57分45秒58分45秒59分45秒00分45

50分45秒

00分45秒

55分45秒

49分45秒

48分45秒

01分45秒

日志总条数:4.274查询状态:结果精确

  • 未开启索引

image.png

查询分析错误

未开启日志库索引,如需婴查询分析日志请点击开启(点击开启后等待imlh左右即可查询最新效城)

确定

  • 索引不存在

image.png

美本H八8片一

数据加

anginx-access-eti-log

查询分析错误

SELECT

rerioteuers

lne18:Columnremoteuerscannotberesoledpleaseaddthe

columnintheindexattribute查看帮助

400

09分45秒10分45秒11分45秒

5秒01分45秒02分45秒

13分45秒

04分45秒

59分50秒00分45秒

05分45秒

07分45秒

14分35

06分45秒

03分45秒

12分45秒

08分45秒

日志总条数:5,284查询状态:结果精确

日志聚类

原始日志

统计图表

>到第

53

2

3

确定

每页显示:

业向

4

目原始

换行

翻表格

100

快速分析

时间

搜案字段

06-2214:14:33

1624342481

@127.0.0.1

nginx-accesslog

tagreceivetime0:1624342484

bodybytessent

body_bytes-sent:1203

host

host:oss-test.aliyun.com

http-referer:waw.tb.mock.com

http_referer

Ht5E39:/

http-user_agent

Gecko)Version/4.dpsfr/526.11.2

httpxForardedfor:139.210.151.88

http-x_forwarded_for

remote_addr:180.174.216113

remote-addr

remote-user:2e_

reguestlength:10006

remote_user

request_method:GET

requestlength

reguest-time:16

request.uri:/request/path-o/file-9

requestmethod

sTATUS:200

requesttime

timeLocal:22/Jun/2021:06:14:33

upstream-response-time:0.24

reguesturi

其实对于查询类的错误,只要在SLS控制台的查询框中查询一次,即可看到错误;在配置告警时,先要对查询分析语句进行检测。

总结

通过上述告警历史统计仪表盘和告警排障中心仪表盘,我们可以发现告警监控中的配置错误或者查出告警是否触发的原因。文中列举了比较常见了两种导致告警未触发的情况,包括触发条件和连续触发阈值,着重进行了概念上的阐述和举例,希望通过此文加深读者对SLS告警概念上的理解。


参考

  • 告警监控概述【链接
  • 评估表达式语法【链接
  • 使用评估表达式设置触发条件【链接
  • 查询和分析日志【链接
  • 分组评估【链接

进一步参考

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
36 1
|
3月前
|
存储 Prometheus 监控
程序开发中的监控和日志分析
监控和日志分析在软件开发中至关重要,它们帮助实时了解应用状态、及时发现并解决问题。监控确保系统稳定运行,优化性能和资源;日志分析则助于追踪问题根源、监测用户行为并提供安全审计。利用如Prometheus、ELK Stack等工具可实现高效监控与日志管理,从而优化应用性能和用户体验。
148 0
|
7天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
1月前
|
Java 程序员 应用服务中间件
「测试线排查的一些经验-中篇」&& 调试日志实战
「测试线排查的一些经验-中篇」&& 调试日志实战
22 1
「测试线排查的一些经验-中篇」&& 调试日志实战
|
1月前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
|
1月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
2月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
3月前
|
存储 运维 监控
监控与日志管理:保障系统稳定运行与高效运维的基石
【8月更文挑战第16天】监控与日志管理是保障系统稳定运行和高效运维的基石。它们不仅能够帮助企业及时发现并解决问题,还能够为性能调优、资源优化和业务决策提供有力支持。因此,在构建系统架构时,企业应高度重视监控与日志管理的规划和实施,确保它们能够充分发挥作用,为企业的发展保驾护航。同时,随着技术的不断进步和应用场景的不断拓展,监控与日志管理也将持续演进和创新,为企业带来更多的价值和便利。
|
2月前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
288 0
|
3月前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
50 0

相关产品

  • 日志服务