获取异步 EQL 状态 API
编辑获取异步 EQL 状态 API编辑
返回 异步 EQL 搜索 或 存储的同步 EQL 搜索 的当前状态,但不返回结果。这比 获取异步 EQL 搜索 API 更轻量级,因为它不返回搜索结果,只报告状态。
如果启用了 Elasticsearch 安全功能,则对获取异步 eql 状态 API 的访问权限仅限于 monitoring_user 角色。
response = client.eql.get_status( id: 'FkpMRkJGS1gzVDRlM3g4ZzMyRGlLbkEaTXlJZHdNT09TU2VTZVBoNDM3cFZMUToxMDM=' ) puts response
GET /_eql/search/status/FkpMRkJGS1gzVDRlM3g4ZzMyRGlLbkEaTXlJZHdNT09TU2VTZVBoNDM3cFZMUToxMDM=
请求编辑
GET /_eql/search/status/<search_id>
路径参数编辑
-
<search_id>
-
(必填,字符串)搜索的标识符。
EQL 搜索 API 的响应中为 异步搜索 提供了搜索 ID。如果请求的
keep_on_completion
参数为true
,也会提供搜索 ID。
响应正文编辑
-
id
- (字符串)搜索的标识符。
-
is_running
- (布尔值)如果为
true
,则搜索请求仍在执行。如果为false
,则搜索已完成。 -
is_partial
- (布尔值)如果为
true
,则响应不包含完整的搜索结果。这可能是因为搜索仍在运行(is_running
状态为false
),或者因为它已经完成(is_running
状态为true
),但由于失败或超时导致结果不完整。 -
start_time_in_millis
- (长整型)对于正在运行的搜索,显示 eql 搜索开始的时间戳,以自 Unix 纪元以来的毫秒数表示。
-
expiration_time_in_millis
- (长整型)显示 eql 搜索过期的時間戳,以自 Unix 纪元以来的毫秒数表示。达到此时间后,即使搜索仍在进行中,搜索及其结果也会被删除。
-
completion_status
- (整数)对于已完成的搜索,显示已完成搜索的 http 状态代码。
示例编辑
response = client.eql.get_status( id: 'FmNJRUZ1YWZCU3dHY1BIOUhaenVSRkEaaXFlZ3h4c1RTWFNocDdnY2FSaERnUTozNDE=', keep_alive: '5d' ) puts response
GET /_eql/search/status/FmNJRUZ1YWZCU3dHY1BIOUhaenVSRkEaaXFlZ3h4c1RTWFNocDdnY2FSaERnUTozNDE=?keep_alive=5d
如果搜索仍在运行,则状态响应具有以下形式
{ "id" : "FmNJRUZ1YWZCU3dHY1BIOUhaenVSRkEaaXFlZ3h4c1RTWFNocDdnY2FSaERnUTozNDE=", "is_running" : true, "is_partial" : true, "start_time_in_millis" : 1611690235000, "expiration_time_in_millis" : 1611690295000 }
如果搜索已完成,则状态响应没有 start_time_in_millis
,但有一个额外的 completion_status
字段,显示已完成的 eql 搜索的状态代码