REST API

编辑

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

对内部 Kibana API 端点的访问将在 9.0 中受到限制。请将所有集成迁移到公开文档化的 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": []
}
'