草庐IT

ES查看集群信息(健康状态、分片、索引等)

迎风悟极道 2023-04-18 原文

1、查看集群状态使用频率最高的方法

http://192.168.1.101:9200/  

注意:不同环境的ip不同

 一般我们通过这个方式来验证ES服务器是否启动成功。

2、_cat/health 查看集群健康状态

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/health?v
epoch      timestamp cluster   	    status 	node.total node.data shards  pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1657076023 02:53:43  elasticsearch  yellow           3         3   5445 2727    0    0       30             0                  -                 99.5%

参数说明:

  • cluster:集群名称
  • status:集群状态 green 表示集群一切正常;yellow 表示集群不可靠但可用(单节点状态);red 集群不可用,有故障。
  • node.total:节点总数量
  • node.data:数据节点的数量
  • shards:存活的分片数量
  • pri:主分片数量
  • relo:迁移中的分片数量
  • init:初始化中的分片数量
  • unassign:未分配的分片
  • pending_tasks:准备中的任务
  • max_task_wait_time:任务最长等待时间
  • active_shards_percent:激活的分片百分比

3、_cat/shards 查看分片信息

1)、查看所有索引的分片信息

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/shards?v

2)、查看指定索引的分片信息

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/shards/opt_log?v
index     shard prirep   state     docs  store ip            node
opt_log		2     p      STARTED 870711 88.8mb 192.168.1.101 node01
opt_log		2     r      STARTED 870711 88.6mb 192.168.1.103 node03
opt_log		4     p      STARTED 869587 88.7mb 192.168.1.101 node01
opt_log		4     r      STARTED 869587 89.1mb 192.168.1.103 node03
opt_log		3     p      STARTED 870962 88.5mb 192.168.1.101 node01
opt_log		3     r      STARTED 870962 88.7mb 192.168.1.102 node02
opt_log		1     p      STARTED 870468 88.7mb 192.168.1.101 node01
opt_log		1     r      STARTED 870468 88.8mb 192.168.1.103 node03
opt_log		0     p      STARTED 869894 88.7mb 192.168.1.101 node01
opt_log		0     r      STARTED 869894   89mb 192.168.1.102 node02

参数说明:

  • index:索引名称
  • shard:分片数
  • prirep:分片类型,p为主分片,r为复制分片
  • state:分片状态,STARTED为正常
  • docs:记录数
  • store:存储大小
  • ip:节点ip
  • node:节点名称

4、_cat/nodes 查看集群的节点信息

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/nodes?v
ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.1.103           83          68  16    1.88    1.16     0.91 mdi       -      node03
192.168.1.101           58          67   6    0.33    0.34     0.42 mdi       *      node01
192.168.1.102           89          75  16    0.50    0.64     0.66 mdi       -      node02

参数说明:

  • ip:节点ip
  • heap.percent:堆内存使用百分比
  • ram.percent: 运行内存使用百分比
  • cpu:cpu使用百分比
  • master:带* 表明该节点是主节点,带-表明该节点是从节点
  • name:节点名称

5、_cat/indices 查看索引信息

1)、查看所有索引的分片信息

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/indices?v

2)、查看指定索引的分片信息

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat/indices/opt_log?v
health status index        uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   opt_log     qqRywLNTTvCohc3OxiAZkw   5   1         231            0      2.5kb          1.2kb

参数说明:

  • index: 索引名称
  • docs.count:文档总数
  • docs.deleted:已删除文档数
  • store.size: 存储的总容量
  • pri.store.size:主分片的存储总容量

6、集群命令汇总

[root@CENTOS01 ~]# curl http://192.168.1.101:9200/_cat
=^.^=
/_cat/allocation
/_cat/shards
/_cat/shards/{index}
/_cat/master
/_cat/nodes
/_cat/tasks
/_cat/indices
/_cat/indices/{index}
/_cat/segments
/_cat/segments/{index}
/_cat/count
/_cat/count/{index}
/_cat/recovery
/_cat/recovery/{index}
/_cat/health
/_cat/pending_tasks
/_cat/aliases
/_cat/aliases/{alias}
/_cat/thread_pool
/_cat/thread_pool/{thread_pools}
/_cat/plugins
/_cat/fielddata
/_cat/fielddata/{fields}
/_cat/nodeattrs
/_cat/repositories
/_cat/snapshots/{repository}
/_cat/templates

有关ES查看集群信息(健康状态、分片、索引等)的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby-on-rails - 跳过状态机方法的所有验证 - 2

    当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested

  5. ruby - 字符串文字中的转义状态作为 `String#tr` 的参数 - 2

    对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一

  6. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  7. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  8. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  9. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  10. ruby-on-rails - 为模型创建状态属性 - 2

    我想为我的Task模型创建一个status属性,该属性将按以下顺序指示它在三部分进度中的位置:打开=>进行中=>完成。它的工作方式类似于亚马逊包裹的交付方式:已订购=>已发货=>已交付。我想知道设置此属性的最佳方法是什么。我可能是错的,但创建三个独立的bool属性似乎有点多余。实现此目标的最佳方法是什么? 最佳答案 Rails4有一个内置的enummacro.它使用单个整数列并映射到键列表。classOrderenumstatus:[:ordered,:shipped,:delivered]end状态映射如下:{ordered:0,

随机推荐