查找规则 API编辑

根据条件检索分页的规则集。

有关最新 API 详细信息,请参阅 开放 API 规范

请求编辑

GET <kibana 主机>:<端口>/api/alerting/rules/_find

GET <kibana 主机>:<端口>/s/<空间 ID>/api/alerting/rules/_find

先决条件编辑

您必须对相应的 Kibana 功能具有 read 权限,具体取决于您要查找的规则的 consumerrule_type_id。例如,管理 > 堆栈规则 功能、分析 > 发现机器学习 功能、可观察性安全 功能。要查找与 堆栈监控 功能关联的规则,请使用 monitoring_user 内置角色。

有关更多详细信息,请参阅 功能权限

描述编辑

随着 Kibana 中规则的变化,响应中每个页面上的结果也会发生变化。使用查找 API 获取传统的分页结果,但避免使用它来导出大量数据。

规则 params 存储为 扁平化字段类型 并作为关键字进行分析。

路径参数编辑

space_id
(可选,字符串) 空间的标识符。如果 URL 中未提供 space_id,则使用默认空间。

查询参数编辑

default_search_operator
(可选,字符串) 用于 simple_query_string 的运算符。默认值为 OR
fields
(可选,字符串数组) 要在响应的 attributes 键中返回的字段。
filter
(可选,字符串) 您使用保存对象的属性进行过滤的 KQL 字符串。它应该类似于 savedObjectType.attributes.title: "myTitle"。但是,如果您使用保存对象的直接属性,例如 updatedAt,则您需要定义您的过滤器,例如 savedObjectType.updatedAt > 2018-12-22
has_reference
(可选,对象) 过滤与具有特定“类型”和“ID”的参考对象相关的规则。
page
(可选,数字) 页码。
per_page
(可选,数字) 每页返回的规则数量。
search
(可选,字符串) Elasticsearch simple_query_string 查询,用于过滤响应中的规则。
search_fields
(可选,数组或字符串) 要执行 simple_query_string 解析查询的字段。
sort_field
(可选,字符串) 对响应进行排序。可以是响应的 attributes 键中返回的规则字段。
sort_order
(可选,字符串) 排序方向,可以是 ascdesc

响应代码编辑

200
表示成功调用。

示例编辑

查找名称以 my 开头的规则

GET api/alerting/rules/_find?search_fields=name&search=my*

API 返回以下内容

{
  "page": 1,
  "total": 1,
  "per_page": 10,
  "data": [{
    "id": "b530fed0-74f5-11ed-9801-35303b735aef",
    "name": "cluster_health_rule",
    "consumer": "alerts",
    "enabled": true,
    "tags": ["cluster","health"],
    "throttle": null,
    "schedule": {"interval":"1m"},
    "params": {},
    "rule_type_id": "monitoring_alert_cluster_health",
    "created_by": "elastic",
    "updated_by": "elastic",
    "created_at": "2022-12-05T23:36:58.284Z",
    "updated_at": "2022-12-05T23:36:58.284Z",
    "api_key_owner": "elastic",
    "notify_when": "onActiveAlert",
    "mute_all": false,
    "muted_alert_ids": [],
    "scheduled_task_id": "b530fed0-74f5-11ed-9801-35303b735aef",
    "execution_status": {
      "status": "ok",
      "last_execution_date": "2022-12-06T00:09:31.882Z",
      "last_duration": 42
    },
    "actions": [{
      "group": "default",
      "id": "9dca3e00-74f5-11ed-9801-35303b735aef",
      "params": {
        "level": "info",
        "message": "{{context.internalFullMessage}}"
      },
      "connector_type_id": ".server-log"
    }],
    "last_run":{
      "alerts_count": {"new": 0,"ignored": 0,"recovered": 0,"active": 0},
      "outcome_msg": null,
      "warning": null,
      "outcome": "succeeded"
    },
    "next_run": "2022-12-06T00:10:31.811Z"
  }]
}

对于接受多个值的参数(例如 fields),请为每个值重复查询参数

GET api/alerting/rules/_find?fields=id&fields=name