kibana的告警能力是基于X-Pack Watcher的,X-Pack Watcher功能主要由Trigger、Input、Condition和Actions四部分组成,详细说明如下TriggerWatcher定时触发器,即多久触发一次Watcher,相当于多久执行一次input。支持多种调度触发器,详细信息请参见Schedule Trigger。 InputInput将数据加载到执行上下文,用于后续的Watcher执行阶段,如果input没有指定,将会加载一个空上下文,详细信息请参见Inputs。Watcher支持以下input类型:
•simple:将输入静态数据加载到执行上下文。例如手动输入一段简单的数据进行报警。
•search:将搜索结果加载到执行上下文。例如全文搜索关键词,对搜索结果进行统计实现报警。
•http:将HTTP请求结果加载到执行上下文。例如通过Elasticsearch请求接口获取集群健康状态、节点状态等实现报警。
•chain:将一系列的输入数据加载到执行上下文,这些数据一般是来自多个源。
Condition执行Actions的条件。即满足条件将会触发下一步操作,如果不指定条件,默认为always,详细信息请参见Conditions。Watcher支持以下condition类型:
•always:条件总为true,始终执行Watcher Actions。
•nerver:条件总为false,从不执行Watcher Actions。
•compare:对Watcher有效负载中的值进行简单比较,以确定是否执行Watcher Actions。
•array_compare:将Watcher有效负载中的值数组与给定值进行比较,以确定是否执行Watcher Actions。
•script:使用脚本确定是否执行Watcher Actions。
Actions报警接收对象,常见的报警接收对象包括邮件、Webhook 、index和logging等,详细信息请参见Actions。
由于 Kibana告警是依赖ES本身的服务,所以实际的告警数据,是ES集群节点发送出来的,这样需考虑下网络联通性,自2020年10月起,阿里云Elasticsearch对不同地域进行了网络架构的调整,对创建的实例有以下影响,2020年10月之前创建的实例均在旧网络架构下,即Elasticsearch实例处于用户VPC下,如果需要访问公网,可以直接使用SNAT功能或自建Nginx代理。2020年10月及之后创建的实例均在新网络架构下,即Elasticsearch实例处于Elasticsearch服务VPC下,X-PackWatcher功能受到网络限制,为解决此问题,阿里云Elasticsearch提供了实例私网连接方案,也就是PrivateLink方案,详细网络架构我们在5.1.7.1.3章节有说明。如果还需要将报警信息推送至公网环境,在通过实例私网连接打通Elasticsearch服务VPC和用户VPC的基础上,还需对负载均衡后端服务配置Nginx代理或开启SNAT功能实现公网信息推送。
注意:通过邮件接收报警存在端口限制,阿里云Elasticsearch不支持,建议通过Webhook进行邮件转发。
以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。