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

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

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



count 为统计文档数,不需要填写字段,其余方法会自动匹配出可计算类型的字段,比如long类型。

 

OVER 条件可以配置聚合全部文档或者分组。如果使用了分组,即 top,那么当每个组超过阈值时,将为每个组创建一个 Alert Instance。在配置中,top 会设定分组数量,限制高基数字段上的实例数量。比如上图中只检查 user.id.keyword 数量最多的3组。


PUT _ingest/pipeline/add-timestamp
{
  "processors": [
    {
      "set": {
        "field": "@timestamp",
        "value": "{{_ingest.timestamp}}"
      }
    }
  ]
}
POST _bulk?pipeline=add-timestamp
{ "create" : { "_index" : "test-es", "_id" : "1" } }
{ "user.id":"may","fail_num":"1"}
{ "create" : { "_index" : "test-es", "_id" : "2" } }
{ "user.id":"may","fail_num":"4"}
{ "create" : { "_index" : "test-es", "_id" : "4" } }
{ "user.id":"jack","fail_num":"1"}
{ "create" : { "_index" : "test-es", "_id" : "5" } }
{ "user.id":"may","fail_num":"6"}
{ "create" : { "_index" : "test-es", "_id" : "6" } }
{ "user.id":"jack","fail_num":"3"}
{ "create" : { "_index" : "test-es", "_id" : "7" } }
{ "user.id":"jack","fail_num":"3"}
{ "create" : { "_index" : "test-es", "_id" : "8" } }
{ "user.id":"bill","fail_num":"9"}
{ "create" : { "_index" : "test-es", "_id" : "9" } }
{ "user.id":"jack","fail_num":"1"}
{ "create" : { "_index" : "test-es", "_id" : "10" } }
{ "user.id":"jack","fail_num":"1"}

相关的查询结果会有一张时序图来体现,如下图:

image.png

从图中看出前三个是 may 6次、jack 9次、bill 9次。

 

再设置一个 Action,此处是写进索引 alert-record


image.png

保存后,过段时间 Alert 的详情里就有了 Alert Instance 的相关信息。

image.png

其中 Status 为 Active 的是待执行 Action 操作的。不管 Alert Instance 在被监控判断的期间是否被静音( Mute ),最终状态都为 OK。

 

关于 Actions

 

预设置 Connector 和 Action

 

可以在 kibana.yml 中预设值 Connector 或者 Action Type。

 

预设 Connector 需要将配置和相关证书设置清楚,不可以数组对象的形式设置,且配置完以后不可修改。相比之下在 Kibana 启动后,再设置 Connector 相对灵活许多。

 

Connector 和 Action 的具体配置可参考官方网站。

 

Action 的变量传入

 

在设置 Action 时,根据 Action Type 的不同,会设置不同的 properties。比如,email 配置Subject 和 Message;Index 提供 document。具体细节参考每个类型的具体 action 配置。

 

虽然各个 Properties 不一样,但是在配置时都可以把 Alert 中监控到的数据,作为变量传入报警信息中。使用 Mustache 模板语法 {{variable name}},可以在检测到一个 Condition 时将警报值传递给一个 Action。

 

可用的变量因 Alert Type 不同而不同,可以使用 "Add variable" 按钮来访问列表。

 

下图是 email 的可传入参数:

 

image.png

创作人简介:

扈臣聪 ,擅长应用设计与开发,关注Elasticsearch、Mysql、NLP等技术。

博客:https://developer.aliyun.com/profile/etlld5ckrmzfc

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
安全 云计算
身份和访问管理(IAM)软件市场现状及未来发展趋势
本文研究全球及中国市场身份和访问管理(IAM)软件现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
身份和访问管理(IAM)软件市场现状及未来发展趋势
|
29天前
|
人工智能 自然语言处理 JavaScript
喂饭级OpenClaw部署教程:阿里云+本地安装集成QQ/微信/钉钉/飞书及避坑指南
OpenClaw(原Clawdbot)作为高扩展性的开源AI Agent框架,核心价值在于通过自然语言驱动自动化任务,而集成QQ、微信、钉钉、飞书等主流IM平台,能彻底打破“切换工具操作”的壁垒,实现“聊天式调用AI、跨平台执行任务”的高效体验。但对新手而言,不仅部署过程中容易被环境依赖、版本冲突等问题卡壳,IM平台集成更是因接口配置、权限申请、风控规避等细节陷入困境。
3620 7
|
8月前
|
运维 数据可视化 搜索推荐
研发部绩效考核怎么做?用这5步搭建体系,人事系统帮你落地
研发部门作为企业技术核心,其绩效考核面临创造性、协作性及高知群体特性带来的挑战。常规KPI难以量化创新价值、评估团队贡献或满足成长需求。科学的考核体系需从战略出发,结合可量化与定性指标,设定灵活周期,引入多源评价,并与激励机制联动。借助人事系统实现数据自动整合、流程在线化与结果可视化,提升考核效率与公平性。最终通过“体系+工具”结合,激发研发人员积极性,推动企业技术创新与战略落地。
|
存储 安全 数据安全/隐私保护
Mac如何用命令行处理文件加密压缩
本教程介绍在Mac中通过命令行实现文件和文件夹的加密压缩、分卷处理及解压操作。主要内容包括:1) 使用`zip -er`命令加密压缩文件夹,`zip -e`命令加密压缩单个文件;2) 使用`split`命令按指定大小分割ZIP文件;3) 通过`cat`命令合并分卷文件并使用`unzip`解压。适用于需要安全传输和存储数据的场景。
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
Sentinel学习圣经:从入门到精通 Sentinel,最全详解 (40+图文全面总结)
尼恩给大家做一下系统化、体系化的梳理,联合社群小伙伴,来一个Sentinel学习圣经:从入门到精通Sentinel。
|
Java
Java访问外网图片地址时,如何添加代理?
【10月更文挑战第14天】Java访问外网图片地址时,如何添加代理?
436 2
|
Java Go API
我用go-zero开发了第一个线上项目
我用go-zero开发了第一个线上项目
|
Java Spring
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
【Azure Developer】Springboot 集成 中国区的Key Vault 报错 AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found
499 0
|
JSON API 网络架构
Index alias — Elastic Stack 实战手册
别名,是为一个或多个索引而命名的第二名称,第二名称不得与集群中任何索引同名;只要把第二名称和真实索引建立绑定关系,便可以使用别名对索引进行相关的操作。
891 0
Index alias — Elastic Stack 实战手册

热门文章

最新文章