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日志并进行多维度分析。
目录
相关文章
|
1月前
|
存储 Prometheus 监控
程序开发中的监控和日志分析
监控和日志分析在软件开发中至关重要,它们帮助实时了解应用状态、及时发现并解决问题。监控确保系统稳定运行,优化性能和资源;日志分析则助于追踪问题根源、监测用户行为并提供安全审计。利用如Prometheus、ELK Stack等工具可实现高效监控与日志管理,从而优化应用性能和用户体验。
84 0
|
2月前
|
SQL Java Serverless
实时计算 Flink版操作报错合集之在写入SLS(Serverless Log Service)时出现报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
1月前
|
存储 运维 监控
监控与日志管理:保障系统稳定运行与高效运维的基石
【8月更文挑战第16天】监控与日志管理是保障系统稳定运行和高效运维的基石。它们不仅能够帮助企业及时发现并解决问题,还能够为性能调优、资源优化和业务决策提供有力支持。因此,在构建系统架构时,企业应高度重视监控与日志管理的规划和实施,确保它们能够充分发挥作用,为企业的发展保驾护航。同时,随着技术的不断进步和应用场景的不断拓展,监控与日志管理也将持续演进和创新,为企业带来更多的价值和便利。
|
16天前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
34 0
|
19天前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
28 0
|
19天前
|
开发者 前端开发 编解码
Vaadin解锁移动适配新境界:一招制胜,让你的应用征服所有屏幕!
【8月更文挑战第31天】在移动互联网时代,跨平台应用开发备受青睐。作为一款基于Java的Web应用框架,Vaadin凭借其组件化设计和强大的服务器端渲染能力,助力开发者轻松构建多设备适应的Web应用。本文探讨Vaadin与移动设备的适配策略,包括响应式布局、CSS媒体查询、TouchKit插件及服务器端优化,帮助开发者打造美观且实用的移动端体验。通过这些工具和策略的应用,可有效应对屏幕尺寸、分辨率及操作系统的多样性挑战,满足广大移动用户的使用需求。
24 0
|
19天前
|
存储 JSON 监控
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
46 0
|
21天前
|
消息中间件 Prometheus 监控
Producer的监控与日志记录最佳实践
【8月更文第29天】在分布式系统中,消息队列作为关键组件之一,其稳定性和性能至关重要。生产者(Producer)负责生成并发送消息到消息队列中,因此确保生产者的健康运行是非常重要的。本文将探讨如何为生产者设置监控和日志记录,以跟踪其健康状况和性能指标。
24 0
|
22天前
|
JavaScript Serverless Linux
函数计算产品使用问题之遇到Node.js环境下的请求日志没有正常输出时,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

热门文章

最新文章

相关产品

  • 日志服务