cat nodeattrs API

编辑

cat API 仅供使用命令行或 Kibana 控制台的人员使用。它们适用于应用程序使用。对于应用程序使用,请使用 节点信息 API

返回关于自定义节点属性的信息。

请求

编辑

GET /_cat/nodeattrs

前提条件

编辑
  • 如果启用了 Elasticsearch 安全功能,您必须具有 monitormanage 集群权限才能使用此 API。

查询参数

编辑
format
(可选,字符串) HTTP accept header 的简短版本。有效值包括 JSON、YAML 等。
h

(可选,字符串) 要显示的列名的逗号分隔列表。

如果您没有指定要包含哪些列,则 API 将按照下面列出的顺序返回默认列。如果您显式指定一个或多个列,则它仅返回指定的列。

有效列为

node,name
(默认) 节点的名称,例如 DKDM97B
host, h
(默认) 主机名,例如 n1
ip, i
(默认) IP 地址,例如 127.0.1.1
attr, attr.name
(默认) 属性名称,例如 rack
value, attr.value
(默认) 属性值,例如 rack123
id, nodeId
节点的 ID,例如 k0zy
pid, p
进程 ID,例如 13061
port, po
绑定的传输端口,例如 9300
help
(可选,布尔值) 如果为 true,则响应中包含帮助信息。默认为 false
local
(可选,布尔值) 如果为 true,则请求仅从本地节点检索信息。默认为 false,这意味着从主节点检索信息。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果主节点在超时到期之前不可用,则请求失败并返回错误。默认为 30s。也可以设置为 -1,表示请求不应超时。
s
(可选,字符串) 用于对响应进行排序的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果为 true,则响应中包含列标题。默认为 false

示例

编辑

使用默认列的示例

编辑
resp = client.cat.nodeattrs(
    v=True,
)
print(resp)
response = client.cat.nodeattrs(
  v: true
)
puts response
const response = await client.cat.nodeattrs({
  v: "true",
});
console.log(response);
GET /_cat/nodeattrs?v=true

API 返回以下响应

node    host      ip        attr     value
...
node-0 127.0.0.1 127.0.0.1 testattr test
...

nodehostip 列提供关于每个节点的基本信息。attrvalue 列返回自定义节点属性,每行一个。

使用显式列的示例

编辑

以下 API 请求返回 namepidattrvalue 列。

resp = client.cat.nodeattrs(
    v=True,
    h="name,pid,attr,value",
)
print(resp)
response = client.cat.nodeattrs(
  v: true,
  h: 'name,pid,attr,value'
)
puts response
const response = await client.cat.nodeattrs({
  v: "true",
  h: "name,pid,attr,value",
});
console.log(response);
GET /_cat/nodeattrs?v=true&h=name,pid,attr,value

API 返回以下响应

name    pid   attr     value
...
node-0 19566 testattr test
...