1.集群监控

集群监控主要包括两个方面的内容,分别是集群健康情况和集群的运行状态

集群健康状态可以通过以下api获取:

http://ip:9200/_cluster/health?pretty

关键指标说明:

 status:
#集群状态,分为green、yellow和red。
number_of_nodes/number_of_data_nodes:
#集群的节点数和数据节点数。
active_primary_shards:
#集群中所有活跃的主分片数。
active_shards:
#集群中所有活跃的分片数。

relocating_shards:
#当前节点迁往其他节点的分片数量,通常为0,当有节点加入或者退出时该值会增加。
initializing_shards:
#正在初始化的分片。
unassigned_shards:
#未分配的分片数,通常为0,当有某个节点的副本分片丢失该值就会增加。
number_of_pending_tasks:
#是指主节点创建索引并分配shards等任务,如果该指标数值一直未减小代表集群存在不稳定因素。
active_shards_percent_as_number:
#集群分片健康度,活跃分片数占总分片数比例。
number_of_pending_tasks:
#pending task只能由主节点来进行处理,这些任务包括创建索引并将shards分配给节点。

集群状态信息主要包含整个集群的一些统计信息,例如文档数、分片数、资源使用情况等。

集群状态信息可以由以下api获取:

http://ip:9200/_cluster/stats?pretty

关键指标说明:

 indices.count:
#索引总数。

indices.shards.total:
#分片总数。

indices.shards.primaries:
#主分片数量。
docs.count:
#文档总数。
store.size_in_bytes:
#数据总存储容量。

segments.count:
#段总数。
nodes.count.total:
#总节点数。
nodes.count.data:
#数据节点数。
nodes. process. cpu.percent:
#节点CPU使用率。
fs.total_in_bytes:
#文件系统使用总容量。
fs.free_in_bytes:
#文件系统剩余总容量。

2.节点监控

节点监控主要针对各个节点,有很多指标对于保证ES集群的稳定运行非常重要。

可以通过以下api获取:

http://ip:9200/_nodes/stats?pretty

关键指标说明:

 name:
#节点名。
roles:
#节点角色。
indices.docs.count:
#索引文档数。
segments.count:
#段总数。
jvm.heap_used_percent:
#内存使用百分比。
thread_pool.{bulk, index, get, search}.{active, queue, rejected}:
#线程池的一些信息,包括bulk、index、get和search线程池,主要指标有active(激活)线程数,线程queue(队列)数和rejected(拒绝)线程数量。

以下一些指标是一个累加值,当节点重启之后会清零。

 indices.indexing.index_total:
#索引文档数。
indices.indexing.index_time_in_millis:
#索引总耗时。
indices.get.total:
#get请求数。
indices.get.time_in_millis:
#get请求总耗时。
indices.search.query_total:
#search总请求数。
indices.search.query_time_in_millis:
#search请求总耗时。indices.search.fetch_total:fetch操作总数量。
indices.search.fetch_time_in_millis:
#fetch请求总耗时。
jvm.gc.collectors.young.collection_count:
#年轻代垃圾回收次数。
jvm.gc.collectors.young.collection_time_in_millis:
#年轻代垃圾回收总耗时。
jvm.gc.collectors.old.collection_count:
#老年代垃圾回收次数。
jvm.gc.collectors.old.collection_time_in_millis:
#老年代垃圾回收总耗时。

一些需要计算的指标: 节点监控的计算指标主要分为两类,分别为请求速率指标和请求处理延迟指标,下面作具体介绍。

 index_per_min:
#每分钟索引请求数量。计算公式如下:
#索引请求率=(index_total两次采集差值)/(系统时间差值(ms))×60000 (公式1)
indexAverge_per_min:
#索引请求处理延迟。计算公式如下:
#索引延迟=(index_time_in_millis两次采集差值)/(index_total两次采集差值) (公式2)
get_per_min:
#每分钟get请求数量,计算公式如(公式1),更改相应参数。
getAverage_per_min:
#get请求处理延迟,计算公式如(公式2) ,更改相应参数。
merge_per_min:
#每分钟merge请求数量,计算公式如(公式1),更改相应参数。
mergeAverage_per_min:
#merge请求处理延迟,计算公式如(公式2) ,更改相应参数。
searchQuery_per_min:
#每分钟query请求数量,计算公式如(公式1),更改相应参数。
searchQueryAverage_per_min:
#query请求延迟,计算公式如(公式2) ,更改相应参数。
searchFetch_per_min:
#每分钟fetch请求数量,计算公式如(公式1),更改相应参数。
searchFetchAverage_per_min:
#fetch请求延迟,计算公式如(公式2) ,更改相应参数。
youngGc_per_min:
#每分钟young gc数量,计算公式如(公式1),更改相应参数。
youngGcAverage_per_min:
#young gc请求延迟,计算公式如(公式2) ,更改相应参数。
oldGc_per_min:
#每分钟old gc数量,计算公式如(公式1),更改相应参数。
oldGcAverage_per_min:
#old gc请求延迟,计算公式如(公式2) ,更改相应参数。

3.索引监控

索引监控指标主要针对单个索引,不过也可以通过“_all”对集群中所有索引进行监控。

节点监控指标可以通过以下api获取:

http://ip:9200/_stats?pretty

关键指标说明:

http://ip:9200/_stats?pretty。
#关键指标说明:
indexname.primaries.docs.count:
#索引文档数量。

以下一些指标是一个累加值,当节点重启之后会清零。

 indexname.primaries.indexing.index_total:
#索引文档数。
indexname.primaries.indexing.index_time_in_millis:
#索引总耗时。
indexname.primaries.get.total:
#get请求数。
indexname.primaries.get.time_in_millis:
#get请求总耗时。
indexname.primaries.search.query_total:
#search总请求数。
indexname.primaries.search.query_time_in_millis:
#search请求总耗时。indices.search.fetch_total:fetch操作总数量。
indexname.primaries.search.fetch_time_in_millis:
#fetch请求总耗时。
indexname.primaries.refresh.total:
#refresh请求总量。
indexname.primaries.refresh.total_time_in_millis:
#refresh请求总耗时。

indexname.primaries.flush.total:
#flush请求总量。
indexname.primaries.flush.total_time_in_millis:
#flush请求总耗时。

理解了上面的指标

就可以使用Prometheus和Grafana进行监控展示

下面是我们测试环境的Grafana上展示的Elasticsearch集群的状态

可以看到prometheus采集到的的指标信息还是比较全面的

 

Elasticsearch 监控指标解析的更多相关文章

  1. es相关监控指标梳理

    ###################ElasticSearch监控指标梳理########################### #author:lugh1 # #date:2021-09-26 # ...

  2. prometheus 监控ElasticSearch核心指标

    ES监控方案 本文主要讲述使用 Prometheus监控ES,梳理核心监控指标并构建 Dashboard ,当集群有异常或者节点发生故障时,可以根据性能图表以高效率的方式进行问题诊断,再对核心指标筛选 ...

  3. 渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(下)

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/12/es-code03/ 前提 上篇文章写完了 ES 流程启动的一部分,main 方法都入 ...

  4. 渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(上)

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/11/es-code02/ 前提 上篇文章写了 ElasticSearch 源码解析 -- ...

  5. Elasticsearch 监控

    导语 Elasticsearch(文中简称ES)是分布式全文搜索引擎,产品提供高可用.易扩展以及近实时的搜索能力,广泛应用于数据存储.搜索和实时分析.很多服务的可用性对ES重度依赖.因此,保障ES自身 ...

  6. 【0.2】【MySQL】常用监控指标及监控方法(转)

    [MySQL]常用监控指标及监控方法 转自:https://www.cnblogs.com/wwcom123/p/10759494.html  对之前生产中使用过的MySQL数据库监控指标做个小结. ...

  7. 【转载】apache kafka系列之-监控指标

    原文地址:http://blog.csdn.net/lizhitao/article/details/24581907 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提 ...

  8. awr相关指标解析

    awr相关指标解析 2016年11月11日 15:09

  9. apache kafka系列之-监控指标

    apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 ...

随机推荐

  1. 万恶之源-python内容的进化

    1.整数: ​ int--计算和比较 ​ 整数可以进行的操作: ​ bit_length().计算整数在内存中占用的二进制码的长度 2.布尔值 ​ bool 布尔值--用于条件使用 ​ True 真 ...

  2. 🔥《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)

    1. 简介 俗话说:磨刀不误砍柴工,因此在我们要开始写自动化脚本之前,我们先来学习和了解几个基本概念,在完全掌握了这几个概念之后,有助于我们快速上手,如何去编写自动化测试脚本. 元素,在这个教程系列, ...

  3. 【Stream—7】NetworkStream相关知识分享

    一.NetworkStream的作用 和先前的流有所不同,NetworkStream的特殊性可以在它的命名空间中得以了解(System.Net.Sockets),聪明的你马上就会反应过来:既然是在网络 ...

  4. LoadRunner 录制问题集锦

    关键词:各路录制小白汇集于此 虽然知道君对录制不感冒,但总是看到扎堆的人说这些问题,忍不住要站出来了. 百度虽好,帮助了很多小白,但关键是百度并没有排除错误内容,经过历史的几年传播,错的都快变对的了, ...

  5. 【Luogu P2002&P2341】消息扩散/受欢迎的奶牛

    Luogu P2002 Luogu P2341 使用强连通分量算法缩点 第一题统计入度为0的个数强连通分量数. 第二题的答案为当且仅当仅有一个强连通分量的出度为0时该强连通分量的节点数,原因如下:若一 ...

  6. day 26 约束、自定义异常、加密hashlib、logging

    一.约束 建议使用: class BaseMessage(object): def send(self): """ 必须继承BaseMessage,然后其中必须编写sen ...

  7. 网页解析之BeautifulSoup

    介绍及安装 Beautiful Soup 是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. BeautifulSoup 用来解析 HTML 比较简单,API非常人 ...

  8. Python大神必须掌握的技能:多继承、super和MRO算法

    本文主要以Python3.x为例讲解Python多继承.super以及MRO算法. 1. Python中的继承 任何面向对象编程语言都会支持继承,Python也不例外.但Python语言却是少数几个支 ...

  9. 2753:走迷宫(dfs+初剪)//可以说是很水了。。。

    总时间限制:  1000ms 内存限制:  65536kB 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最少需要走多少步(数 ...

  10. 社交媒体登录Spring Social的源码解析

    在上一篇文章中我们给大家介绍了OAuth2授权标准,并且着重介绍了OAuth2的授权码认证模式.目前绝大多数的社交媒体平台,都是通过OAuth2授权码认证模式对外开放接口(登录认证及用户信息接口等). ...