搜索引擎elasticsearch監控利器cat命令


一、Cat通用參數

參數名 指令示例 功能
Verbose GET /_cat/XXX/?v 開啟詳細輸出
Help GET /_cat/XXX/?help 輸出可用的列
Headers GET /_cat/XXX/?h=column1,column2 指定輸出的列
Sort GET /_cat/XXX/?v&s=column1,column2:desc,column3 指定輸出的列進行排序,默認按照升序排序
Format GET /_cat/XXX?format=json 指定響應返回的數據格式:text(默認),json,yaml,smile,cbor。
(通過設置Accept的HTTP頭部的多媒體格式的優先級更高)

二、cat命令

命令 示例 功能
aliases GET /_cat/XXX/aliases?v
GET /_cat/aliases/alias1,aliase2,aliase3
查詢當前配置索引,過濾器,路由的別名
如果需要指定一至多個別名,則以逗號隔開
allocation GET /_cat/allocation?v 查詢每個節點上分配的分片(shard)的數量和每個分片(shard)所使用的硬盤容量
count GET /_cat/count?v
GET /_cat/count/[index]?v
快速查詢當前整個集群或者指定索引的document的數量(不包括刪除的但是還沒有清理掉的document)
fielddata GET /_cat/fielddata?v
GET /_cat/fielddata?v&fields=XXX
GET /_cat/fielddata/field1,field2,field3?v
查詢集群中每個節點中的fileddata所使用的堆內存
指定fields
指定多個field
health GET /_cat/health?v
GET /_cat/health?v&ts=false
查詢當前集群的健康信息(同/_cluster/health)
ts用於控制是否顯示時間戳(timestamp)
1、常見的用途是用於監測節點之間的健康值
2、通過循環使用該命令,用於追蹤大集群恢復的時間
/_cat/health; sleep 120; done green:
每個索引的primary shard和replica shard都是active狀態的
yellow:
每個索引的primary shard都是active狀態的,但是部分replica shard不是active狀態,處於不可用的狀態
red:
不是所有索引的primary shard都是active狀態的,部分索引有數據丟失了
indices GET /_cat/indices/index1?v 查詢指定索引index1的相關信息(組成一個索引(index)的shard數量,document的數量,刪除的doc數量,主存大小和所有索引的總存儲大小(包括replicas)
其中document的數量和刪除document的數量是lucense層級的,包括所有隱藏的document數量
要獲取Elasticsearch層級的精確的document數量可以使用 cat count或者Count API
master GET /_cat/master?v 僅用於顯示master的節點ID,綁定IP地址,節點名稱
nodeattrs GET /_cat/nodeattrs?v 輸出顯示自定義節點屬性
nodes GET /_cat/nodes?v
GET /_cat/nodes?v&full_id=false
輸出當前集群的拓撲結構(包括當前節點所在的地方和整個集群的相關信息等)
full_id(true/false)用於是否格式化ID字段以顯示ID的全長或者簡寫
pending tasks GET /_cat/pending_tasks?v 輸出集群中正在執行的任務(集群層級的變化,比如:創建索引,更新mapping,分配或者fail shard)同 /_cluster/pending_tasks
plugins GET /_cat/plugins?v 輸出每個節點正在運行的插件信息
recovery GET /_cat/recovery?v 提供一個視圖關於索引分片 正在恢復或者已經完成恢復的相關信息
恢復事件操作可以發生在集群中一個索引分片從一個節點移動到另外一個節點上。可以發生在快照恢復期間,一個replication層級的變化,節點失敗,或者節點啟動的時候。節點啟動的恢復操作也叫本地存儲恢復(當一個節點啟動的時候分片從硬盤上被加載到)
repositories GET /_cat/repositories?v 輸出集群中注冊快照存儲庫
thread pool GET /_cat/thread_pool 輸出每個節點集群范圍的線程池統計信息,默認情況下返回正在活動,隊列和被拒絕的統計信息
shards GET /_cat/shards

GET /_cat/shards/twitt*
輸出節點包含分片的詳細信息(當前分片是primary shard還是 replica shard,doc的數量,硬盤上占用的字節已經該節點被分配在哪里等)
指定索引(模糊匹配)
這個命令可以用於查看分片的遷移情況和分片的狀態
segments GET /_cat/segments?v

GET /_cat/segments/index1,index1
輸出索引分片中關於segment的低層級的信息(包括索引名稱,分片數量,doc數量等),提供的信息類似於_segments端點
查詢指定索引(index1,index2)的segments信息
snapshots GET /_cat/snapshots/repo1?v 輸出屬於指定倉庫的快照信息(snapshots)
每個快照信息包括了它被啟動和被停止的信息。
templates GET /_cat/templates?v
GET /_cat/templates/templateName1
GET /_cat/templates/template*
輸出當前正在存在的模板信息
輸出指定模板的信息

三、示例

查詢aurajike索引下的總文檔數和有效文檔數

當從es刪除文檔時,是軟刪除的,es通過升級文檔的版本號來插入新文檔,舊版本的文檔自然就失效了。舊版本的文檔會異步的在未來的某個時間段被真正刪除。
所以對於某個索引在某個時刻的文檔數,總存在兩個數字,一個總文檔數,一個是有效的:

查詢索引aurajike的總文檔數
總文檔數:662133
另已刪除:126914

GET _cat/indices/aurajike?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open aurajike *** 2 2 662133 126914 156.6mb 59.8mb

查詢索引aurajike的真實文檔數
真實文檔數:11169

GET /_cat/count/aurajike?v
epoch timestamp count
1562902995 03:43:15 11169

查詢aurajike各分片的調度情況

主分片0調度在node2,主分片1調度在node3,剩余4個副本分片均衡調度

GET /_cat/shards/aurajike?v
index shard prirep state docs store ip node
aurajike 1 r STARTED 330684 23.7mb ip1 node1
aurajike 1 r STARTED 330684 25.4mb ip2 node2
aurajike 1 p STARTED 330684 24.1mb ip3 node3
aurajike 0 r STARTED 331449 23.8mb ip1 node1
aurajike 0 p STARTED 331449 35.7mb ip2 node2
aurajike 0 r STARTED 331449 23.7mb ip3 node3


免責聲明!

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



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