REST API

编辑

某些 Kibana 功能通过 REST API 提供,这非常适合创建与 Kibana 的集成或自动化 Kibana 配置和部署的某些方面。

在 9.0 中,将限制对 Kibana 内部 API 端点的访问。请将所有集成迁移到公开记录的 API。

有关最新详细信息,请参阅 Kibana API

使用 API

编辑

在任何 Kibana API 端点之前添加 kbn: 并通过 开发工具 > 控制台 发送请求。例如

`GET kbn:/api/index_management/indices`

注意:如果从非默认 Kibana 空间运行,这将自动在 API 请求上添加前缀 s/{space_id}/

身份验证

编辑

Kibana API 支持基于密钥和令牌的身份验证。

基于令牌的身份验证

编辑

要使用基于令牌的身份验证,您需要使用与登录 Elastic 时相同的用户名和密码。在给定的 HTTP 工具中,并在可用时,您可以选择使用其基本身份验证选项,用户名和密码存储在其中以便作为调用的一部分传递。

基于密钥的身份验证

编辑

要使用基于密钥的身份验证,您需要使用 Elastic 控制台创建 API 密钥,然后在 API 调用的标头中指定该密钥。

有关 API 密钥的信息,请参阅 API 密钥

API 调用

编辑

API 调用是无状态的。您发出的每个请求都与其他调用隔离,并且必须包含 Kibana 满足请求所需的所有信息。API 请求返回 JSON 输出,这是一种机器可读的格式,非常适合自动化。

对 API 端点的调用需要不同的操作。要与 Kibana API 交互,请使用以下操作

  • GET - 获取信息。
  • POST - 添加新信息。
  • PUT - 更新现有信息。
  • PATCH - 对现有信息应用部分修改。
  • DELETE - 删除信息。

请求头

编辑

对于所有 API,您必须使用请求头。Kibana API 支持 kbn-xsrfContent-Type 标头。

kbn-xsrf: true

默认情况下,您必须对所有 API 调用使用 kbn-xsrf,以下情况除外

Content-Type: application/json
仅在您在 API 请求中发送有效负载时适用。Kibana API 请求和响应使用 JSON。通常,如果您包含 kbn-xsrf 标头,则还必须包含 Content-Type 标头。

请求头示例

curl -X POST \
  https://127.0.0.1:5601/api/spaces/space \
  -H 'Content-Type: application/json' \
  -H 'kbn-xsrf: true' \
  -d '{
	"id": "sales",
	"name": "Sales",
	"description": "This is your Sales Space!",
	"disabledFeatures": []
}
'