带你读《Elastic Stack 实战手册》之43:——3.5.2.Kibana的Alert(2)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之43:——3.5.2.Kibana的Alert(2)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.2.Kibana的Alert(1) https://developer.aliyun.com/article/1228799


Alert Instances 的概念和抑制重复告警

 

检查一个 condition 条件时,Alert 可能会识别该条件的多次出现。每出现一次符合condition 条件的情况,Kibana 就生成一个 Alert Instances,即警报实例。那么 Kibana 分别跟踪每个警报实例,并对每个实例采取行动。

 

重复告警

以下面的图示例,将每个平均 CPU 为> 0.9 的服务器作为 Alert Instance 进行跟踪。然后将每个超过阈值的服务器都将发送单独的电子邮件。

image.png

 


那就会带来一个问题,当 Alert Instances 过多的时候,就会造成大量通知重复发送,即Alert Noise 的现象。

 

比如一个警报每分钟监控三个服务器的 CPU 使用情况 > 0.9,就发送邮件通知工作人员:

 

l 第一分钟:服务器 X123 的 CPU > 0.9

l 其中一封邮件发送通知工作人员服务器 X123 的 CPU 过高。

 

l 第二分钟:X123 和 Y456 的 CPU > 0.9

l 发送了两封邮件,一封是关于 X123 的,一封是关于Y456的。

 

l 第三分钟:X123, Y456, Z789 的 CPU > 0.9

l 发送了三封邮件,分别是 X123,Y456,Z789。

 

在上面的例子中,对于相同的条件,在3分钟的时间内,向服务器 X123 发送了3封邮件。

 

抑制重复告警


Kibana 针对这个情况做了抑制重复通知的优化,主要是通过设置通知间隔来抑制重复多余的告警。比如在上面的例子中,将警报重新通知间隔设置为5分钟,那么 Alert 发送通知的情况则如下:

 

l 第一分钟:服务器 X123 > 0.9

l 邮件发送报告服务器 X123 的 CPU 过高

 

l 第二分钟:X123 和 Y456 > 0.9

l 邮件发送报告服务器 Y456 的 CPU 过高

 

l 第三分钟:X123, Y456, Z789 > 0.9

l 邮件发送报告服务器 Z789 的 CPU 过高。

 

当然过了五分钟后,如果服务器 X123 > 0.9还是存在,那么继续会发送邮件,报告服务器 X123 的 CPU 过高。

 

Kibana Alert 的实现机制

 

Kibana Alert 将 Alert Check 的信息和 Action 的信息,持久化在 Elasticsearch 在后台执行。这有两个主要好处:

 

1、持久性:所有的任务相关的信息都存储在 Elasticsearch 中,所以如果 Kibana 重新启动,Alert 和 Action 将从它们停止的地方恢复

2、伸缩性:多个 Kibana 实例可以从 Elasticsearch 中读取和更新相同的任务队列,允许

Alert 和Action 跨实例分布。如果现有的 Alert 执行数量超出了现有的 Kibana 实例的容量上限,可以增加额外的 Kibana 实例。

 

Kibana 后台任务的执行机制


1、每隔3秒轮循 Elasticsearch 任务索引以查找过期任务;

2、任务执行后在 Elasticsearch 索引中更新,使用乐观并发控制来防止冲突;

3、任务在 Kibana 服务器上运行。每个 Kibana 实例最多可以运行 10 个并发任务,因此每个间隔最多可以声明 10 个任务;

4、对于重复后台检查的 Alert,任务完成后将按照检查间隔再次调度。

 

因为每3秒轮询一次任务,并且每个 Kibana 实例只能同时运行10个任务,所以 Alert 和

Action 任务可能会在以下情况延迟运行:

 

1、警报使用较小的检查间隔。最低间隔时间可能是 3 秒,但建议间隔时间为 30 秒或更高

2、许多警报或操作必须同时运行。在这种情况下,挂起的任务将在 Elasticsearch 中排队,并且每隔 3 秒从队列中取出 10 个任务

3、长时间运行的任务占用槽位的时间较长,留给其他任务的槽位较少

 

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.2.Kibana的Alert(3) https://developer.aliyun.com/article/1228796

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
7月前
|
算法 安全 数据安全/隐私保护
基于指纹图像的数据隐藏和提取matlab仿真
本内容介绍了一种基于指纹图像的数据隐藏算法,利用指纹的个体差异性和稳定性实现信息嵌入。完整程序运行无水印,基于Matlab2022a开发。指纹图像由脊线和谷线组成,其灰度特性及纹理复杂性为数据隐藏提供可能,但也受噪声影响。核心代码附详细中文注释与操作视频,适合研究数字版权保护、秘密通信等领域应用。
|
文字识别 算法 API
视觉智能开放平台产品使用合集之海外是否可以使用图像分割
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
115 1
|
存储 Java 索引
Kibana 自定义索引连接器告警
Kibana 自定义索引连接器告警
|
存储 监控 测试技术
Kibana 的 Alert—Elastic Stack 实战手册
Kibana 的 Alert 模块主要用于 Elastic Stack 的监控告警。以一种相对较低的使用成本,将复杂的查询条件,编辑完成后监控不同的 Elastic Stack 的技术产品中产生的数据,最终把符合条件的告警信息以需要的方式反馈给用户。
5200 0
Kibana 的 Alert—Elastic Stack 实战手册
|
监控 数据可视化 API
Elasticsearch 的实时监控与告警
【9月更文第3天】随着数据量的不断增加和业务复杂度的提升,对数据系统的实时监控和告警变得至关重要。Elasticsearch 作为一个高性能的搜索和分析引擎,提供了丰富的工具和插件来帮助用户实现实时监控和自动化告警。本文将详细介绍如何配置 Elasticsearch 以实现实时数据监控,并自动触发告警机制。
1313 3
|
SQL 关系型数据库 MySQL
|
机器学习/深度学习 运维 监控
开源日志分析Kibana
【10月更文挑战第22天】
331 3
|
安全 网络安全 PHP
RCE攻击绕过WAF详解
RCE攻击绕过WAF详解
288 3
|
XML 数据格式 SoC
深入理解AMBA总线(十)AHB Bus Matrix以及AHB的局限性
深入理解AMBA总线(十)AHB Bus Matrix以及AHB的局限性
1399 0
|
安全 虚拟化 Windows
移除Hyper-V角色,Windows10中与VMware不兼容
移除Hyper-V角色,Windows10中与VMware不兼容
3156 0
移除Hyper-V角色,Windows10中与VMware不兼容