cat nodeattrs API

编辑

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

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

请求

编辑

GET /_cat/nodeattrs

先决条件

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

查询参数

编辑
format
(可选,字符串)HTTP accept 标头的简短版本。有效值包括 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
...