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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 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日志并进行多维度分析。
目录
打赏
0
0
0
0
19
分享
相关文章
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
数据采集监控与告警:错误重试、日志分析与自动化运维
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
58 22
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
|
17天前
|
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
21 3
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
593 3
智能运维,由你定义:SAE自定义日志与监控解决方案
SAE(Serverless应用引擎)是阿里云推出的全托管PaaS平台,致力于简化微服务应用开发与管理。为满足用户对可观测性和运维能力的更高需求,SAE引入Sidecar容器技术,实现日志采集、监控指标收集等功能扩展,且无需修改主应用代码。通过共享资源模式和独立资源模式,SAE平衡了资源灵活性与隔离性。同时,提供全链路运维能力,确保应用稳定性。未来,SAE将持续优化,支持更多场景,助力用户高效用云。
阿里云个人博客外网访问中断应急指南:从安全组到日志的七步排查法
1. 检查安全组配置:确认阿里云安全组已开放HTTP/HTTPS端口,添加规则允许目标端口(如80/443),授权对象设为`0.0.0.0/0`。 2. 本地防火墙设置:确保服务器防火墙未阻止外部流量,Windows启用入站规则,Linux检查iptables或临时关闭防火墙测试。 3. 验证Web服务状态:检查Apache/Nginx/IIS是否运行并监听所有IP,使用命令行工具确认监听状态。 4. 测试网络连通性:使用外部工具和内网工具测试服务器端口是否开放,排除本地可访问但外网不可的问题。 5. 排查DNS解析:确认域名A记录指向正确公网IP,使用`ping/nslookup`验证解析正
68 2
除了实时性能监控,Hyper-V还支持日志记录和警报功能你知道吗?
Hyper-V不仅支持实时性能监控,还具备强大的日志记录和警报功能。通过事件查看器可访问详细的日志文件,涵盖虚拟机管理、配置及Hypervisor事件,帮助故障排查和性能分析。警报功能支持预定义和自定义规则,可通过多种方式通知管理员,确保及时响应问题,保障虚拟化环境的稳定运行。
|
6月前
|
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
89 1
无痛入门Prometheus:一个强大的开源监控和告警系统,如何快速安装和使用?
Prometheus 是一个完全开源的系统监控和告警工具包,受 Google 内部 BorgMon 系统启发,自2012年由前 Google 工程师在 SoundCloud 开发以来,已被众多公司采用。它拥有活跃的开发者和用户社区,现为独立开源项目,并于2016年加入云原生计算基金会(CNCF)。Prometheus 的主要特点包括多维数据模型、灵活的查询语言 PromQL、不依赖分布式存储、通过 HTTP 拉取时间序列数据等。其架构简单且功能强大,支持多种图形和仪表盘展示模式。安装和使用 Prometheus 非常简便,可以通过 Docker 快速部署,并与 Grafana 等可
1163 2

热门文章

最新文章

相关产品

  • 日志服务