REST API
编辑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-xsrf
和 Content-Type
标头。
-
kbn-xsrf: true
-
默认情况下,您必须对所有 API 调用使用
kbn-xsrf
,但以下情况除外- API 端点使用
GET
或HEAD
操作 - 使用
server.xsrf.allowlist
设置允许该路径 - 使用
server.xsrf.disableProtection
设置禁用了 XSRF 保护
- API 端点使用
-
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": [] } '