官网地址:cat APIs | Elasticsearch Reference [5.5] | Elastic
Introduction(介绍)
JSON是伟大的…对于电脑。即使是打印出来的,试图在数据中找到关系也很乏味。人的眼睛,尤其是在查看ssh终端时,需要紧凑和对齐的文本。cat API旨在满足这种需求。
所有的cat命令都接受一个查询字符串参数以帮助查看它们提供的所有标题和信息,而/_cat命令单独列出所有可用的命令。
common parameters(常见的参数)
Verbose
每个命令都接受一个查询字符串参数v来打开详细输出。例如:
GET /_cat/master?v
可能回复:
id host ip node
u_n93zwxThWHi1PDBJAGAg 127.0.0.1 127.0.0.1 u_n93zw
help
每个命令都接受一个查询字符串参数help,它将输出可用的列。
例如:
GET /_cat/master?help
可能回复:
id | | node id
host | h | host name
ip | | ip address
node | n | node name
Headers
每个命令都接受一个查询字符串参数h,它只强制显示这些列。例如:
GET /_cat/nodes?h=ip,port,heapPercent,name
返回
127.0.0.1 9300 27 sLBaIGK
您还可以使用简单通配符请求多个列,例如/_cat/thread_pool?h=ip,bulk.*获取所有以bulk.开头的headers(或别名)。
Numeric formats
许多命令提供一些类型的数字输出,包括字节、大小或时间值。默认情况下,这些类型是人类可读格式(human-formatted),例如,3.5mb而不是3763212。人类可读值不是数字上的排序,所以为了这些值的顺序是很重要的工作,你可以改变它。
假设您想要在集群中找到最大的索引(所有碎片使用的存储,而不是文档的数量)。/_cat/ indices API是理想的。我们只需要调整两件事。首先,我们要关闭人类模式。我们将使用字节级别的解决方案。然后,我们将使用适当的列将输出使用sort过滤,在本例中是第8列。
% curl '192.168.56.10:9200/_cat/indices?bytes=b' | sort -rnk8
green wiki2 3 0 10000 0 105274918 105274918
green wiki1 3 0 10000 413 103776272 103776272
green foo 1 0 227 0 2065131 2065131
如果要更改time units,使用time参数。
如果要更改size units,使用size参数。
如果要更改byte units,使用bytes参数。
Response as text, json, smile, yaml or cbor
% curl 'localhost:9200/_cat/indices?format=json&pretty'
[
{
"pri.store.size": "650b",
"health": "yellow",
"status": "open",
"index": "twitter",
"pri": "5",
"rep": "1",
"docs.count": "0",
"docs.deleted": "0",
"store.size": "650b"
}
]
当前支持格式(对于?format=参数):- text (default) - json - smile - yaml - cbor
或者,您可以将“Accept”HTTP header设置为适当的媒体格式。支持以上所有格式,get参数优先于header。例如:
% curl '192.168.56.10:9200/_cat/indices?pretty' -H "Accept: application/json"
[
{
"pri.store.size": "650b",
"health": "yellow",
"status": "open",
"index": "twitter",
"pri": "5",
"rep": "1",
"docs.count": "0",
"docs.deleted": "0",
"store.size": "650b"
}
]
Sort
每个命令都接受一个查询字符串参数s,每个命令都接受一个查询字符串参数s,该参数将由指定为参数值的列对表进行排序。列由名称或别名指定,并以逗号作为分隔的字符串提供。默认情况下,排序以升序方式进行。附加:desc到一个列将反转该列的顺序。:asc也被接受,但与默认的排序规则显示相同的行为。
例如,一个字符串s = column1 column2:desc,column3,表将由column1按升序排序,由column2按照降序排列,按升序column3。
GET _cat/templates?v&s=order:desc,template
返回:
name template order version
pizza_pepperoni *pepperoni* 2
sushi_california_roll *avocado* 1 1
pizza_hawaiian *pineapples* 1
网友评论