紧凑且对齐的文本 (CAT) API

edit

紧凑且对齐的文本 (CAT) API

edit

介绍

edit

JSON 非常适合…​ 计算机。即使它被格式化得很漂亮,试图在数据中找到关系也是乏味的。人类的眼睛,尤其是在查看终端时,需要紧凑且对齐的文本。紧凑且对齐的文本(CAT)API旨在满足这一需求。

cat API 仅适用于使用 Kibana 控制台 或命令行的人类消费。它们 适用于应用程序使用。对于应用程序消费,我们建议使用相应的 JSON API。

所有cat命令都接受一个查询字符串参数help来查看它们提供的所有头信息和信息,而/_cat命令单独列出了所有可用的命令。

常用参数

edit

详细信息

edit

每个命令都接受一个查询字符串参数 v 来开启详细输出。例如:

GET _cat/master?v=true

可能会回应:

id                     host      ip        node
u_n93zwxThWHi1PDBJAGAg 127.0.0.1 127.0.0.1 u_n93zw

帮助

edit

每个命令都接受一个查询字符串参数 help,它将输出其可用列。例如:

GET _cat/master?help

可能会响应:

id   |   | node id
host | h | host name
ip   |   | ip address
node | n | node name

help 如果使用了任何可选的url参数,则不支持。 例如 GET _cat/shards/my-index-000001?helpGET _cat/indices/my-index-*?help 会导致错误。请改用 GET _cat/shards?helpGET _cat/indices?help

标题

edit

每个命令都接受一个查询字符串参数 h,该参数强制仅显示这些列。例如:

GET _cat/nodes?h=ip,port,heapPercent,name

响应为:

127.0.0.1 9300 27 sLBaIGK

您还可以使用简单的通配符(如 /_cat/thread_pool?h=ip,queue*)请求多个列,以获取所有以 queue 开头的标题(或别名)。

数字格式

edit

许多命令提供了几种类型的数值输出,可以是字节、大小或时间值。默认情况下,这些类型是以人类可读的格式显示的,例如,3.5mb 而不是 3763212。这些人类可读的值在数值上不可排序,因此在需要对这些值进行排序操作时,您可以更改它。

假设你想找到集群中最大的索引(存储所有分片使用的空间,而不是文档数量)。/_cat/indices API 是理想的选择。你只需要在 API 请求中添加三样东西:

  1. 使用值为bbytes查询字符串参数以获取字节级分辨率。
  2. 使用值为store.size:descs(排序)参数,并加上逗号和index:asc,以按分片存储降序排列输出,然后按索引名称升序排列。
  3. 使用v(详细)参数以在响应中包含列标题。
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

edit
% 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=参数): - 文本(默认) - 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"
  }
]

排序

edit

每个命令都接受一个查询字符串参数 s,该参数根据指定的列对表格进行排序。列可以通过名称或别名指定,并以逗号分隔的字符串形式提供。默认情况下,排序是按升序进行的。将 :desc 附加到某一列将反转该列的排序顺序。:asc 也被接受,但其行为与默认排序顺序相同。

例如,使用排序字符串 s=column1,column2:desc,column3,表格将按 column1 升序排列,按 column2 降序排列,并按 column3 升序排列。

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

cat 别名 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 aliases API

检索集群的索引别名,包括过滤器和路由信息。该API不会返回数据流别名。

请求

edit

GET _cat/aliases/

GET _cat/aliases

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有view_index_metadatamanage 索引权限 才能检索任何别名。

路径参数

edit
<alias>
(可选,字符串) 要检索的别名列表,以逗号分隔。支持通配符 (*)。要检索所有别名,请省略此参数或使用 *_all

查询参数

edit
format
(可选,字符串) HTTP accept header 的简短版本。 有效值包括 JSON、YAML 等。
h
(可选,字符串)要显示的列名的逗号分隔列表。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
s
(可选,字符串) 用于对响应进行排序的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false
expand_wildcards

(可选,字符串) 通配符模式可以匹配的索引类型。如果请求可以针对数据流,此参数确定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如 open,hidden。有效值为:

all
匹配任何数据流或索引,包括 隐藏的 数据流和索引。
open
匹配开放的、非隐藏的索引。同时也匹配任何非隐藏的数据流。
closed
匹配关闭的、非隐藏的索引。同时也匹配任何非隐藏的数据流。数据流不能被关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者结合使用。
none
不接受通配符模式。

示例

edit
GET _cat/aliases?v=true

API返回以下响应:

alias  index filter routing.index routing.search is_write_index
alias1 test1 -      -            -              -
alias2 test1 *      -            -              -
alias3 test1 -      1            1              -
alias4 test1 -      2            1,2            -

此响应显示 alias2 已配置了一个过滤器,并且在 alias3alias4 中进行了特定的路由配置。

如果您只想获取有关特定别名的信息,可以将别名以逗号分隔的格式指定为URL参数,例如,/_cat/aliases/alias1,alias2。

cat allocation API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 node stats API

提供分配给每个数据节点的分片数量及其磁盘空间的快照。

请求

edit

GET /_cat/allocation/

GET /_cat/allocation

先决条件

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

路径参数

edit
<node_id>
(可选,字符串)用于限制返回信息的节点ID或名称的逗号分隔列表。

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选,字符串) HTTP accept header 的简短版本。 有效值包括 JSON、YAML 等。
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

响应体

edit
shards
分配给节点的初始分片和副本分片的数量。
shards.undesired
计划在集群中移动到其他位置的分片数量 或者在使用期望平衡分配器时为-1
write_load.forecast
索引写入负载预测的总和
disk.indices.forecast
分片大小预测的总和
disk.indices

节点分片使用的磁盘空间。不包括translog或未分配分片的磁盘空间。

此指标对硬链接文件(例如在缩小拆分克隆索引时创建的文件)的磁盘空间进行了重复计算。

disk.used

使用的总磁盘空间。Elasticsearch 从节点的操作系统(OS)获取此指标。该指标包括以下磁盘空间:

  • Elasticsearch,包括translog和未分配的分片
  • 节点的操作系统
  • 节点上的任何其他应用程序或文件

disk.indices不同,此指标不会对硬链接文件的磁盘空间进行重复计算。

disk.avail
Elasticsearch 可用的磁盘空间。Elasticsearch 从节点的操作系统中获取此指标。基于磁盘的分片分配使用此指标根据可用磁盘空间将分片分配给节点。
disk.total
节点总磁盘空间,包括已用空间和可用空间。
disk.percent
磁盘空间使用总百分比。计算公式为 disk.used / disk.total
host
节点的网络主机。使用network.host进行设置。
ip
节点的IP地址和端口。
node
节点的名称。通过 node.name 设置。
node.role, r, role, nodeRole
节点角色

示例

edit
GET /_cat/allocation?v=true

API返回以下响应:

shards shards.undesired write_load.forecast disk.indices.forecast disk.indices disk.used disk.avail disk.total disk.percent host      ip        node    node.role
     1                0                 0.0                  260b         260b    47.3gb     43.4gb    100.7gb           46 127.0.0.1 127.0.0.1 CSUXak2 himrst

此响应显示单个分片被分配到可用的单个节点上。

cat 异常检测器 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取异常检测作业统计信息 API

返回有关异常检测作业的配置和使用信息。

请求

edit

GET /_cat/ml/anomaly_detectors/

GET /_cat/ml/anomaly_detectors

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor_mlmonitormanage_mlmanage集群权限才能使用此API。请参阅 安全权限机器学习安全权限

描述

edit

此API最多返回10,000个职位。

有关异常检测的更多信息,请参阅 Finding anomalies

路径参数

edit
<job_id>
(可选, 字符串) 异常检测作业的标识符。

查询参数

edit
allow_no_match

(可选, 布尔值) 指定在请求时执行的操作:

  • 包含通配符表达式且没有匹配的作业。
  • 包含 _all 字符串或没有标识符且没有匹配项。
  • 包含通配符表达式且只有部分匹配。

默认值为 true,在没有匹配项时返回一个空的 jobs 数组,在有部分匹配项时返回部分结果。如果此参数为 false,在没有匹配项或只有部分匹配项时,请求将返回 404 状态码。

bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h

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

如果不指定要包含的列,API将返回默认列。如果明确指定一个或多个列,它将仅返回指定的列。

有效的列包括:

assignment_explanation, ae
仅适用于开放的异常检测作业,包含与选择节点运行作业相关的消息。
buckets.count, bc, bucketsCount
(默认) 作业生成的桶结果数量。
buckets.time.exp_avg, btea, bucketsTimeExpAvg
所有桶处理时间的指数移动平均值,以毫秒为单位。
buckets.time.exp_avg_hour, bteah, bucketsTimeExpAvgHour
在1小时时间窗口内计算的桶处理时间的指数加权移动平均值,以毫秒为单位。
buckets.time.max, btmax, bucketsTimeMax
所有桶处理时间的最大值,以毫秒为单位。
buckets.time.min, btmin, bucketsTimeMin
所有桶处理时间的最小值,以毫秒为单位。
buckets.time.total, btt, bucketsTimeTotal
所有桶处理时间的总和,以毫秒为单位。
data.buckets, db, dataBuckets
处理的桶数量。
data.earliest_record, der, dataEarliestRecord
最早输入文档的时间戳。
data.empty_buckets, deb, dataEmptyBuckets
不包含任何数据的桶数量。如果您的数据包含许多空桶,请考虑增加bucket_span或使用对数据间隙容忍的函数,如meannon_null_sumnon_zero_count
data.input_bytes, dib, dataInputBytes
发布到异常检测作业的输入数据字节数。
data.input_fields, dif, dataInputFields
发布到异常检测作业的输入文档中的字段总数。此计数包括未用于分析的字段。但是,请注意,如果您使用数据馈送,它只从检索到的文档中提取所需字段,然后将其发布到作业中。
data.input_records, dir, dataInputRecords
发布到异常检测作业的输入文档数量。
data.invalid_dates, did, dataInvalidDates
缺少日期字段或日期无法解析的输入文档数量。
data.last, dl, dataLast
根据服务器时间,数据最后一次被分析的时间戳。
data.last_empty_bucket, dleb, dataLastEmptyBucket
不包含任何数据的最后一个桶的时间戳。
data.last_sparse_bucket, dlsb, dataLastSparseBucket
被认为是稀疏的最后一个桶的时间戳。
data.latest_record, dlr, dataLatestRecord
最新输入文档的时间戳。
data.missing_fields, dmf, dataMissingFields

配置为分析异常检测作业的输入文档中缺少的字段数量。缺少字段的输入文档仍然会被处理,因为可能并非所有字段都缺失。

如果您正在使用数据馈送或将数据以JSON格式发布到作业中,高missing_field_count通常并不表示数据存在问题。这并不一定是一个需要关注的原因。

data.out_of_order_timestamps, doot, dataOutOfOrderTimestamps
时间戳在当前异常检测桶的开始时间之前(偏移延迟窗口)的输入文档数量。此信息仅在您使用post data API向异常检测作业提供数据时适用。这些无序文档被丢弃,因为作业需要时间序列数据按时间顺序递增。
data.processed_fields, dpf, dataProcessedFields
异常检测作业处理的所有文档中的字段总数。只有检测器配置对象中指定的字段才会计入此计数。时间戳不包括在此计数中。
data.processed_records, dpr, dataProcessedRecords
(默认) 异常检测作业处理的输入文档数量。此值包括缺少字段的文档,因为它们仍然会被分析。如果您使用数据馈送并且在搜索查询中有聚合,processed_record_count是处理的聚合结果数量,而不是Elasticsearch文档数量。
data.sparse_buckets, dsb, dataSparseBuckets
与预期数据点数量相比,包含较少数据点的桶数量。如果您的数据包含许多稀疏桶,请考虑使用更长的bucket_span
forecasts.memory.avg, fmavg, forecastsMemoryAvg
与异常检测作业相关的预测的平均内存使用量,以字节为单位。
forecasts.memory.max, fmmax, forecastsMemoryMax
与异常检测作业相关的预测的最大内存使用量,以字节为单位。
forecasts.memory.min, fmmin, forecastsMemoryMin
与异常检测作业相关的预测的最小内存使用量,以字节为单位。
forecasts.memory.total, fmt, forecastsMemoryTotal
与异常检测作业相关的预测的总内存使用量,以字节为单位。
forecasts.records.avg, fravg, forecastsRecordsAvg
为与异常检测作业相关的预测写入的model_forecast文档的平均数量。
forecasts.records.max, frmax, forecastsRecordsMax
为与异常检测作业相关的预测写入的model_forecast文档的最大数量。
forecasts.records.min, frmin, forecastsRecordsMin
为与异常检测作业相关的预测写入的model_forecast文档的最小数量。
forecasts.records.total, frt, forecastsRecordsTotal
为与异常检测作业相关的预测写入的model_forecast文档的总数量。
forecasts.time.avg, ftavg, forecastsTimeAvg
与异常检测作业相关的预测的平均运行时间,以毫秒为单位。
forecasts.time.max, ftmax, forecastsTimeMax
与异常检测作业相关的预测的最大运行时间,以毫秒为单位。
forecasts.time.min, ftmin, forecastsTimeMin
与异常检测作业相关的预测的最小运行时间,以毫秒为单位。
forecasts.time.total, ftt, forecastsTimeTotal
与异常检测作业相关的预测的总运行时间,以毫秒为单位。
forecasts.total, ft, forecastsTotal
(默认) 作业当前可用的独立预测数量。值为1或更多表示存在预测。
id
(默认) 异常检测作业的标识符。
model.bucket_allocation_failures, mbaf, modelBucketAllocationFailures
由于模型内存不足而未处理的新实体的桶数量。这种情况也由hard_limit: memory_status属性值表示。
model.by_fields, mbf, modelByFields
模型分析的by字段值的数量。此值是作业中所有检测器的累积值。
model.bytes, mb, modelBytes
(默认) 模型使用的内存字节数。这是自上次模型持久化以来的最大值。如果作业已关闭,此值表示最新大小。
model.bytes_exceeded, mbe, modelBytesExceeded
上次分配失败时超出内存使用上限的字节数。
model.categorization_status, mcs, modelCategorizationStatus

作业分类的状态。包含以下值之一:

  • ok: 分类表现良好(或根本未使用)。
  • warn: 分类检测到的类别分布表明输入数据不适合分类。问题可能是只有一个类别,超过90%的类别是稀有的,类别的数量大于分类文档数量的50%,没有频繁匹配的类别,或超过50%的类别
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/ml/anomaly_detectors?h=id,s,dpr,mb&v=true
id                        s dpr   mb
high_sum_total_sales closed 14022 1.5mb
low_request_rate     closed 1216  40.5kb
response_code_rates  closed 28146 132.7kb
url_scanning         closed 28146 501.6kb

cat 组件模板 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取组件模板 API

返回有关集群中组件模板的信息。组件模板是构建索引模板的构建块,用于指定索引的映射设置别名

请求

edit

GET /_cat/component_templates/

GET /_cat/component_templates

先决条件

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

路径参数

edit
<template_name>
(可选,字符串) 要返回的组件模板名称。接受通配符表达式。如果省略,则返回所有组件模板。

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/component_templates/my-template-*?v=true&s=name

API返回以下响应:

name          version alias_count mapping_count settings_count metadata_count included_in
my-template-1         0           0             1              0              [my-index-template]
my-template-2         0           3             0              0              [my-index-template]

猫计数 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台供人类使用。它们适用于应用程序使用。对于应用程序使用,请使用 count API

提供对数据流、索引或整个集群的文档计数的快速访问。

文档计数仅包括活动文档,不包括尚未被合并过程删除的已删除文档。

请求

edit

GET /_cat/count/

GET /_cat/count

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须对任何要检索的数据流、索引或别名拥有read 索引权限

路径参数

edit
<target>
(可选,字符串) 用于限制请求的逗号分隔的数据流、索引和别名列表。支持通配符 (*)。要针对所有数据流和索引,请省略此参数或使用 *_all

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

使用单个数据流或索引的示例

edit

以下 count API 请求检索 my-index-000001 数据流或索引的文档计数。

GET /_cat/count/my-index-000001?v=true

API返回以下响应:

epoch      timestamp count
1475868259 15:24:20  120

示例:集群中所有数据流和索引

edit

以下 count API 请求检索集群中所有数据流和索引的文档计数。

GET /_cat/count?v=true

API返回以下响应:

epoch      timestamp count
1475868259 15:24:20  121

cat 数据框分析 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取数据框分析作业统计信息 API

返回有关数据框分析作业的配置和使用信息。

请求

edit

GET /_cat/ml/data_frame/analytics/

GET /_cat/ml/data_frame/analytics

先决条件

edit

如果启用了Elasticsearch安全功能,您必须拥有以下权限:

  • 集群: monitor_ml

更多信息,请参阅安全权限机器学习安全权限

路径参数

edit
<data_frame_analytics_id>
(可选,字符串) 数据框分析作业的标识符。如果您不指定此选项,API将返回前一百个数据框分析作业的信息。

查询参数

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

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

如果不指定要包含的列,API将返回默认列。如果明确指定一个或多个列,它将仅返回指定的列。

有效的列包括:

assignment_explanation, ae
包含与节点选择相关的消息。
create_time, ct, createTime
(默认) 数据框分析作业创建的时间。
description, d
作业的描述。
dest_index, di, destIndex
目标索引的名称。
failure_reason, fr, failureReason
包含数据框分析作业失败原因的消息。
id
(默认) 数据框分析作业的标识符。
model_memory_limit, mml, modelMemoryLimit
允许数据框分析作业使用的内存资源的最大近似值。
node.address, na, nodeAddress
分配给数据框分析作业的节点的网络地址。
node.ephemeral_id, ne, nodeEphemeralId
分配给数据框分析作业的节点的临时ID。
node.id, ni, nodeId
分配给数据框分析作业的节点的唯一标识符。
node.name, nn, nodeName
分配给数据框分析作业的节点的名称。
progress, p
数据框分析作业的进度报告,按阶段划分。
source_index, si, sourceIndex
源索引的名称。
state, s
(默认) 数据框分析作业的当前状态。
type, t
(默认) 数据框分析作业执行的分析类型。
version, v
创建数据框分析作业的Elasticsearch版本号。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/ml/data_frame/analytics?v=true
id               create_time              type             state
classifier_job_1 2020-02-12T11:49:09.594Z classification stopped
classifier_job_2 2020-02-12T11:49:14.479Z classification stopped
classifier_job_3 2020-02-12T11:49:16.928Z classification stopped
classifier_job_4 2020-02-12T11:49:19.127Z classification stopped
classifier_job_5 2020-02-12T11:49:21.349Z classification stopped

cat datafeeds API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取数据馈送统计信息 API

返回关于数据馈送的配置和使用信息。

请求

edit

GET /_cat/ml/datafeeds/

GET /_cat/ml/datafeeds

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor_mlmonitormanage_mlmanage集群权限才能使用此API。请参阅 安全权限机器学习安全权限

描述

edit

数据馈送从 Elasticsearch 检索数据,供异常检测作业进行分析。更多信息,请参阅 数据馈送

此API最多返回10,000个职位。

路径参数

edit
<feed_id>
(可选, 字符串) 一个唯一标识数据流的数字字符串。此标识符可以包含小写字母数字字符(a-z 和 0-9)、连字符和下划线。它必须以字母数字字符开头和结尾。

查询参数

edit
allow_no_match

(可选, 布尔值) 指定在请求时执行的操作:

  • 包含通配符表达式且没有匹配的数据馈送。
  • 包含 _all 字符串或没有标识符且没有匹配项。
  • 包含通配符表达式且只有部分匹配。

默认值为 true,在没有匹配项时返回一个空的 datafeeds 数组,在有部分匹配项时返回部分结果。如果此参数为 false,则在没有任何匹配项或只有部分匹配项时,请求将返回 404 状态码。

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

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

如果不指定要包含的列,API将返回默认列。如果明确指定一个或多个列,它将仅返回指定的列。

有效的列包括:

assignment_explanation, ae
仅对于启动的数据馈送,包含与节点选择相关的消息。
buckets.count, bc, bucketsCount
(默认) 处理的桶的数量。
id
(默认) 唯一标识数据馈送的数字字符串。此标识符可以包含小写字母数字字符(a-z 和 0-9)、连字符和下划线。它必须以字母数字字符开头和结尾。
node.address, na, nodeAddress

节点的网络地址。

对于仅启动的数据馈送,此信息与启动数据馈送的节点相关。

node.ephemeral_id, ne, nodeEphemeralId

节点的临时ID。

对于仅启动的数据馈送,此信息与启动数据馈送的节点相关。

node.id, ni, nodeId

节点的唯一标识符。

对于仅启动的数据馈送,此信息与启动数据馈送的节点相关。

node.name, nn, nodeName

节点名称。

对于仅启动的数据馈送,此信息与启动数据馈送的节点相关。

search.bucket_avg, sba, searchBucketAvg
每个桶的平均搜索时间,以毫秒为单位。
search.count, sc, searchCount
(默认) 数据馈送运行的搜索次数。
search.exp_avg_hour, seah, searchExpAvgHour
每小时的指数平均搜索时间,以毫秒为单位。
search.time, st, searchTime
数据馈送花费的总搜索时间,以毫秒为单位。
state, s

(默认) 数据馈送的状态,可以是以下值之一:

  • starting: 数据馈送已被请求启动但尚未启动。
  • started: 数据馈送正在主动接收数据。
  • stopping: 数据馈送已被请求优雅停止,并正在完成其最终操作。
  • stopped: 数据馈送已停止,直到重新启动前不会接收数据。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/ml/datafeeds?v=true
id                              state buckets.count search.count
datafeed-high_sum_total_sales stopped 743          7
datafeed-low_request_rate     stopped 1457         3
datafeed-response_code_rates  stopped 1460         18
datafeed-url_scanning         stopped 1460         18

cat field数据 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 nodes stats API

返回集群中每个数据节点上当前由字段数据缓存使用的堆内存量。

请求

edit

GET /_cat/fielddata/

GET /_cat/fielddata

先决条件

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

路径参数

edit
<field>
(可选,字符串) 用于限制返回信息的字段列表,以逗号分隔。

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

使用单个字段的示例

edit

您可以在请求体或URL路径中指定单个字段。以下fieldata API请求检索body字段的堆内存大小信息。

GET /_cat/fielddata?v=true&fields=body

API返回以下响应:

id                     host      ip        node    field   size
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body    544b

带有字段列表的示例

edit

您可以在请求体或URL路径中指定一个以逗号分隔的字段列表。以下fieldata API请求检索bodysoul字段的堆内存大小信息。

GET /_cat/fielddata/body,soul?v=true

API返回以下响应:

id                     host      ip        node    field   size
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body    544b
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in soul    480b

响应显示了bodysoul字段的单独字段数据,每个节点每个字段一行。

集群中所有字段的示例

edit

以下 fieldata API 请求检索所有字段的堆内存大小信息。

GET /_cat/fielddata?v=true

API返回以下响应:

id                     host      ip        node    field   size
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in body    544b
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in mind    360b
Nqk-6inXQq-OxUfOUI8jNQ 127.0.0.1 127.0.0.1 Nqk-6in soul    480b

猫健康 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 cluster health API

返回集群的健康状态,类似于集群健康 API。

请求

edit

GET /_cat/health

先决条件

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

描述

edit

您可以使用cat health API来获取集群的健康状态。

此API常用于检查故障集群。为了帮助您在日志文件和警报系统旁跟踪集群健康状况,API返回两种格式的时间戳:

  • HH:MM:SS,这是人类可读的,但不包含日期信息。
  • Unix epoch 时间,这是机器可排序的,并包含日期信息。这对于需要多天恢复的集群非常有用。

您可以使用cat health API来验证跨多个节点的集群健康状况。 请参阅跨节点的示例

您还可以使用API来跟踪大型集群在较长时间内的恢复情况。请参阅大型集群示例

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
ts (timestamps)
(可选,布尔值) 如果为true,则返回HH:MM:SSUnix epoch时间戳。默认为 true
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

带有时间戳的示例

edit

默认情况下,猫健康API返回HH:MM:SSUnix epoch时间戳。例如:

GET /_cat/health?v=true

API返回以下响应:

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign unassign.pri pending_tasks max_task_wait_time active_shards_percent
1475871424 16:17:04  elasticsearch green           1         1      1   1    0    0        0            0             0                  -                100.0%

没有时间戳的示例

edit

您可以使用 ts(时间戳)参数来禁用时间戳。例如:

GET /_cat/health?v=true&ts=false

API返回以下响应:

cluster       status node.total node.data shards pri relo init unassign unassign.pri pending_tasks max_task_wait_time active_shards_percent
elasticsearch green           1         1      1   1    0    0        0            0             0                  -                100.0%

注意: 如果你的集群中包含运行版本低于8.16的节点,报告的未分配主分片数量可能低于实际值。在这种情况下,请使用集群健康API以获得更准确的计数。

跨节点的示例

edit

您可以使用cat health API来验证集群在各个节点上的健康状况。 例如:

% pssh -i -h list.of.cluster.hosts curl -s localhost:9200/_cat/health
[1] 20:20:52 [SUCCESS] es3.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0 0
[2] 20:20:52 [SUCCESS] es1.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0 0
[3] 20:20:52 [SUCCESS] es2.vm
1384309218 18:20:18 foo green 3 3 3 3 0 0 0 0 0

大型集群示例

edit

您可以使用cat health API来跟踪大型集群在较长时间内的恢复情况。您可以通过在延迟循环中包含cat health API请求来实现这一点。例如:

% while true; do curl localhost:9200/_cat/health; sleep 120; done
1384309446 18:24:06 foo red 3 3 20 20 0 0 1812 1121 0
1384309566 18:26:06 foo yellow 3 3 950 916 0 12 870 421 0
1384309686 18:28:06 foo yellow 3 3 1328 916 0 12 492 301 0
1384309806 18:30:06 foo green 3 3 1832 916 4 0 0 0
^C

在这个例子中,恢复过程大约花费了六分钟,从18:24:0618:30:06。如果这个恢复过程花费了几个小时,你可以继续监控UNASSIGNED分片的数量,这个数量应该会下降。如果UNASSIGNED分片的数量保持不变,这可能表明集群恢复存在问题。

cat 索引 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 get index API

返回集群中索引的高级信息,包括数据流的备份索引。

请求

edit

GET /_cat/indices/

GET /_cat/indices

先决条件

edit
  • 如果启用了Elasticsearch的安全功能,您必须拥有monitormanage 集群权限才能使用此API。您还必须拥有monitormanage 索引权限才能检索任何数据流、索引或别名。

描述

edit

使用 cat indices API 获取集群中每个索引的以下信息:

  • 分片数量
  • 文档数量
  • 已删除文档数量
  • 主存储大小
  • 所有分片的总存储大小,包括分片副本

这些指标直接从 Lucene获取,Elasticsearch在内部使用Lucene来支持索引和搜索。因此,所有文档计数都包括隐藏的 嵌套文档。

要获取Elasticsearch文档的准确计数,请使用cat countcount API。

请注意,对于从仅源快照恢复的索引,不会显示文档计数、已删除文档计数和存储大小等信息,因为这些索引不包含检索此信息的相关数据结构。

路径参数

edit
<target>
(可选,字符串) 用于限制请求的逗号分隔的数据流、索引和别名列表。支持通配符 (*)。要针对所有数据流和索引,请省略此参数或使用 *_all

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
health

(可选,字符串)用于限制返回索引的健康状态。有效值为:

  • green
  • yellow
  • red

默认情况下,响应会包括任何健康状态的索引。

help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
include_unloaded_segments
(可选,布尔值) 如果为 true,响应将包含来自未加载到内存中的分段的信息。默认为 false
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
pri (primary shards)
(可选,布尔值) 如果为 true,响应仅包含来自主分片的信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false
expand_wildcards

(可选,字符串) 通配符模式可以匹配的索引类型。如果请求可以针对数据流,此参数确定通配符表达式是否匹配隐藏的数据流。支持逗号分隔的值,例如 open,hidden。有效值为:

all
匹配任何数据流或索引,包括 隐藏的 数据流和索引。
open
匹配开放的、非隐藏的索引。同时也匹配任何非隐藏的数据流。
closed
匹配关闭的、非隐藏的索引。同时也匹配任何非隐藏的数据流。数据流不能被关闭。
hidden
匹配隐藏的数据流和隐藏的索引。必须与 openclosed 或两者结合使用。
none
不接受通配符模式。

示例

edit
GET /_cat/indices/my-index-*?v=true&s=index

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     88.1kb         88.1kb       88.1kb
green  open   my-index-000002  nYFWZEO7TUiOjLQXBaYJpA   1   0          0            0       260b           260b         260b

cat master API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 nodes info API

返回有关主节点的信息,包括ID、绑定的IP地址和名称。

请求

edit

GET /_cat/master

先决条件

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

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/master?v=true

API返回以下响应:

id                     host      ip        node
YzWoH_2BT-6UjVGDyPdqYg 127.0.0.1 127.0.0.1 YzWoH_2

此信息也可以通过 nodes 命令获取,但当你只想验证所有节点是否都同意主节点时,这种方法稍微简短一些:

% pssh -i -h list.of.cluster.hosts curl -s localhost:9200/_cat/master
[1] 19:16:37 [SUCCESS] es3.vm
Ntgn2DcuTjGuXlhKDUD4vA 192.168.56.30 H5dfFeA
[2] 19:16:37 [SUCCESS] es2.vm
Ntgn2DcuTjGuXlhKDUD4vA 192.168.56.30 H5dfFeA
[3] 19:16:37 [SUCCESS] es1.vm
Ntgn2DcuTjGuXlhKDUD4vA 192.168.56.30 H5dfFeA

cat nodeattrs API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 nodes info API

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

请求

edit

GET /_cat/nodeattrs

先决条件

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

查询参数

edit
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

示例

edit

默认列的示例

edit
GET /_cat/nodeattrs?v=true

API返回以下响应:

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

The node, host, and ip 列提供了每个节点的基本信息。 The attrvalue 列返回自定义节点属性,每行一个。

显式列的示例

edit

以下 API 请求返回 namepidattrvalue 列。

GET /_cat/nodeattrs?v=true&h=name,pid,attr,value

API返回以下响应:

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

cat nodes API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。 它们适用于应用程序使用。 对于应用程序使用,请使用 nodes info API

返回有关集群节点的信息。

请求

edit

GET /_cat/nodes

先决条件

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

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
full_id
(可选,布尔值) 如果 true,返回完整的节点ID。 如果 false,返回简化的节点ID。 默认为 false
h

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

如果您不指定要包含的列,API将按以下列出的顺序返回默认列。如果您明确指定一个或多个列,它只会返回指定的列。

有效的列包括:

ip, i
(默认) IP地址, 例如 127.0.1.1.
heap.percent, hp, heapPercent
(默认) 已使用的总分配Elasticsearch JVM堆的百分比, 例如 7. 这仅反映了在操作系统内运行的Elasticsearch进程,是其JVM/堆/内存资源性能的最直接指标。
heap.max, hm, heapMax
总堆大小, 例如 4gb.
ram.percent, rp, ramPercent
(默认) 已使用的操作系统总内存的百分比, 例如 47. 这反映了操作系统上所有运行的进程,而不仅仅是Elasticsearch,并且不能保证与其性能相关。
file_desc.percent, fdp, fileDescriptorPercent
已使用的文件描述符百分比, 例如 1.
node.role, r, role, nodeRole

(默认) 节点的角色。 返回的值包括 c (冷节点), d (数据节点), f (冻结节点), h (热节点), i (摄取节点), l (机器学习节点), m (有资格成为主节点的节点), r (远程集群客户端节点), s (内容节点), t (转换节点), v (仅投票节点), w (暖节点), 和 - (仅协调节点)。

例如,dim 表示一个主资格数据和摄取节点。 参见 Nodes

master, m
(默认) 指示节点是否为选中的主节点。 返回的值包括 * (选中的主节点) 和 - (未选中的主节点)。
name, n
(默认) 节点名称, 例如 I8hydUG.
id, nodeId
节点的ID, 例如 k0zy.
pid, p
进程ID, 例如 13061.
port, po
绑定的传输端口, 例如 9300.
http_address, http
绑定的http地址, 例如 127.0.0.1:9200.
version, v
Elasticsearch版本, 例如 9.0.0-beta1.
build, b
Elasticsearch构建哈希, 例如 5c03844.
jdk, j
Java版本, 例如 1.8.0.
disk.total, dt, diskTotal
总磁盘空间, 例如 458.3gb.
disk.used, du, diskUsed
已使用的磁盘空间, 例如 259.8gb.
disk.avail, d, disk, diskAvail
可用磁盘空间, 例如 198.4gb.
disk.used_percent, dup, diskUsedPercent
已使用的磁盘空间百分比, 例如 47.
heap.current, hc, heapCurrent
已使用的堆大小, 例如 311.2mb.
ram.current,rc, ramCurrent
已使用的总内存, 例如 513.4mb.
ram.max, rm, ramMax
总内存, 例如 2.9gb.
file_desc.current, fdc, fileDescriptorCurrent
已使用的文件描述符, 例如 123.
file_desc.max, fdm, fileDescriptorMax
最大文件描述符数量, 例如 1024.
cpu
(默认) 最近的系统CPU使用率, 例如 12.
load_1m, l
(默认) 最近的负载平均值, 例如 0.22.
load_5m, l
(默认) 过去五分钟的负载平均值, 例如 0.78.
load_15m, l
(默认) 过去十五分钟的负载平均值, 例如 1.24.
uptime, u
节点运行时间, 例如 17.3m.
completion.size, cs, completionSize
完成的大小, 例如 0b.
fielddata.memory_size, fm, fielddataMemory
已使用的字段数据缓存内存, 例如 0b.
fielddata.evictions, fe, fielddataEvictions
字段数据缓存驱逐次数, 例如 0.
query_cache.memory_size, qcm, queryCacheMemory
已使用的查询缓存内存, 例如 0b.
query_cache.evictions, qce, queryCacheEvictions
查询缓存驱逐次数, 例如 0.
query_cache.hit_count, qchc, queryCacheHitCount
查询缓存命中次数, 例如 0.
query_cache.miss_count, qcmc, queryCacheMissCount
查询缓存未命中次数, 例如 0.
request_cache.memory_size, rcm, requestCacheMemory
已使用的请求缓存内存, 例如 0b.
request_cache.evictions, rce, requestCacheEvictions
请求缓存驱逐次数, 例如 0.
request_cache.hit_count, rchc, requestCacheHitCount
请求缓存命中次数, 例如 0.
request_cache.miss_count, rcmc, requestCacheMissCount
请求缓存未命中次数, 例如 0.
flush.total, ft, flushTotal
刷新次数, 例如 1.
flush.total_time, ftt, flushTotalTime
刷新所花费的时间, 例如 1.
get.current, gc, getCurrent
当前获取操作的数量, 例如 0.
get.time, gti, getTime
获取操作所花费的时间, 例如 14ms.
get.total, gto, getTotal
获取操作的总数, 例如 2.
<code class="literal
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false
include_unloaded_segments
(可选,布尔值) 如果为 true,响应将包含来自未加载到内存中的分段的信息。默认为 false

示例

edit

使用默认列的示例

edit
GET /_cat/nodes?v=true

API返回以下响应:

ip        heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1           65          99  42    3.07                  dim       *      mJw06l1

The ip, heap.percent, ram.percent, cpu, and load_* 列提供了每个节点的IP地址和性能信息。

The node.role, master, and name 列提供了对监控整个集群,特别是大型集群有用的信息。

显式列的示例

edit

以下 API 请求返回 idipportv(版本)和 m(主节点)列。

GET /_cat/nodes?v=true&h=id,ip,port,v,m

API返回以下响应:

id   ip        port  v         m
veJR 127.0.0.1 59938 9.0.0-beta1 *

cat 待处理任务 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 pending cluster tasks API

返回尚未执行的集群级别变更

请求

edit

GET /_cat/pending_tasks

先决条件

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

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/pending_tasks?v=true

API返回以下响应:

insertOrder timeInQueue priority source
       1685       855ms HIGH     update-mapping [foo][t]
       1686       843ms HIGH     update-mapping [foo][t]
       1693       753ms HIGH     refresh-mapping [foo][[t]]
       1688       816ms HIGH     update-mapping [foo][t]
       1689       802ms HIGH     update-mapping [foo][t]
       1690       787ms HIGH     update-mapping [foo][t]
       1691       773ms HIGH     update-mapping [foo][t]

cat 插件 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 nodes info API

返回在集群的每个节点上运行的插件列表。

请求

edit

GET /_cat/plugins

先决条件

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

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/plugins?v=true&s=component&h=name,component,version,description

API返回以下响应:

name    component               version   description
U7321H6 analysis-icu            9.0.0-SNAPSHOT The ICU Analysis plugin integrates the Lucene ICU module into Elasticsearch, adding ICU-related analysis components.
U7321H6 analysis-kuromoji       9.0.0-SNAPSHOT The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into elasticsearch.
U7321H6 analysis-nori           9.0.0-SNAPSHOT The Korean (nori) Analysis plugin integrates Lucene nori analysis module into elasticsearch.
U7321H6 analysis-phonetic       9.0.0-SNAPSHOT The Phonetic Analysis plugin integrates phonetic token filter analysis with elasticsearch.
U7321H6 analysis-smartcn        9.0.0-SNAPSHOT Smart Chinese Analysis plugin integrates Lucene Smart Chinese analysis module into elasticsearch.
U7321H6 analysis-stempel        9.0.0-SNAPSHOT The Stempel (Polish) Analysis plugin integrates Lucene stempel (polish) analysis module into elasticsearch.
U7321H6 analysis-ukrainian      9.0.0-SNAPSHOT The Ukrainian Analysis plugin integrates the Lucene UkrainianMorfologikAnalyzer into elasticsearch.
U7321H6 discovery-azure-classic 9.0.0-SNAPSHOT The Azure Classic Discovery plugin allows to use Azure Classic API for the unicast discovery mechanism
U7321H6 discovery-ec2           9.0.0-SNAPSHOT The EC2 discovery plugin allows to use AWS API for the unicast discovery mechanism.
U7321H6 discovery-gce           9.0.0-SNAPSHOT The Google Compute Engine (GCE) Discovery plugin allows to use GCE API for the unicast discovery mechanism.
U7321H6 mapper-annotated-text   9.0.0-SNAPSHOT The Mapper Annotated_text plugin adds support for text fields with markup used to inject annotation tokens into the index.
U7321H6 mapper-murmur3          9.0.0-SNAPSHOT The Mapper Murmur3 plugin allows to compute hashes of a field's values at index-time and to store them in the index.
U7321H6 mapper-size             9.0.0-SNAPSHOT The Mapper Size plugin allows document to record their uncompressed size at index time.
U7321H6 store-smb               9.0.0-SNAPSHOT The Store SMB plugin adds support for SMB stores.

cat recovery API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 index recovery API

返回有关正在进行和已完成分片恢复的信息。

对于数据流,API返回有关流的支持索引的信息。

请求

edit

GET /_cat/recovery/

GET /_cat/recovery

先决条件

edit
  • 如果启用了Elasticsearch的安全功能,您必须拥有monitormanage 集群权限才能使用此API。您还必须拥有monitormanage 索引权限才能检索任何数据流、索引或别名。

描述

edit

猫恢复API返回有关分片恢复的信息,包括正在进行和已完成的恢复。它是JSON 索引恢复 API的更紧凑视图。

分片恢复是指初始化一个分片副本的过程,例如从快照中恢复主分片或从主分片创建副本分片。当分片恢复完成时,恢复的分片可用于搜索和索引。

恢复会在以下过程中自动进行:

  • 首次创建索引时。
  • 当一个节点重新加入集群并使用其数据路径中保存的数据启动任何缺失的主分片副本时。
  • 从主分片创建新的副本分片副本。
  • 将分片副本重新定位到同一集群中的不同节点。
  • 一个快照恢复操作。
  • 一个克隆收缩拆分操作。

您可以使用recoverycat recovery API来确定分片恢复的原因。

路径参数

edit
<target>
(可选,字符串) 用于限制请求的逗号分隔的数据流、索引和别名列表。支持通配符 (*)。要针对所有数据流和索引,请省略此参数或使用 *_all

查询参数

edit
active_only
(可选,布尔值) 如果为true, 响应仅包括正在进行中的分片恢复。 默认为false
bytes
(可选, 字节单位) 用于显示字节值的单位。
detailed
(可选,布尔值) 如果为true, 响应将包含有关分片恢复的详细信息。 默认为false
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
index
(可选, 字符串) 用于限制请求的索引名称的逗号分隔列表或通配符表达式。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

没有正在进行恢复的示例

edit
GET _cat/recovery?v=true

API返回以下响应:

index             shard time type  stage source_host source_node target_host target_node repository snapshot files files_recovered files_percent files_total bytes bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
my-index-000001   0     13ms store done  n/a         n/a         127.0.0.1   node-0      n/a        n/a      0     0               100%          13          0b    0b              100%          9928b       0            0                      100.0%

在这个示例响应中,源节点和目标节点是相同的,因为恢复类型是store,这意味着它们是在节点启动时从本地存储中读取的。

实时分片恢复示例

edit

通过增加索引的副本数量并将另一个节点上线以托管这些副本,您可以检索有关正在进行的恢复的信息。

GET _cat/recovery?v=true&h=i,s,t,ty,st,shost,thost,f,fp,b,bp

API返回以下响应:

i               s t      ty   st    shost       thost       f     fp      b  bp
my-index-000001 0 1252ms peer done  192.168.1.1 192.168.1.2 0     100.0%  0b 100.0%

在这个示例响应中,恢复类型是 peer,这意味着分片从另一个节点恢复。返回的文件和字节是实时测量值。

使用快照恢复的示例

edit

您可以使用快照和恢复 API 来恢复索引的备份。您可以使用 cat recovery API 检索有关快照恢复的信息。

GET _cat/recovery?v=true&h=i,s,t,ty,st,rep,snap,f,fp,b,bp

API返回以下响应,恢复类型为snapshot

i               s t      ty       st    rep     snap   f  fp   b     bp
my-index-000001 0 1978ms snapshot done  my-repo snap-1 79 8.0% 12086 9.0%

分类仓库 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 get snapshot repository API

返回集群的快照仓库

请求

edit

GET /_cat/repositories

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor_snapshotcreate_snapshotmanage 集群权限才能使用此API。

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/repositories?v=true

API返回以下响应:

id    type
repo1   fs
repo2   s3

cat segments API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 index segments API

返回关于索引分片中Lucene段的低级信息。

对于数据流,API返回有关流的支持索引的信息。

请求

edit

GET /_cat/segments/

GET /_cat/segments

先决条件

edit
  • 如果启用了Elasticsearch的安全功能,您必须拥有monitormanage 集群权限才能使用此API。您还必须拥有monitormanage 索引权限才能检索任何数据流、索引或别名。

路径参数

edit
<target>
(可选,字符串) 用于限制请求的逗号分隔的数据流、索引和别名列表。支持通配符 (*)。要针对所有数据流和索引,请省略此参数或使用 *_all

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h

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

如果您不指定要包含的列,API将按以下列出的顺序返回默认列。如果您明确指定一个或多个列,它只会返回指定的列。

有效的列包括:

index, i, idx
(默认) 索引的名称。
shard, s, sh
(默认) 分片的名称。
prirep, p, pr, primaryOrReplica
(默认) 分片类型。返回的值为 primaryreplica
ip
(默认) 分片的IP地址,例如 127.0.1.1
segment
(默认) 段的名称,例如 _0。段的名称由段生成派生,并在分片的目录中用于创建文件名。
generation
(默认) 生成编号,例如 0。Elasticsearch 为每个写入的段递增此生成编号。Elasticsearch 然后使用此编号派生段名称。
docs.count
(默认) 由 Lucene 报告的文档数量。这不包括已删除的文档,并将任何 嵌套文档 与其父文档分开计数。它还排除了最近索引的文档,这些文档尚未属于段。
docs.deleted
(默认) 由 Lucene 报告的已删除文档数量,可能高于或低于您已执行的删除操作数量。此数量排除了最近执行的删除操作,这些操作尚未属于段。如果这样做有意义,已删除的文档将由 自动合并过程 清理。此外,Elasticsearch 创建额外的已删除文档以在内部跟踪分片上最近操作的历史记录。
size
(默认) 段使用的磁盘空间,例如 50kb
size.memory

(默认) 存储在内存中的段数据的字节数,以便高效搜索, 例如 1264

值为 -1 表示 Elasticsearch 无法计算此数值。

committed

(默认) 如果 true, 段会被同步到磁盘。同步的段在硬重启后可以存活。

如果 false, 未提交段的数据也会存储在事务日志中,以便 Elasticsearch 能够在下次启动时重放更改。

searchable

(默认) 如果 true, 该段是可搜索的。

如果 false, 该段可能已被写入磁盘 但需要一个 刷新 才能被搜索到。

version
(默认) 用于写入段的 Lucene 版本。
compound
(默认) 如果 true,段存储在复合文件中。这意味着 Lucene 将段中的所有文件合并到一个文件中以节省文件描述符。
id
节点的ID,例如 k0zy
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/segments?v=true

API返回以下响应:

index shard prirep ip        segment generation docs.count docs.deleted size size.memory committed searchable version compound
test  0     p      127.0.0.1 _0               0          1            0  3kb           0 false     true       9.12.0   true
test1 0     p      127.0.0.1 _0               0          1            0  3kb           0 false     true       9.12.0   true

cat shards API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。 它们适用于应用程序使用。对于应用程序使用,请使用集群状态 API

The shards 命令是所有节点分片分配的详细视图。它会告诉你分片是主分片还是副本分片,文档数量,它在磁盘上占用的字节数,它所在的节点,以及分片当前是否正在恢复。

对于数据流,API返回有关数据流后备索引的信息。

请求

edit

GET /_cat/shards/

GET /_cat/shards

先决条件

edit
  • 如果启用了Elasticsearch的安全功能,您必须拥有monitormanage 集群权限才能使用此API。 您还必须拥有monitormanage 索引权限 才能检索任何数据流、索引或别名。

路径参数

edit
<target>
(可选,字符串) 用于限制请求的逗号分隔的数据流、索引和别名列表。 支持通配符 (*)。 要针对所有数据流和索引,请省略此参数或使用 *_all

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h

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

如果您不指定要包含的列,API将按以下列出的顺序返回默认列。如果您明确指定一个或多个列,它只会返回指定的列。

有效的列包括:

index, i, idx
(默认) 索引的名称。
shard, s, sh
(默认) 分片的名称。
prirep, p, pr, primaryOrReplica
(默认) 分片类型。 返回的值为 primaryreplica
state, st

(默认)分片的当前状态。 返回的值包括:

  • INITIALIZING: 分片正在从对等分片或网关恢复。
  • RELOCATING: 分片正在重新定位。
  • STARTED: 分片已启动。
  • UNASSIGNED: 分片未分配给任何节点。
docs, d, dc
(默认) 分片中的文档数量,例如 25
store, sto
(默认) 分片使用的磁盘空间,例如 5kb
dataset.size
(默认) 分片数据集使用的磁盘空间,可能不是磁盘上的大小,但包括对象存储中分片使用的空间。 报告为大小值,例如 5kb
ip
(默认) 节点的IP地址,例如 127.0.1.1
id
(默认) 节点的ID,例如 k0zy
node, n
(默认) 节点名称,例如 I8hydUG
completion.size, cs, completionSize
完成的大小,例如 0b
dense_vector.value_count, dvc, denseVectorCount
索引的密集向量的数量。
fielddata.memory_size, fm, fielddataMemory
使用的字段数据缓存内存,例如 0b
fielddata.evictions, fe, fielddataEvictions
字段数据缓存驱逐的数量,例如 0
flush.total, ft, flushTotal
刷新的次数,例如 1
flush.total_time, ftt, flushTotalTime
刷新所花费的时间,例如 1
get.current, gc, getCurrent
当前获取操作的数量,例如 0
get.time, gti, getTime
获取所花费的时间,例如 14ms
get.total, gto, getTotal
获取操作的总数,例如 2
get.exists_time, geti, getExistsTime
成功获取所花费的时间,例如 14ms
get.exists_total, geto, getExistsTotal
成功获取操作的总数,例如 2
get.missing_time, gmti, getMissingTime
失败获取所花费的时间,例如 0s
get.missing_total, gmto, getMissingTotal
失败获取操作的总数,例如 1
indexing.delete_current, idc, indexingDeleteCurrent
当前删除操作的数量,例如 0
indexing.delete_time, idti, indexingDeleteTime
删除所花费的时间,例如 2ms
indexing.delete_total, idto, indexingDeleteTotal
删除操作的总数,例如 2
indexing.index_current, iic, indexingIndexCurrent
当前索引操作的数量,例如 0
indexing.index_time, iiti, indexingIndexTime
索引所花费的时间,例如 134ms
indexing.index_total, iito, indexingIndexTotal
索引操作的总数,例如 1
indexing.index_failed, iif, indexingIndexFailed
失败索引操作的数量,例如 0
merges.current, mc, mergesCurrent
当前合并操作的数量,例如 0
merges.current_docs, mcd, mergesCurrentDocs
当前合并文档的数量,例如 0
merges.current_size, mcs, mergesCurrentSize
当前合并的大小,例如 0b
merges.total, mt, mergesTotal
已完成合并操作的数量,例如 0
merges.total_docs, mtd, mergesTotalDocs
合并文档的总数,例如 0
merges.total_size, mts, mergesTotalSize
当前合并的大小,例如 0b
merges.total_time, mtt, mergesTotalTime
合并文档所花费的时间,例如 0s
query_cache.memory_size, qcm, queryCacheMemory
使用的查询缓存内存,例如 0b
query_cache.evictions, qce, queryCacheEvictions
查询缓存驱逐的数量,例如 0
recoverysource.type, rs
恢复源的类型。
refresh.total, rto, refreshTotal
刷新的次数,例如 16
refresh.time, rti, refreshTime
刷新所花费的时间,例如 91ms
search.fetch_current, sfc, searchFetchCurrent
当前获取阶段操作的数量,例如 0
search.fetch_time, sfti, searchFetchTime
获取阶段所花费的时间,例如 37ms
search.fetch_total, sfto, searchFetchTotal
获取操作的总数,例如 7
search.open_contexts, so, searchOpenContexts
打开的搜索上下文,例如 0
search.query_current, sqc, searchQueryCurrent
当前查询阶段操作的数量,例如 0
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

单个数据流或索引的示例

edit
GET _cat/shards

API返回以下响应:

my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA

使用通配符模式的示例

edit

如果您的集群有很多分片,您可以在路径参数中使用通配符模式来限制API请求。

以下请求返回以 my-index- 开头的任何数据流或索引的信息。

GET _cat/shards/my-index-*

API返回以下响应:

my-index-000001 0 p STARTED 3014 31.1mb 192.168.56.10 H5dfFeA

示例:迁移分片

edit
GET _cat/shards

API返回以下响应:

my-index-000001 0 p RELOCATING 3014 31.1mb 192.168.56.10 H5dfFeA -> -> 192.168.56.30 bGG90GE

state 列中的 RELOCATING 值表示索引分片正在重新定位。

带有分片状态的示例

edit

在分片可供使用之前,它会经历一个INITIALIZING状态。 您可以使用cat shards API查看哪些分片正在初始化。

GET _cat/shards

API返回以下响应:

my-index-000001 0 p STARTED      3014 31.1mb 192.168.56.10 H5dfFeA
my-index-000001 0 r INITIALIZING    0 14.3mb 192.168.56.30 bGG90GE

未分配分片原因示例

edit

以下请求返回unassigned.reason列,该列指示分片未分配的原因。

GET _cat/shards?h=index,shard,prirep,state,unassigned.reason

API返回以下响应:

my-index-000001 0 p STARTED    3014 31.1mb 192.168.56.10 H5dfFeA
my-index-000001 0 r STARTED    3014 31.1mb 192.168.56.30 bGG90GE
my-index-000001 0 r STARTED    3014 31.1mb 192.168.56.20 I8hydUG
my-index-000001 0 r UNASSIGNED ALLOCATION_FAILED

cat 快照 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 get snapshot API

返回有关存储在一个或多个仓库中的快照的信息。快照是索引或正在运行的Elasticsearch集群的备份。

请求

edit

GET /_cat/snapshots/

GET /_cat/snapshots

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor_snapshotcreate_snapshotmanage 集群权限才能使用此API。

路径参数

edit
<repository>

(可选,字符串) 以逗号分隔的快照仓库列表,用于限制请求。接受通配符表达式。_all 返回所有仓库。

如果在请求过程中任何存储库失败,Elasticsearch 将返回一个错误。

查询参数

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

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

如果您不指定要包含的列,API将按以下列出的顺序返回默认列。如果您明确指定一个或多个列,它只会返回指定的列。

有效的列包括:

id, snapshot
(默认) 快照的ID,例如 snap1
repository, re, repo
(默认) 仓库的名称,例如 repo1
status, s

(默认)快照过程的状态。返回的值包括:

  • FAILED: 快照过程失败。
  • INCOMPATIBLE: 快照过程与当前集群版本不兼容。
  • IN_PROGRESS: 快照过程已开始但尚未完成。
  • PARTIAL: 快照过程以部分成功完成。
  • SUCCESS: 快照过程以完全成功完成。
start_epoch, ste, startEpoch
(默认) Unix epoch 时间 快照过程开始的时间。
start_time, sti, startTime
(默认) HH:MM:SS 快照过程开始的时间。
end_epoch, ete, endEpoch
(默认) Unix epoch 时间 快照过程结束的时间。
end_time, eti, endTime
(默认) HH:MM:SS 快照过程结束的时间。
duration, dur
(默认) 快照过程完成所用的时间,以时间单位表示。
indices, i
(默认) 快照中的索引数量。
successful_shards, ss
(默认) 快照中成功的分片数量。
failed_shards, fs
(默认) 快照中失败的分片数量。
total_shards, ts
(默认) 快照中的总分片数量。
reason, r
快照失败的原因。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
ignore_unavailable
(可选,布尔值) 如果为 true,响应中不包含来自不可用快照的信息。默认为 false
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET /_cat/snapshots/repo1?v=true&s=id

API返回以下响应:

id     repository status start_epoch start_time end_epoch  end_time duration indices successful_shards failed_shards total_shards
snap1  repo1      FAILED 1445616705  18:11:45   1445616978 18:16:18     4.6m       1                 4             1            5
snap2  repo1      SUCCESS 1445634298  23:04:58   1445634672 23:11:12     6.2m       2                10             0           10

猫任务管理API

edit

猫任务管理API是新的,仍应被视为测试版功能。API可能会以不向后兼容的方式进行更改。有关功能状态,请参见#51628

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 任务管理 API

返回有关当前在集群中执行的任务的信息,类似于任务管理 API。

请求

edit

GET /_cat/tasks

先决条件

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

描述

edit

猫任务管理 API 返回有关当前在集群中一个或多个节点上执行的任务的信息。它是 JSON 任务管理 API 的更紧凑视图。

查询参数

edit
detailed
(可选,布尔值) 如果为true, 响应将包含有关分片恢复的详细信息。 默认为false
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
nodes
(可选,字符串) 以逗号分隔的节点ID或名称列表,用于限制响应。支持通配符 (*) 表达式。
parent_task_id
(可选, 字符串) 用于限制响应的父任务ID。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

响应代码

edit
404 (Missing resources)
如果指定了但未找到,此代码表示没有与请求匹配的资源。

示例

edit
GET _cat/tasks?v=true

API返回以下响应:

action                         task_id                    parent_task_id             type      start_time    timestamp running_time ip             node
cluster:monitor/tasks/lists[n] oTUltX4IQMOUUVeiohTt8A:124 oTUltX4IQMOUUVeiohTt8A:123 direct    1458585884904 01:48:24  44.1micros   127.0.0.1:9300 oTUltX4IQMOUUVeiohTt8A
cluster:monitor/tasks/lists    oTUltX4IQMOUUVeiohTt8A:123 -                          transport 1458585884904 01:48:24  186.2micros  127.0.0.1:9300 oTUltX4IQMOUUVeiohTt8A

cat 模板 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取索引模板 API

返回集群中索引模板的信息。 您可以使用索引模板在创建新索引时应用索引设置字段映射

请求

edit

GET /_cat/templates/

GET /_cat/templates

先决条件

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

路径参数

edit
<template_name>
(可选,字符串) 要返回的模板的名称。接受通配符表达式。如果省略,则返回所有模板。

查询参数

edit
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h
(可选, 字符串) 以逗号分隔的列名列表以显示。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/templates/my-template-*?v=true&s=name

API返回以下响应:

name          index_patterns order version composed_of
my-template-0 [te*]          500           []
my-template-1 [tea*]         501           []
my-template-2 [teak*]        502   7       []

cat 线程池 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 nodes info API

返回集群中每个节点的线程池统计信息。返回的信息包括所有内置线程池和自定义线程池。

请求

edit

GET /_cat/thread_pool/

GET /_cat/thread_pool

先决条件

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

路径参数

edit
<thread_pool>
(可选,字符串) 用于限制请求的线程池名称的逗号分隔列表。接受通配符表达式。

查询参数

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

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

如果您不指定要包含的列,API将按以下列出的顺序返回默认列。如果您明确指定一个或多个列,它只会返回指定的列。

有效的列包括:

node_name
(默认) 节点名称, 例如 I8hydUG.
name
(默认) 线程池的名称, 例如 analyzegeneric.
active, a
(默认) 当前线程池中活动线程的数量。
queue,q
(默认) 当前线程池中队列中的任务数量。
rejected, r
(默认) 线程池执行器拒绝的任务数量。
completed, c
线程池执行器完成的任务数量。
core, cr
当前线程池中允许的活动线程的核心数量配置。
ephemeral_id,eid
临时节点ID。
host, h
当前节点的主机名。
ip, i
当前节点的IP地址。
keep_alive, k
线程的保持活动时间配置。
largest, l
当前线程池中活动线程的最高数量。
max, mx
当前线程池中允许的活动线程的最大数量配置。
node_id, id
节点的ID, 例如 k0zy.
pid, p
运行节点的进程ID。
pool_size, psz
当前线程池中的线程数量。
port, po
当前节点的绑定传输端口。
queue_size, qs
当前线程池中队列允许的最大任务数量。
size, sz
当前线程池中允许的活动线程的固定数量配置。
type, t
线程池的类型。返回的值为 fixed, fixed_auto_queue_size, direct, 或 scaling.
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
local
(可选,布尔值) 如果 true,请求仅从本地节点检索信息。默认为 false,这意味着信息从主节点检索。
master_timeout
(可选,时间单位) 等待主节点的时间段。如果在超时到期之前主节点不可用,请求将失败并返回错误。默认为30s。 也可以设置为-1,表示请求不应超时。
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit

使用默认列的示例

edit
GET /_cat/thread_pool

API返回以下响应:

node-0 analyze             0 0 0
...
node-0 fetch_shard_started 0 0 0
node-0 fetch_shard_store   0 0 0
node-0 flush               0 0 0
...
node-0 write               0 0 0

显式列的示例

edit

以下API请求返回idnameactiverejectedcompleted列。该请求将返回的信息限制为generic线程池。

GET /_cat/thread_pool/generic?v=true&h=id,name,active,rejected,completed

API返回以下响应:

id                     name    active rejected completed
0EWUhXeBQtaVGlexUeVwMg generic      0        0        70

cat 训练模型 API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取训练模型 API

返回有关推理训练模型的配置和使用信息。

请求

edit

GET /_cat/ml/trained_models

先决条件

edit

如果启用了Elasticsearch安全功能,您必须拥有以下权限:

  • 集群: monitor_ml

更多信息,请参阅安全权限机器学习安全权限

查询参数

edit
bytes
(可选, 字节单位) 用于显示字节值的单位。
format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
h

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

如果不指定要包含的列,API将返回默认列。如果明确指定一个或多个列,它将仅返回指定的列。

有效的列包括:

create_time, ct
训练模型创建的时间。
created_by, c, createdBy
训练模型的创建者信息。
data_frame_analytics_id, df, dataFrameAnalytics
创建模型的数据框分析作业的标识符。仅在仍然可用时显示。
description, d
训练模型的描述。
heap_size, hs, modelHeapSize
(默认) 在内存中保持训练模型的估计堆大小。
id
(默认) 训练模型的标识符。
ingest.count, ic, ingestCount
模型处理的文档总数。
ingest.current, icurr, ingestCurrent
当前由训练模型处理的文档总数。
ingest.failed, if, ingestFailed
使用训练模型失败的摄取尝试总数。
ingest.pipelines, ip, ingestPipelines
(默认) 引用训练模型的摄取管道总数。
ingest.time, it, ingestTime
使用训练模型处理文档所花费的总时间。
license, l
训练模型的许可证级别。
operations, o, modelOperations
(默认) 使用训练模型的估计操作数。此数字有助于衡量模型的计算复杂度。
version, v
创建训练模型的Elasticsearch版本号。
help
(可选,布尔值) 如果 true,响应中将包含帮助信息。默认为 false
s
(可选, 字符串) 用于排序响应的列名或列别名的逗号分隔列表。
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选,布尔值) 如果 true,响应中将包含列标题。 默认为 false

示例

edit
GET _cat/ml/trained_models?h=c,o,l,ct,v&v=ture
id                           created_by operations license  create_time              version
ddddd-1580216177138              _xpack 196        PLATINUM 2020-01-28T12:56:17.138Z 8.0.0
flight-regress-1580215685537     _xpack 102        PLATINUM 2020-01-28T12:48:05.537Z 8.0.0
lang_ident_model_1               _xpack 39629      BASIC    2019-12-05T12:28:34.594Z 7.6.0

cat transforms API

edit

cat API 仅适用于通过命令行或 Kibana 控制台进行人工使用。它们适用于应用程序使用。对于应用程序使用,请使用 获取转换 API

返回关于转换的配置和使用信息。

请求

edit

GET /_cat/transforms/

GET /_cat/transforms/_all

GET /_cat/transforms/*

GET /_cat/transforms

先决条件

edit
  • 如果启用了Elasticsearch安全功能,您必须拥有monitor_transform集群权限才能使用此API。内置的transform_user角色具有这些权限。有关更多信息,请参阅安全权限内置角色

路径参数

edit
<transform_id>
(可选,字符串) 转换的标识符。它可以是一个转换标识符或通配符表达式。如果你不指定这些选项中的一个,API将返回所有转换的信息。

查询参数

edit
allow_no_match

(可选, 布尔值) 指定在请求时执行的操作:

  • 包含通配符表达式且没有匹配的转换。
  • 包含 _all 字符串或没有标识符且没有匹配项。
  • 包含通配符表达式且只有部分匹配。

默认值为 true,在没有匹配项时返回一个空的 transforms 数组,在有部分匹配时返回部分结果。

如果此参数为false,当没有匹配项或只有部分匹配时,请求将返回404状态码。

format
(可选, 字符串) HTTP accept header 的简短版本。 有效值包括 JSON, YAML 等。
from
(可选,整数) 跳过指定数量的转换。默认值是 0
h

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

如果不指定要包含的列,API将返回默认列。如果明确指定一个或多个列,它将仅返回指定的列。

有效的列包括:

changes_last_detection_time, cldt
(默认) 源索引中最后一次检测到更改的时间戳。
checkpoint, cp
(默认) 检查点的序列号。
checkpoint_duration_time_exp_avg, cdtea, checkpointTimeExpAvg
检查点持续时间的指数移动平均值,以毫秒为单位。
checkpoint_progress, c, checkpointProgress
(默认) 当前正在进行的下一个检查点的进度。
create_time, ct, createTime
转换创建的时间。
delete_time, dtime
删除所花费的时间,以毫秒为单位。
description, d
转换的描述。
dest_index, di, destIndex
转换的目标索引

pivot 转换的情况下,目标索引的映射会尽可能基于源字段推导出来。如果需要其他映射,请在使用转换之前使用 Create index API

latest 转换的情况下,映射永远不会被推断。如果目标索引的动态映射不合适,请在使用转换之前使用 Create index API

documents_deleted, docd
由于此转换的保留策略,已从目标索引中删除的文档数量。
documents_indexed, doci
已索引到转换目标索引中的文档数量。
docs_per_second, dps
指定每秒输入文档的数量限制。此设置通过在搜索请求之间添加等待时间来限制转换。默认值为null,表示禁用限制。
documents_processed, docp
(默认) 从转换的源索引中已处理的文档数量。
frequency, f
当转换以连续模式运行时,检查源索引中更改的时间间隔。最小值为1s,最大值为1h。默认值为1m
id
(默认) 转换的标识符。
index_failure, if
索引失败的数量。
index_time, itime
索引所花费的时间,以毫秒为单位。
index_total, it
索引操作的数量。
indexed_documents_exp_avg, idea
指数移动平均值,表示新索引的文档数量。
last_search_time, lst, lastSearchTime
(默认) 源索引中最后一次搜索的时间戳。仅当转换正在运行时,才会显示此字段。
max_page_search_size, mpsz
定义每个检查点用于复合聚合的初始页面大小。如果发生断路器异常,页面大小会动态调整为较低的值。最小值为10,最大值为65,536。默认值为500
pages_processed, pp
处理的搜索或批量索引操作的数量。文档是按批次而不是逐个处理的。
pipeline, p
用于标识摄取管道的唯一标识符。
processed_documents_exp_avg, pdea
已处理文档数量的指数移动平均值。
processing_time, pt
处理结果所花费的时间,以毫秒为单位。
reason, r
如果一个转换处于失败状态,此属性提供了关于失败原因的详细信息。
search_failure, sf
搜索失败的数量。
search_time, stime
搜索所花费的时间,以毫秒为单位。
search_total, st
源索引上转换的搜索操作次数。
source_index, si, sourceIndex

(默认) 转换的源索引。它可以是单个索引、索引模式(例如,"my-index-*")、索引数组(例如, ["my-index-000001", "my-index-000002"]),或索引模式数组(例如, ["my-index-*", "my-other-index-*"])。对于远程索引,使用语法 "remote_name:index_name"

如果任何索引位于远程集群中,则主节点和至少一个转换节点必须具有remote_cluster_client节点角色。

state, s

(默认) 转换的状态,可以是以下值之一:

  • aborting: 转换正在中止。
  • failed: 转换失败。有关失败的更多信息,请检查原因字段。
  • indexing: 转换正在积极处理数据并创建新文档。
  • started: 转换正在运行但未积极索引数据。
  • stopped: 转换已停止。
  • stopping: 转换正在停止。
transform_type, tt
指示转换的类型:批处理连续
trigger_count, tc
调度程序触发转换的次数。例如,调度程序会根据 frequency 属性 中指定的时间间隔触发转换索引器检查更新或摄取新数据。
version, v

创建转换时节点上存在的 Elasticsearch 版本。

help
(可选, 布尔值) 如果为 true,响应将包含帮助信息。默认为 false
s
(可选, 字符串) 逗号分隔的列名或列别名列表,用于对响应进行排序。
size
(可选, 整数) 指定要获取的最大转换数量。默认值为 100
time
(可选, 时间单位) 用于显示时间值的单位。
v
(可选, 布尔值) 如果为 true,响应将包含列标题。默认为 false

示例

edit
GET /_cat/transforms?v=true&format=json
[
  {
    "id" : "ecommerce_transform",
    "state" : "started",
    "checkpoint" : "1",
    "documents_processed" : "705",
    "checkpoint_progress" : "100.00",
    "changes_last_detection_time" : null
  }
]