Elasticsearch 學習第2篇—狀態查詢接口Cat

1、cat命令

       Elasticsearch中信息很多,如果單憑肉眼來尋找複雜數據之間的關係,是很困難的。因此cat命令應運而生,它幫助開發者快速查詢Elasticsearch的相關信息。

2、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頭部的多媒體格式的優先級更高)

3、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*
輸出當前正在存在的模板信息
輸出指定模板的信息

參考文章地址:https://www.cnblogs.com/JoZSM/p/11177758.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章