《企业级云原生白皮书项目实战》——第五章 大数据——5.1 检索分析服务 Elasticsearch版——5.1.4 集群监控告警(2) https://developer.aliyun.com/article/1228839?groupCode=supportservice
5.1.4.2 高级监控告警
5.1.4.2.1 高级监控
高级监控报警服务是基于Elasticsearch开发的一种SAAS服务,具备对集群指标和日志数据的采集、加工、监控、检索、可视化和报警等多种能力,底层使用的是Grafana,并且查看集群、节点、索引和机器资源等维度的可视化监控数据,进行集群的异常日志分析,并可以根据业务需求自定义监控大屏和报警规则
阿里云控制台-监控与日志-集群监控-高级监控报警。
第一次使用,是需要进行授权的。为保证能正常使用高级监控报警功能,请确保再提示应用授权时,选中"获取登录用户的基本信息(默认授权域,不可移除)"、"阿里云颁发的唯一用户标志符"、"用户的名称等个人信息"。
注意:如果使用的是阿里云账号,同时勾选三项授权即可登录;如果使用的是RAM用户身份,那么需要由阿里云账号授权,或者由阿里云账号完成首次的登录授权后,才可以正常登录。如果由阿里云账号授权,可以参见为RAM用户授权,将策略内容中的Action和Resource替换为以下信息:Action:ims:* Resource:acs:ims:::application/*其中,需要替换成您自己的RAM用户身份ID。使用RAM角色单点登录阿里云控制台时,不支持访问高级监控报警服务。如果需要访问,可使用RAM用户单点登录阿里云控制台。如果授权出现问题,请通过重新授权进行处理。
高级监控的监控指标中,除了基础监控中包含的大部分指标,还包括更多的ES应用层面的监控项,重点的ES应用层面的监控部分为cluster、index、Node Resource、Node Network、Node DiskNode JVM 、Thread_pool。
cluster表示ES集群维度监控,包括了节点的总数量、index的总数量、集群中shard的总数量、主shard的总数量等数据。
index是索引维度监控数据,包括了集群中索引维度的查询QPS、集群中索引维度的写入QPS、索引请求的执行耗时、查询请求的执行耗时、index segments内存使用情况、index segments数目等,当ES集群整体QPS异常,可以通过该指标看下,具体是那个索引的写入QPS上升了,当ES集群内存异常,可以通过这部分监控数据,分析下具体是哪部分内存异常,比如index segments内存使用情况,是指每个segment都会有一部分数据缓存在内存中,加速索引数据的查询速度,这部分内存是无法被GC的,一个node的segment memory占用过多的时候,就需要考虑删除、归档数据,或者扩容了。
Node Resource主要是节点内存、CPU资源的监控,当业务出现请求异常,可以优先查看下节点的资源数据,使用存在CPU、内存打高的情况。
Node Network是节点网络相关数据,包括节点网络流入流出包、节点网络流入流出率、节点TCP连接数,主要观察下ES集群连接数量和请求流量等。
Node Disk是节点维度的磁盘使用情况,包括每秒完成的读写请求数量、每秒完成的读写大小等指标,主要是观察存储维度的数据读写情况。
Node JVM是节点JVM内存使用的监控,包括heap使用率、old区使用情况、old GC耗时、young GC耗时、old GC频次、young GC频次、堆外内存最大使用量等。其中heap使用率,也就是堆内内存。es内存分配,堆内和堆外个一半,当内存超过64G,堆内存不会再多分配,全部分配给堆外内存。而gc是保证ES内存资源使用的重要机制,一般通过gc的频次和耗时情况,判断集群的内存压力,当内存使用异常,可以通过gc的频次和耗时情况分析下。
Thread_pool是线程监控,包括线程池中的线程总数、查询线程池中被拒绝的请求数、查询线程池中排队的请求数,以及通用线程池的相关数据,线程一般和请求及CPU相关,当客户端请求失败,可以先观察下CPU使用率,以及查询线程池的情况,如果CPU使用率过高,查询线程池中排队的请求数打满,都可能导致请求失败。
《企业级云原生白皮书项目实战》——第五章 大数据——5.1 检索分析服务 Elasticsearch版——5.1.4 集群监控告警(4) https://developer.aliyun.com/article/1228836?groupCode=supportservice