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