《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.2.Kibana的Alert(2) https://developer.aliyun.com/article/1228797
完整的 Alert 流程
Alert 由 Condition(条件)、Action 和 Schedule 组成。当条件满足时,就会创建警报实例来呈现和调用操作。为了使 Action 设置和更新更容易,Action 包含了与第三方连接交互的
Connector 。
下面的例子将这些概念联系在一起:
1、只要警报的条件得到满足,就会创建一个警报实例。这个示例检查平均 CPU 为 > 0.9 的服务器。三个服务器满足条件,因此创建了三个实例。
2、Action 执行时,警报中设置的模板将被实际值填充。在这个示例中,创建了三个操作,模板字符串 {{server}} 被替换为每个实例的服务器名。
3、Kibana 调用这些 Action,将它们发送给第三方集成,比如邮件服务。
4、发送这些信息时,Action 会结合 Connector 中设置的信息发送。比如:邮件的 host/port/用户名/密码。
如何配置 Alert
目前 Kibana 提供了一种内置的警报类型:索引阈值类型(index threshold)。索引阈值警报类型,允许你指定要查询的索引、聚合字段和时间窗口。但底层 Elasticsearch 查询的详细信息是隐藏的。根据设定的查询条件,将结果与阈值进行比较,并在满足阈值时进行后续的调度执行。
操作示范
在 Stack management 的 Alert 中 Create alert,新建一个名为 test-alert 的告警。该告警用于检查索引test-es中fail_num的累计数量,test-alert每分钟检查一次,最多5分钟告警通知一次,标签为test。
索引test-es的数据如下:
PUT test-es POST test-es/_mapping { "properties" : { "@timestamp" : { "type" : "date", "format" : "yyyy/MM/dd HH:mm:ss||yyyy/MM/dd||epoch_millis" }, "fail_num" : { "type" : "long" }, "user" : { "properties" : { "id" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } } } } } }
选择 Index threshold
配置 condition 条件为:监控索引 test-es 中10分钟内,如果 fail_num 总计超过5次则告警。
其中,WHEN 条件可选择为 count,average,sum,min 和 max。
《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.2.Kibana的Alert (4) https://developer.aliyun.com/article/1228795