《企业级云原生白皮书项目实战》——第五章 大数据——5.1 检索分析服务 Elasticsearch版——5.1.4 集群监控告警(6) https://developer.aliyun.com/article/1228833?groupCode=supportservice
5.1.4.3 Kibana监控告警
5.1.4.3.1 Kibana监控
kibana监控分为Elasticsearch和Kibana两个服务,其中Elasticsearch日常使用较多的主要是Overview、Nodes、Indices三个模块。Overview、Nodes、Indices都是可以看到集群的整体状态、节点数量、数索引数、shard数量、文档数量、存储大小等数据。
Overview是监控概览,可以查看到集群整体的查询和索引的速率和延迟,需要注意的是Search Rate (/s)是每秒主分片和副本分片的整体请求速率,而Indexing Rate (/s)是每秒写入的文档数量。
Nodes是节点维度监控数据,可以看到每个节点的状态、UPU、负载、jvm 内存、磁盘空闲空间、shard数量。
indices是索引维度监控数据,可以查看到索引的名字、索引的状态、索引文档数量、索引数据大小、索引的写入速率、索引的查询速率,以及未分配的shard数量。
而Kibana主要有Overview和Instances两个模块,其中Overview是概览,主要可以查看到实例状态、节点数量、整体内存和当前使用内存、请求数量、客户端数量、最大响应时间,客户端请求总量、客户端响应时间(最大值和平均值),而Instances可以看到实例维度的状态、负载平均值、当前使用内存大小、请求数量、响应时间。
5.1.4.3.2 Kibana告警
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-Pack Watcher功能受到网络限制,为解决此问题,阿里云Elasticsearch提供了实例私网连接方案,也就是PrivateLink方案,详细网络架构我们在5.1.7.1.3章节有说明。如果还需要将报警信息推送至公网环境,在通过实例私网连接打通Elasticsearch服务VPC和用户VPC的基础上,还需对负载均衡后端服务配置Nginx代理或开启SNAT功能实现公网信息推送。
注意:通过邮件接收报警存在端口限制,阿里云Elasticsearch不支持,建议通过Webhook进行邮件转发。
《企业级云原生白皮书项目实战》——第五章 大数据——5.1 检索分析服务 Elasticsearch版——5.1.4 集群监控告警(8) https://developer.aliyun.com/article/1228828?groupCode=supportservice