elasticsearch _cat命令詳解 (秒懂+史上最全)


文章很長,而且持續更新,建議收藏起來,慢慢讀!瘋狂創客圈總目錄 博客園版 為您奉上珍貴的學習資源 :

免費贈送 :《尼恩Java面試寶典》 持續更新+ 史上最全 + 面試必備 2000頁+ 面試必備 + 大廠必備 +漲薪必備
免費贈送 經典圖書:《Java高並發核心編程(卷1)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:《Java高並發核心編程(卷2)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:《Java高並發核心編程(卷3)加強版》 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 經典圖書:尼恩Java面試寶典 最新版 面試必備 + 大廠必備 +漲薪必備 加尼恩免費領
免費贈送 資源寶庫: Java 必備 百度網盤資源大合集 價值>10000元 加尼恩領取


背景:

下一個視頻版本,從架構師視角,尼恩為大家打造高可用、高並發中間件的原理與實操。

目標:通過視頻和博客的方式,為各位潛力架構師,徹底介紹清楚架構師必須掌握的高可用、高並發環境,包括但不限於:

  • 高可用、高並發nginx架構的原理與實操

  • 高可用、高並發mysql架構的原理與實操

  • 高可用、高並發nacos架構的原理與實操

  • 高可用、高並發rocketmq架構的原理與實操

  • 高可用、高並發es架構的原理與實操

  • 高可用、高並發minio架構的原理與實操

在這里插入圖片描述

why 高可用、高並發中間件的原理與實操:

  • 實際的開發過程中,很多小伙伴聚焦crud開發,環境出了問題,都不能啟動。

  • 作為架構師,或者未來想走向高端開發,或者做架構,必須掌握高可用、高並發中間件的原理,掌握其實操。

本系列博客的具體內容,請參見 Java 高並發 發燒友社群:瘋狂創客圈

ES-cat相關命令匯總


_cat/allocation         #查看單節點的shard分配整體情況
_cat/shards          #查看各shard的詳細情況
_cat/shards/{index}     #查看指定分片的詳細情況
_cat/master          #查看master節點信息
_cat/nodes           #查看所有節點信息
_cat/indices         #查看集群中所有index的詳細信息
_cat/indices/{index}      #查看集群中指定index的詳細信息
_cat/segments        #查看各index的segment詳細信息,包括segment名, 所屬shard, 內存(磁盤)占用大小, 是否刷盤
_cat/segments/{index}#查看指定index的segment詳細信息
_cat/count           #查看當前集群的doc數量
_cat/count/{index}   #查看指定索引的doc數量
_cat/recovery        #查看集群內每個shard的recovery過程.調整replica。
_cat/recovery/{index}#查看指定索引shard的recovery過程
_cat/health          #查看集群當前狀態:紅、黃、綠
_cat/pending_tasks   #查看當前集群的pending task
_cat/aliases         #查看集群中所有alias信息,路由配置等
_cat/aliases/{alias} #查看指定索引的alias信息
_cat/thread_pool     #查看集群各節點內部不同類型的threadpool的統計信息,
_cat/plugins         #查看集群各個節點上的plugin信息
_cat/fielddata       #查看當前集群各個節點的fielddata內存使用情況
_cat/fielddata/{fields}     #查看指定field的內存使用情況,里面傳field屬性對應的值
_cat/nodeattrs              #查看單節點的自定義屬性
_cat/repositories           #輸出集群中注冊快照存儲庫
_cat/templates              #輸出當前正在存在的模板信息

說明:本文會以pdf格式持續更新,更多最新尼恩3高pdf筆記,請從下面的鏈接獲取:語雀 或者 碼雲

Cat 命令公共參數

  • Help 查看幫助
GET _cat/master?help

id   |   | node id    
host | h | host name  
ip   |   | ip address 
node | n | node name   
  • Verbose 顯示列名
GET _cat/master?v

id                     host  ip              node
AhlyPtZYTta1AVH_7mUSbQ node1 192.168.113.101 master-1
  • Headers 只顯示特定列
GET _cat/master?v&h=host,ip,node

host  ip              node
node1 192.168.113.101 master-1
  • 數字格式化
bytes=kb store.size以kb輸出

GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb

index                           docs.count store.size
.monitoring-es-6-2018.08.25            441        721
.monitoring-kibana-6-2018.08.25         18        205
.kibana                                  1          7
.security-6                              3         19
  • Format 輸出格式
##支持的輸出格式有json,test,yaml等
##默認以text格式輸出
##以json格式輸出 format=json&pretty

GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb&format=json&pretty

[
  {
    "index": ".monitoring-es-6-2018.08.25",
    "docs.count": "476",
    "store.size": "1114"
  },
  {
    "index": ".monitoring-kibana-6-2018.08.25",
    "docs.count": "21",
    "store.size": "72"
  },
  {
    "index": ".kibana",
    "docs.count": "1",
    "store.size": "7"
  },
  {
    "index": ".security-6",
    "docs.count": "3",
    "store.size": "19"
  }
]

##以yaml格式輸出 format=yaml&pretty
GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb&format=yaml&pretty

---
- index: ".monitoring-es-6-2018.08.25"
  docs.count: "509"
  store.size: "979"
- index: ".monitoring-kibana-6-2018.08.25"
  docs.count: "24"
  store.size: "142"
- index: ".kibana"
  docs.count: "1"
  store.size: "7"
- index: ".security-6"
  docs.count: "3"
  store.size: "19"
  • Sort 排序
##按index升序,docs.count降序
GET _cat/indices?v&h=index,docs.count,store.size&bytes=kb&format=json&pretty&s=index,docs.count:desc

[
  {
    "index": ".kibana",
    "docs.count": "1",
    "store.size": "7"
  },
  {
    "index": ".monitoring-es-6-2018.08.25",
    "docs.count": "608",
    "store.size": "1068"
  },
  {
    "index": ".monitoring-kibana-6-2018.08.25",
    "docs.count": "33",
    "store.size": "163"
  },
  {
    "index": ".security-6",
    "docs.count": "3",
    "store.size": "19"
  }
]

查看集群健康狀態

GET _cat/health?v&h=cluster,status

cluster status
my-elk  green

查看集群節點和磁盤剩余

##集群節點
GET _cat/nodes?v

ip              heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.113.103           60          93   5    0.54    0.53     0.55 di        -      data-2
192.168.113.104           12          87   7    0.72    0.77     0.94 -         -      client-1
192.168.113.101           13          90   4    0.35    0.32     0.37 m         *      master-1
192.168.113.102           46          91 100    2.81    2.84     3.44 di        -      data-1

##磁盤剩余
GET _cat/nodes?v&h=ip,node.role,name,disk.avail

ip              node.role name     disk.avail
192.168.113.102 di        data-1        2.4gb
192.168.113.103 di        data-2        6.5gb
192.168.113.104 -         client-1        5gb
192.168.113.101 m         master-1      6.5gb

查看集群master節點

GET _cat/master?v

id                     host  ip              node
AhlyPtZYTta1AVH_7mUSbQ node1 192.168.113.101 master-1

查看分配

##查看每個數據節點上的分片數(shards),以及每個數據節點磁盤剩余
GET _cat/allocation?v

shards disk.indices disk.used disk.avail disk.total disk.percent host  ip              node
     4        8.2mb      14gb      3.2gb     17.2gb           81 node2 192.168.113.102 data-1
     4        5.7mb     9.9gb      7.3gb     17.2gb           57 node3 192.168.113.103 data-2

查看被掛起任務

GET _cat/pending_tasks?v

insertOrder timeInQueue priority source

查看每個節點正在運行的插件

GET _cat/plugins?v

name     component          version
data-2   x-pack-core        6.2.4
data-2   x-pack-deprecation 6.2.4
data-2   x-pack-graph       6.2.4
data-2   x-pack-logstash    6.2.4
data-2   x-pack-ml          6.2.4
data-2   x-pack-monitoring  6.2.4
data-2   x-pack-security    6.2.4
data-2   x-pack-upgrade     6.2.4
data-2   x-pack-watcher     6.2.4
client-1 x-pack-core        6.2.4
client-1 x-pack-deprecation 6.2.4
client-1 x-pack-graph       6.2.4
client-1 x-pack-logstash    6.2.4
client-1 x-pack-ml          6.2.4
client-1 x-pack-monitoring  6.2.4
client-1 x-pack-security    6.2.4
client-1 x-pack-upgrade     6.2.4
client-1 x-pack-watcher     6.2.4
master-1 x-pack-core        6.2.4
master-1 x-pack-deprecation 6.2.4
master-1 x-pack-graph       6.2.4
master-1 x-pack-logstash    6.2.4
master-1 x-pack-ml          6.2.4
master-1 x-pack-monitoring  6.2.4
master-1 x-pack-security    6.2.4
master-1 x-pack-upgrade     6.2.4
master-1 x-pack-watcher     6.2.4
data-1   x-pack-core        6.2.4
data-1   x-pack-deprecation 6.2.4
data-1   x-pack-graph       6.2.4
data-1   x-pack-logstash    6.2.4
data-1   x-pack-ml          6.2.4
data-1   x-pack-monitoring  6.2.4
data-1   x-pack-security    6.2.4
data-1   x-pack-upgrade     6.2.4
data-1   x-pack-watcher     6.2.4

查看每個節點的自定義屬性

GET /_cat/nodeattrs?v

node     host  ip              attr              value
data-2   node3 192.168.113.103 ml.machine_memory 1028517888
data-2   node3 192.168.113.103 ml.max_open_jobs  20
data-2   node3 192.168.113.103 ml.enabled        true
client-1 node4 192.168.113.104 ml.machine_memory 1856888832
client-1 node4 192.168.113.104 ml.max_open_jobs  20
client-1 node4 192.168.113.104 ml.enabled        true
master-1 node1 192.168.113.101 ml.machine_memory 1028517888
master-1 node1 192.168.113.101 ml.max_open_jobs  20
master-1 node1 192.168.113.101 ml.enabled        true
data-1   node2 192.168.113.102 ml.machine_memory 1028517888
data-1   node2 192.168.113.102 ml.max_open_jobs  20
data-1   node2 192.168.113.102 ml.enabled        true

查看索引分片的恢復視圖

##索引分片的恢復視圖,包括正在進行和先前已完成的恢復
##只要索引分片移動到群集中的其他節點,就會發生恢復事件
GET _cat/recovery/.kibana?v&format=json&pretty

[
  {
    "index": ".kibana",
    "shard": "0",
    "time": "446ms",
    "type": "empty_store",
    "stage": "done",
    "source_host": "n/a",
    "source_node": "n/a",
    "target_host": "node2",
    "target_node": "data-1",
    "repository": "n/a",
    "snapshot": "n/a",
    "files": "0",
    "files_recovered": "0",
    "files_percent": "0.0%",
    "files_total": "0",
    "bytes": "0",
    "bytes_recovered": "0",
    "bytes_percent": "0.0%",
    "bytes_total": "0",
    "translog_ops": "0",
    "translog_ops_recovered": "0",
    "translog_ops_percent": "100.0%"
  },
  {
    "index": ".kibana",
    "shard": "0",
    "time": "2s",
    "type": "peer",
    "stage": "done",
    "source_host": "node2",
    "source_node": "data-1",
    "target_host": "node3",
    "target_node": "data-2",
    "repository": "n/a",
    "snapshot": "n/a",
    "files": "1",
    "files_recovered": "1",
    "files_percent": "100.0%",
    "files_total": "1",
    "bytes": "230",
    "bytes_recovered": "230",
    "bytes_percent": "100.0%",
    "bytes_total": "230",
    "translog_ops": "0",
    "translog_ops_recovered": "0",
    "translog_ops_percent": "100.0%"
  }
]

說明:本文會以pdf格式持續更新,更多最新尼恩3高pdf筆記,請從下面的鏈接獲取:語雀 或者 碼雲

查看每個數據節點上fielddata當前占用的堆內存

全文檢索用倒排索引非常合適;但過濾、分組聚合、排序這些操作,正排索引更合適。

ES中引入了fielddata的數據結構用來做正排索引。如果需要對某一個字段排序、分組聚合、過濾,則可將字段設置成fielddata。

默認情況下:

text類型的字段是不能分組及排序的,如需要則需要開啟該字段的fielddata=true,但是這樣耗費大量的內存,不建議這么使用。

keyword類型默認可分組及排序。

fielddata默認是采用懶加載的機制加載到堆內存中。當某個字段基數特別大,可能會出現OOM。

GET _cat/fielddata?v&h=node,field,size

node   field                      size
data-1 kibana_stats.kibana.uuid     0b
data-1 kibana_stats.kibana.status   0b
data-2 kibana_stats.kibana.uuid     0b
data-2 kibana_stats.kibana.status   0b

##對某一字段進行查看
GET _cat/fielddata?v&h=node,field,size&fields=kibana_stats.kibana.uuid

node   field                    size
data-2 kibana_stats.kibana.uuid   0b
data-1 kibana_stats.kibana.uuid   0b

查看注冊的快照倉庫

GET _cat/repositories?v

id type

查看快照倉庫下的快照

##可將ES中的一個或多個索引定期備份到如HDFS、S3等更可靠的文件系統,以應對災難性的故障
##第一次快照是一個完整拷貝,所有后續快照則保留的是已存快照和新數據之間的差異
##當出現災難性故障時,可基於快照恢復

GET _cat/snapshots/repo1?v

查看每個節點線程池的統計信息

##查看每個節點bulk線程池的統計信息
## actinve(活躍的),queue(隊列中的)和 reject(拒絕的)
GET _cat/thread_pool/bulk?v&format=json&pretty

[
  {
    "node_name": "data-2",
    "name": "bulk",
    "active": "0",
    "queue": "0",
    "rejected": "0"
  },
  {
    "node_name": "client-1",
    "name": "bulk",
    "active": "0",
    "queue": "0",
    "rejected": "0"
  },
  {
    "node_name": "master-1",
    "name": "bulk",
    "active": "0",
    "queue": "0",
    "rejected": "0"
  },
  {
    "node_name": "data-1",
    "name": "bulk",
    "active": "0",
    "queue": "0",
    "rejected": "0"
  }
]

查看索引

GET _cat/indices/.monitoring*?v&h=index,health

index                           health
.monitoring-es-6-2018.08.25     green
.monitoring-kibana-6-2018.08.25 green

查看別名

GET _cat/aliases?v&h=alias,index

alias     index
.security .security-6

查看索引模板

GET _cat/templates?v&format=json&pretty

[
  {
    "name": "logstash-index-template",
    "index_patterns": "[.logstash]",
    "order": "0",
    "version": null
  },
  {
    "name": "security_audit_log",
    "index_patterns": "[.security_audit_log*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-kibana",
    "index_patterns": "[.monitoring-kibana-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".watches",
    "index_patterns": "[.watches*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-beats",
    "index_patterns": "[.monitoring-beats-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".ml-notifications",
    "index_patterns": "[.ml-notifications]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".ml-anomalies-",
    "index_patterns": "[.ml-anomalies-*]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".ml-state",
    "index_patterns": "[.ml-state]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": "security-index-template",
    "index_patterns": "[.security-*]",
    "order": "1000",
    "version": null
  },
  {
    "name": ".watch-history-7",
    "index_patterns": "[.watcher-history-7*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".ml-meta",
    "index_patterns": "[.ml-meta]",
    "order": "0",
    "version": "6020499"
  },
  {
    "name": ".monitoring-alerts",
    "index_patterns": "[.monitoring-alerts-6]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".monitoring-logstash",
    "index_patterns": "[.monitoring-logstash-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": ".triggered_watches",
    "index_patterns": "[.triggered_watches*]",
    "order": "2147483647",
    "version": null
  },
  {
    "name": ".monitoring-es",
    "index_patterns": "[.monitoring-es-6-*]",
    "order": "0",
    "version": "6020099"
  },
  {
    "name": "kibana_index_template:.kibana",
    "index_patterns": "[.kibana]",
    "order": "0",
    "version": null
  }
]

查看單個或某類或整個集群文檔數

##整個集群文檔數
GET _cat/count?v
epoch      timestamp count
1535185950 16:32:30  3008

##某類索引文檔數
GET _cat/count/.monitoring*?v
epoch      timestamp count
1535186185 16:36:25  2162

注意:只包含實際文檔數,不包括尚未清除的已刪除文檔。

查看每個索引的分片

GET _cat/shards?v&format=json&pretty&s=index
[
  {
    "index": ".kibana",
    "shard": "0",
    "prirep": "p",
    "state": "STARTED",
    "docs": "1",
    "store": "4kb",
    "ip": "192.168.113.102",
    "node": "data-1"
  },
  {
    "index": ".kibana",
    "shard": "0",
    "prirep": "r",
    "state": "STARTED",
    "docs": "1",
    "store": "4kb",
    "ip": "192.168.113.103",
    "node": "data-2"
  },
  {
    "index": ".monitoring-es-6-2018.08.25",
    "shard": "0",
    "prirep": "p",
    "state": "STARTED",
    "docs": "2557",
    "store": "1.6mb",
    "ip": "192.168.113.102",
    "node": "data-1"
  },
  {
    "index": ".monitoring-es-6-2018.08.25",
    "shard": "0",
    "prirep": "r",
    "state": "STARTED",
    "docs": "2557",
    "store": "1.5mb",
    "ip": "192.168.113.103",
    "node": "data-2"
  },
  {
    "index": ".monitoring-kibana-6-2018.08.25",
    "shard": "0",
    "prirep": "p",
    "state": "STARTED",
    "docs": "211",
    "store": "110.1kb",
    "ip": "192.168.113.102",
    "node": "data-1"
  },
  {
    "index": ".monitoring-kibana-6-2018.08.25",
    "shard": "0",
    "prirep": "r",
    "state": "STARTED",
    "docs": "211",
    "store": "110.1kb",
    "ip": "192.168.113.103",
    "node": "data-2"
  },
  {
    "index": ".security-6",
    "shard": "0",
    "prirep": "p",
    "state": "STARTED",
    "docs": "3",
    "store": "9.8kb",
    "ip": "192.168.113.102",
    "node": "data-1"
  },
  {
    "index": ".security-6",
    "shard": "0",
    "prirep": "r",
    "state": "STARTED",
    "docs": "3",
    "store": "9.8kb",
    "ip": "192.168.113.103",
    "node": "data-2"
  }
]

查看每個索引的segment

GET _cat/segments/.kibana?v&format=json&pretty

[
  {
    "index": ".kibana",
    "shard": "0",
    "prirep": "p",
    "ip": "192.168.113.102",
    "segment": "_2",
    "generation": "2",
    "docs.count": "1",
    "docs.deleted": "0",
    "size": "3.7kb",
    "size.memory": "1346",
    "committed": "true",
    "searchable": "true",
    "version": "7.2.1",
    "compound": "true"
  },
  {
    "index": ".kibana",
    "shard": "0",
    "prirep": "r",
    "ip": "192.168.113.103",
    "segment": "_2",
    "generation": "2",
    "docs.count": "1",
    "docs.deleted": "0",
    "size": "3.7kb",
    "size.memory": "1346",
    "committed": "true",
    "searchable": "true",
    "version": "7.2.1",
    "compound": "true"
  }
]

說明:本文會以pdf格式持續更新,更多最新尼恩3高pdf筆記,請從下面的鏈接獲取:語雀 或者 碼雲

參考文獻

https://blog.csdn.net/wangpei1949/article/details/82287444


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM