已弃用的 7.x API编辑

这些 API 已弃用,并将在未来的版本中删除。

旧版创建警报 API编辑

在 7.13.0 中已弃用。

请改用 创建规则

创建 Kibana 警报。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>

POST <kibana 主机>:<端口>/s/<空间 ID>/api/alerts/alert/<id>

路径参数编辑

<id>
(可选,字符串)指定要使用的 UUID v1 或 v4,而不是随机生成的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

请求正文编辑

名称
(必填,字符串)用于引用和搜索的名称。
标签
(可选,字符串数组)用于引用和搜索的关键字列表。
警报类型 ID
(必填,字符串)要在警报计划运行时调用的警报类型的 ID。
计划

(必填,对象)指定此警报应何时运行的计划,使用“计划格式”下列出的可用计划格式之一

计划格式.

计划的结构应使键指定您要使用的格式,其值指定计划。

我们目前支持*间隔格式*,它指定警报应执行的间隔(以秒、分钟、小时或天为单位)。示例:{ interval: "10s" }{ interval: "5m" }{ interval: "1h" }{ interval: "1d" }

我们计划在不久的将来支持多种其他计划格式。

限制
(可选,字符串)此警报应多久触发一次相同的操作。这将防止警报反复发送相同的通知。例如,如果计划为 1 分钟的警报在触发状态下保持 90 分钟,则将 限制 设置为 10m1h 将阻止它在此期间发送 90 条通知。
通知时间
(必填,字符串)限制通知的条件:onActionGroupChangeonActiveAlertonThrottleInterval
已启用
(可选,布尔值)指示您是否希望在创建警报后定期运行警报。
使用者
(必填,字符串)拥有警报的应用程序的名称。此名称必须与 Kibana 功能名称匹配,因为这决定了所需的 RBAC 权限。
参数
(必填,对象)要传递给警报类型执行程序 参数 值的参数。如果已定义,这还将根据警报类型参数验证器进行验证。
操作

(可选,对象数组)以下操作对象的数组。

操作对象的属性
(必填,字符串)建议对不同类型的警报实例进行分组操作以进行升级。如果不需要,请将此值设置为 默认值
ID
(必填,字符串)要执行的操作已保存对象的 ID。
操作类型 ID
(必填,字符串)操作类型的 ID。
参数
(必填,对象)操作类型 将接收的 参数 的映射。` 参数` 被视为 Mustache 模板处理,并传递一组默认上下文。

响应代码编辑

200
表示调用成功。

示例编辑

$ curl -X POST api/alerts/alert  -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
  "params":{
      "aggType":"avg",
      "termSize":6,
      "thresholdComparator":">",
      "timeWindowSize":5,
      "timeWindowUnit":"m",
      "groupBy":"top",
      "threshold":[
         1000
      ],
      "index":[
         ".test-index"
      ],
      "timeField":"@timestamp",
      "aggField":"sheet.version",
      "termField":"name.keyword"
   },
   "consumer":"alerts",
   "alertTypeId":".index-threshold",
   "schedule":{
      "interval":"1m"
   },
   "actions":[
      {
         "id":"dceeb5d0-6b41-11eb-802b-85b0c1bc8ba2",
         "actionTypeId":".server-log",
         "group":"threshold met",
         "params":{
            "level":"info",
            "message":"Rule '{{rule.name}}' is active for group '{{context.group}}':\n\n- Value: {{context.value}}\n- Conditions Met: {{context.conditions}} over {{rule.params.timeWindowSize}}{{rule.params.timeWindowUnit}}\n- Timestamp: {{context.date}}"
         }
      }
   ],
   "tags":[
      "cpu"
   ],
   "notifyWhen":"onActionGroupChange",
   "name":"my alert"
}'

API 返回以下内容

{
  "id": "41893910-6bca-11eb-9e0d-85d233e3ee35",
  "notifyWhen": "onActionGroupChange",
  "params": {
    "aggType": "avg",
    "termSize": 6,
    "thresholdComparator": ">",
    "timeWindowSize": 5,
    "timeWindowUnit": "m",
    "groupBy": "top",
    "threshold": [
      1000
    ],
    "index": [
      ".kibana"
    ],
    "timeField": "@timestamp",
    "aggField": "sheet.version",
    "termField": "name.keyword"
  },
  "consumer": "alerts",
  "alertTypeId": ".index-threshold",
  "schedule": {
    "interval": "1m"
  },
  "actions": [
    {
      "actionTypeId": ".server-log",
      "group": "threshold met",
      "params": {
        "level": "info",
        "message": "Rule {{rule.name}} is active for group {{context.group}}:\n\n- Value: {{context.value}}\n- Conditions Met: {{context.conditions}} over {{rule.params.timeWindowSize}}{{rule.params.timeWindowUnit}}\n- Timestamp: {{context.date}}"
      },
      "id": "dceeb5d0-6b41-11eb-802b-85b0c1bc8ba2"
    }
  ],
  "tags": [
    "cpu"
  ],
  "name": "my alert",
  "enabled": true,
  "throttle": null,
  "apiKeyOwner": "elastic",
  "createdBy": "elastic",
  "updatedBy": "elastic",
  "muteAll": false,
  "mutedInstanceIds": [],
  "updatedAt": "2021-02-10T18:03:19.961Z",
  "createdAt": "2021-02-10T18:03:19.961Z",
  "scheduledTaskId": "425b0800-6bca-11eb-9e0d-85d233e3ee35",
  "executionStatus": {
    "lastExecutionDate": "2021-02-10T18:03:19.966Z",
    "status": "pending"
  }
}

旧版删除警报 API编辑

在 7.13.0 中已弃用。

请改用 删除规则

永久删除警报。

删除警报后,您将无法恢复它。

请求编辑

DELETE <kibana 主机>:<端口>/api/alerts/alert/<id>

DELETE <kibana 主机>:<端口>/s/<空间 ID>/api/alerts/alert/<id>

路径参数编辑

ID
(必填,字符串)要删除的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

删除 ID 为 的警报

$ curl -X DELETE api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35

旧版禁用警报 API编辑

在 7.13.0 中已弃用。

请改用 禁用规则

禁用警报。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/_disable

POST <kibana 主机>:<端口>/s/<空间 ID>/api/alerts/alert/<id>/_disable

路径参数编辑

ID
(必填,字符串)要禁用的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

禁用 ID 为 的警报

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/_disable

旧版启用警报 API编辑

在 7.13.0 中已弃用。

请改用 启用规则

启用警报。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/_enable

POST <kibana 主机>:<端口>/s/<空间 ID>/api/alerts/alert/<id>/_enable

路径参数编辑

ID
(必填,字符串)要启用的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

启用 ID 为 的警报

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/_enable

旧版查找警报 API编辑

在 7.13.0 中已弃用。

请改用 查找规则

根据条件检索分页的警报集。

随着 Kibana 中警报的变化,响应每一页上的结果也会发生变化。将查找 API 用于传统的分页结果,但避免使用它来导出大量数据。

请求编辑

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

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

路径参数编辑

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

查询参数编辑

警报 参数 存储为 扁平化字段类型,并作为关键字进行分析。

每页数量
(可选,数字)每页返回的警报数量。
页码
(可选,数字)页码。
搜索
(可选,字符串)Elasticsearch simple_query_string 查询,用于过滤响应中的警报。
默认搜索运算符
(可选,字符串)用于 simple_query_string 的运算符。默认值为 *OR*。
搜索字段
(可选,数组|字符串)要对其执行 simple_query_string 解析查询的字段。
字段
(可选,数组|字符串)要在响应的 属性 键中返回的字段。
排序字段
(可选,字符串)对响应进行排序。可以是在响应的 属性 键中返回的警报字段。
排序顺序
(可选,字符串)排序方向,可以是 ascdesc
有引用
(可选,对象)过滤与具有特定“类型”和“ID”的引用对象具有关系的警报。
过滤器
(可选,字符串)KQL 字符串,用于使用已保存对象中的属性进行过滤。它应类似于 savedObjectType.attributes.title: "myTitle"。但是,如果您使用了已保存对象的直接属性(例如 updatedAt),则必须定义过滤器,例如 savedObjectType.updatedAt > 2018-12-22。

响应代码编辑

200
表示调用成功。

示例编辑

查找名称以 my 开头的警报

$ curl -X GET api/alerts/_find?search_fields=name&search=my*

API 返回以下内容

{
  "page": 1,
  "perPage": 10,
  "total": 1,
  "data": [
    {
      "id": "0a037d60-6b62-11eb-9e0d-85d233e3ee35",
      "notifyWhen": "onActionGroupChange",
      "params": {
        "aggType": "avg",
      },
      "consumer": "alerts",
      "alertTypeId": "test.alert.type",
      "schedule": {
        "interval": "1m"
      },
      "actions": [],
      "tags": [],
      "name": "test alert",
      "enabled": true,
      "throttle": null,
      "apiKeyOwner": "elastic",
      "createdBy": "elastic",
      "updatedBy": "elastic",
      "muteAll": false,
      "mutedInstanceIds": [],
      "updatedAt": "2021-02-10T05:37:19.086Z",
      "createdAt": "2021-02-10T05:37:19.086Z",
      "scheduledTaskId": "0b092d90-6b62-11eb-9e0d-85d233e3ee35",
      "executionStatus": {
        "lastExecutionDate": "2021-02-10T17:55:14.262Z",
        "status": "ok"
      }
    },
  ]
}

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

$ curl -X GET api/alerts/_find?fields=id&fields=name

旧版获取警报 API编辑

在 7.13.0 中已弃用。

请改用获取规则

按 ID 检索警报。

请求编辑

GET <kibana 主机>:<端口>/api/alerts/alert/<id>

GET <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>

路径形参编辑

ID
(必填,字符串)要检索的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

检索 ID 为 41893910-6bca-11eb-9e0d-85d233e3ee35 的警报对象

$ curl -X GET api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35

API 返回以下内容

{
  "id": "0a037d60-6b62-11eb-9e0d-85d233e3ee35",
  "notifyWhen": "onActionGroupChange",
  "params": {
    "aggType": "avg",
  },
  "consumer": "alerts",
  "alertTypeId": "test.alert.type",
  "schedule": {
    "interval": "1m"
  },
  "actions": [],
  "tags": [],
  "name": "test alert",
  "enabled": true,
  "throttle": null,
  "apiKeyOwner": "elastic",
  "createdBy": "elastic",
  "updatedBy": "elastic",
  "muteAll": false,
  "mutedInstanceIds": [],
  "updatedAt": "2021-02-10T05:37:19.086Z",
  "createdAt": "2021-02-10T05:37:19.086Z",
  "scheduledTaskId": "0b092d90-6b62-11eb-9e0d-85d233e3ee35",
  "executionStatus": {
    "lastExecutionDate": "2021-02-10T17:55:14.262Z",
    "status": "ok"
  }
}

旧版获取警报框架运行状况 API编辑

在 7.13.0 中已弃用。

请改用获取警报框架运行状况

检索警报框架的运行状况。

请求编辑

GET <kibana 主机>:<端口>/api/alerts/_health

GET <kibana 主机>:<端口>/s/<space_id>/api/alerts/_health

路径形参编辑

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

响应代码编辑

200
表示调用成功。

示例编辑

检索警报框架的运行状况

$ curl -X GET api/alerts/_health

API 返回以下内容

{
   "isSufficientlySecure":true,
   "hasPermanentEncryptionKey":true,
   "alertingFrameworkHealth":{
      "decryptionHealth":{
         "status":"ok",
         "timestamp":"2021-02-10T23:35:04.949Z"
      },
      "executionHealth":{
         "status":"ok",
         "timestamp":"2021-02-10T23:35:04.949Z"
      },
      "readHealth":{
         "status":"ok",
         "timestamp":"2021-02-10T23:35:04.949Z"
      }
   }
}

运行状况 API 响应包含以下属性

isSufficientlySecure

如果启用了安全功能,但未启用 TLS,则返回 false

hasPermanentEncryptionKey

如果加密的已保存对象插件没有永久加密密钥,则返回状态 false

alertingFrameworkHealth

此状态属性具有三个子状态,用于标识警报框架 API 的运行状况:decryptionHealthexecutionHealthreadHealth

alertingFrameworkHealth 包含以下属性

decryptionHealth

返回警报解密的时间戳和状态:okwarnerror

executionHealth

返回警报执行的时间戳和状态:okwarnerror

readHealth

返回警报读取事件的时间戳和状态:okwarnerror

旧版列出警报类型 API编辑

在 7.13.0 中已弃用。

请改用获取规则类型

检索所有警报类型的列表。

请求编辑

GET <kibana 主机>:<端口>/api/alerts/list_alert_types

GET <kibana 主机>:<端口>/s/<space_id>/api/alerts/list_alert_types

路径形参编辑

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

响应代码编辑

200
表示调用成功。

示例编辑

$ curl -X GET api/alerts/list_alert_types

API 返回以下内容

[
   {
      "id":".index-threshold",
      "name":"Index threshold",
      "actionGroups":[
         {
            "id":"threshold met",
            "name":"Threshold met"
         },
         {
            "id":"recovered",
            "name":"Recovered"
         }
      ],
      "recoveryActionGroup":{
         "id":"recovered",
         "name":"Recovered"
      },
      "defaultActionGroupId":"threshold met",
      "actionVariables":{
         "context":[
            {
               "name":"message",
               "description":"A pre-constructed message for the alert."
            },
         ],
         "state":[],
         "params":[
            {
               "name":"threshold",
               "description":"An array of values to use as the threshold; 'between' and 'notBetween' require two values, the others require one."
            },
            {
               "name":"index",
               "description":"index"
            },
         ]
      },
      "producer":"stackAlerts",
      "minimumLicenseRequired":"basic",
      "isExportable":true,
      "enabledInLicense":true,
      "authorizedConsumers":{
         "alerts":{
            "read":true,
            "all":true
         },
         "stackAlerts":{
            "read":true,
            "all":true
         },
         "uptime":{
            "read":true,
            "all":true
         }
      }
   }
]

每个警报类型都包含以下属性

名称

警报类型的描述性名称。

ID

警报类型的唯一 ID。

minimumLicenseRequired

使用该警报类型所需的许可证。

isExportable

是否可以通过“已保存对象管理”UI 导出规则类型。

enabledInLicense

根据许可证启用还是禁用警报类型。

actionGroups

警报类型可以为其安排操作的组的显式列表,每个组都包含操作组的唯一 ID 和易于理解的名称。警报 操作 验证将使用此配置来确保组有效。注册警报类型时,请使用 kbn-i18n 翻译操作组的名称。

recoveryActionGroup

当警报实例从活动状态变为非活动状态时要使用的操作组。请勿在 actionGroups 属性下列出此操作组。如果未指定 recoveryActionGroup,则使用默认的 recovered 操作组。

defaultActionGroupId

警报类型组的默认 ID。

actionVariables

警报类型通过操作形参模板中的上下文和状态提供的操作变量的显式列表,以及简短的易于理解的描述。“警报”UI 将使用此信息在操作形参编辑器中提示用户输入这些变量。请使用 kbn-i18n 翻译描述。

producer

生成此警报类型的应用程序的 ID。

authorizedConsumers

有权访问该警报类型的插件 ID 列表。

旧版静音警报实例 API编辑

在 7.13.0 中已弃用。

请改用静音警报

静音警报实例。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/alert_instance/<alert_instance_id>/_mute

POST <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>/alert_instance/<alert_instance_id>/_mute

路径形参编辑

ID
(必填,字符串)要静音其实例的警报的 ID。
alert_instance_id
(必填,字符串)要静音的警报实例的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

静音 ID 为 的警报实例

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/alert_instance/dceeb5d0-6b41-11eb-802b-85b0c1bc8ba2/_mute

旧版静音所有警报实例 API编辑

在 7.13.0 中已弃用。

请改用静音所有警报

静音所有警报实例。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/_mute_all

POST <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>/_mute_all

路径形参编辑

ID
(必填,字符串)要静音其实例的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

静音 ID 为 的所有警报实例

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/_mute_all

旧版取消静音警报实例 API编辑

在 7.13.0 中已弃用。

请改用取消静音警报

取消静音警报实例。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/alert_instance/<alert_instance_id>/_unmute

POST <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>/alert_instance/<alert_instance_id>/_unmute

路径形参编辑

ID
(必填,字符串)要取消静音其实例的警报的 ID。
alert_instance_id
(必填,字符串)要取消静音的警报实例的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

取消静音 ID 为 的警报实例

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/alert_instance/dceeb5d0-6b41-11eb-802b-85b0c1bc8ba2/_unmute

旧版取消静音所有警报实例 API编辑

在 7.13.0 中已弃用。

请改用取消静音所有警报

取消静音所有警报实例。

请求编辑

POST <kibana 主机>:<端口>/api/alerts/alert/<id>/_unmute_all

POST <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>/_unmute_all

路径形参编辑

ID
(必填,字符串)要取消静音其实例的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

响应代码编辑

200
表示调用成功。

示例编辑

取消静音 ID 为 的所有警报实例

$ curl -X POST api/alerts/alert/41893910-6bca-11eb-9e0d-85d233e3ee35/_unmute_all

旧版更新警报 API编辑

在 7.13.0 中已弃用。

请改用更新规则

更新现有警报的属性。

请求编辑

PUT <kibana 主机>:<端口>/api/alerts/alert/<id>

PUT <kibana 主机>:<端口>/s/<space_id>/api/alerts/alert/<id>

路径参数编辑

ID
(必填,字符串)要更新的警报的 ID。
空间 ID
(可选,字符串)空间的标识符。如果未在 URL 中提供 空间 ID,则使用默认空间。

请求正文编辑

名称
(必填,字符串)用于引用和搜索的名称。
标签
(可选,字符串数组)用于引用和搜索的关键字列表。
计划

(必填,对象)何时运行此警报。使用一种可用的计划格式。

计划格式.

计划使用键值对格式。Kibana 当前支持*间隔格式*,它指定执行警报的间隔(以秒、分钟、小时或天为单位)。

示例:{ interval: "10s" }{ interval: "5m" }{ interval: "1h" }{ interval: "1d" }

限制
(可选,字符串)此警报应多久触发一次相同的操作。这将防止警报反复发送相同的通知。例如,如果计划为 1 分钟的警报在触发状态下保持 90 分钟,则将 限制 设置为 10m1h 将阻止它在此期间发送 90 条通知。
通知时间
(必填,字符串)限制通知的条件:onActionGroupChangeonActiveAlertonThrottleInterval
参数
(必填,对象)要传递给警报类型执行程序 参数 值的参数。如果已定义,这还将根据警报类型参数验证器进行验证。
操作

(可选,对象数组)以下操作对象的数组。

操作对象的属性
(必填,字符串)建议对不同类型的警报实例进行分组操作。如果不需要,请将值设置为 default
ID
(必填,字符串)已保存对象执行的操作的 ID。
操作类型 ID
(必填,字符串)操作类型 的 ID。
参数
(必填,对象)操作类型 将接收的 params 的映射。params 被视为 Mustache 模板处理,并传递一组默认上下文。

响应代码编辑

200
表示调用成功。

示例编辑

使用不同的名称更新 ID 为 ac4e6b90-6be7-11eb-ba0d-9b1c1f912d74 的警报

$ curl -X PUT api/alerts/alert/ac4e6b90-6be7-11eb-ba0d-9b1c1f912d74

{
  "notifyWhen": "onActionGroupChange",
  "params": {
    "aggType": "avg",
  },
  "schedule": {
    "interval": "1m"
  },
  "actions": [],
  "tags": [],
  "name": "new name",
  "throttle": null,
}

API 返回以下内容

{
  "id": "ac4e6b90-6be7-11eb-ba0d-9b1c1f912d74",
  "notifyWhen": "onActionGroupChange",
  "params": {
    "aggType": "avg",
  },
  "consumer": "alerts",
  "alertTypeId": "test.alert.type",
  "schedule": {
    "interval": "1m"
  },
  "actions": [],
  "tags": [],
  "name": "new name",
  "enabled": true,
  "throttle": null,
  "apiKeyOwner": "elastic",
  "createdBy": "elastic",
  "updatedBy": "elastic",
  "muteAll": false,
  "mutedInstanceIds": [],
  "updatedAt": "2021-02-10T05:37:19.086Z",
  "createdAt": "2021-02-10T05:37:19.086Z",
  "scheduledTaskId": "0b092d90-6b62-11eb-9e0d-85d233e3ee35",
  "executionStatus": {
    "lastExecutionDate": "2021-02-10T17:55:14.262Z",
    "status": "ok"
  }
}