紧凑对齐文本 (CAT) API
编辑紧凑对齐文本 (CAT) API
编辑简介
编辑JSON 很棒…… 对于计算机来说。即使它被漂亮地打印出来,尝试在数据中找到关系也很乏味。人眼,尤其是在看终端时,需要紧凑且对齐的文本。紧凑对齐文本 (CAT) API 旨在满足这种需求。
cat API 仅供人类使用 Kibana 控制台或命令行。它们不打算供应用程序使用。对于应用程序的使用,我们建议使用相应的 JSON API。
所有 cat 命令都接受查询字符串参数 help
来查看它们提供的所有标头和信息,而单独的 /_cat
命令会列出所有可用的命令。
常用参数
编辑详细
编辑每个命令都接受查询字符串参数 v
以启用详细输出。例如
resp = client.cat.master( v=True, ) print(resp)
response = client.cat.master( v: true ) puts response
const response = await client.cat.master({ v: "true", }); console.log(response);
GET _cat/master?v=true
可能会响应
id host ip node u_n93zwxThWHi1PDBJAGAg 127.0.0.1 127.0.0.1 u_n93zw
帮助
编辑每个命令都接受查询字符串参数 help
,该参数将输出其可用列。例如
resp = client.cat.master( help=True, ) print(resp)
response = client.cat.master( help: true ) puts response
const response = await client.cat.master({ help: "true", }); console.log(response);
GET _cat/master?help
可能会响应
id | | node id host | h | host name ip | | ip address node | n | node name
如果使用任何可选的 url 参数,则不支持 help
。例如,GET _cat/shards/my-index-000001?help
或 GET _cat/indices/my-index-*?help
会导致错误。请改用 GET _cat/shards?help
或 GET _cat/indices?help
。
标头
编辑每个命令都接受查询字符串参数 h
,该参数强制仅显示这些列。例如
resp = client.cat.nodes( h="ip,port,heapPercent,name", ) print(resp)
response = client.cat.nodes( h: 'ip,port,heapPercent,name' ) puts response
const response = await client.cat.nodes({ h: "ip,port,heapPercent,name", }); console.log(response);
GET _cat/nodes?h=ip,port,heapPercent,name
响应
127.0.0.1 9300 27 sLBaIGK
您还可以使用简单的通配符请求多个列,例如 /_cat/thread_pool?h=ip,queue*
以获取所有以 queue
开头的标头(或别名)。
数字格式
编辑许多命令提供几种类型的数字输出,可以是字节、大小或时间值。默认情况下,这些类型是人类格式化的,例如,3.5mb
而不是 3763212
。人类值不是按数字排序的,因此为了操作这些值(顺序很重要),您可以更改它。
假设您想在集群中查找最大的索引(所有分片使用的存储空间,而不是文档的数量)。/_cat/indices
API 是理想的。您只需要向 API 请求添加三项内容
bytes
查询字符串参数,其值为b
以获取字节级分辨率。s
(排序) 参数,其值为store.size:desc
和逗号与index:asc
,以按分片存储的降序然后按索引名称的升序对输出进行排序。v
(详细)参数,以在响应中包含列标题。
resp = client.cat.indices( bytes="b", s="store.size:desc,index:asc", v=True, ) print(resp)
response = client.cat.indices( bytes: 'b', s: 'store.size:desc,index:asc', v: true ) puts response
const response = await client.cat.indices({ bytes: "b", s: "store.size:desc,index:asc", v: "true", }); console.log(response);
GET _cat/indices?bytes=b&s=store.size:desc,index:asc&v=true
API 返回以下响应
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size dataset.size yellow open my-index-000001 u8FNjxh8Rfy_awN11oDKYQ 1 1 1200 0 72171 72171 72171 green open my-index-000002 nYFWZEO7TUiOjLQXBaYJpA 1 0 0 0 230 230 230
如果要更改时间单位,请使用 time
参数。
如果要更改大小单位,请使用 size
参数。
如果要更改字节单位,请使用 bytes
参数。
以文本、json、smile、yaml 或 cbor 格式响应
编辑% curl 'localhost:9200/_cat/indices?format=json&pretty' [ { "pri.store.size": "650b", "health": "yellow", "status": "open", "index": "my-index-000001", "pri": "5", "rep": "1", "docs.count": "0", "docs.deleted": "0", "store.size": "650b" } ]
当前支持的格式 (对于 ?format=
参数):- text (默认) - json - smile - yaml - cbor
或者,您可以将“Accept”HTTP 标头设置为适当的媒体格式。支持上述所有格式,GET 参数优先于标头。例如
% curl '192.168.56.10:9200/_cat/indices?pretty' -H "Accept: application/json" [ { "pri.store.size": "650b", "health": "yellow", "status": "open", "index": "my-index-000001", "pri": "5", "rep": "1", "docs.count": "0", "docs.deleted": "0", "store.size": "650b" } ]
排序
编辑每个命令都接受查询字符串参数 s
,该参数按指定为参数值的列对表进行排序。列是通过名称或别名指定的,并作为逗号分隔的字符串提供。默认情况下,排序是以升序方式完成的。将 :desc
附加到列将反转该列的排序。:asc
也被接受,但表现出与默认排序顺序相同的行为。
例如,使用排序字符串 s=column1,column2:desc,column3
,表将按 column1 升序排序,按 column2 降序排序,按 column3 升序排序。
resp = client.cat.templates( v=True, s="order:desc,index_patterns", ) print(resp)
response = client.cat.templates( v: true, s: 'order:desc,index_patterns' ) puts response
const response = await client.cat.templates({ v: "true", s: "order:desc,index_patterns", }); console.log(response);
GET _cat/templates?v=true&s=order:desc,index_patterns
返回
name index_patterns order version pizza_pepperoni [*pepperoni*] 2 sushi_california_roll [*avocado*] 1 1 pizza_hawaiian [*pineapples*] 1