REST API编辑

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

使用 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": []
}
'