APM UI API

编辑

一些应用程序 UI 功能通过 REST API 提供

使用 API
编辑

使用 cURL 或其他 API 工具与 APM API 进行交互。所有 APM API 都是 Kibana API,而不是 Elasticsearch API;因此,Kibana 开发工具控制台不能用于与 APM API 进行交互。

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

Authorization: ApiKey {credentials}

Kibana 支持使用 Elasticsearch API 密钥服务的基于令牌的身份验证。通过 Elasticsearch 创建 API 密钥 API 返回的 API 密钥可以通过发送带有 Authorization 标头的请求来使用,该标头的值为 ApiKey,后跟 {credentials},其中 {credentials}idapi_key 用冒号连接的 base64 编码。

或者,您可以创建一个用户并使用其用户名和密码来验证 API 访问:-u $USER:$PASSWORD

无论是使用 Authorization: ApiKey {credentials} 还是 -u $USER:$PASSWORD,与 APM API 交互的用户都必须具有足够的权限

kbn-xsrf: true

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

  • API 端点使用 GETHEAD 操作
  • 路径使用 server.xsrf.allowlist 设置允许
  • 使用 server.xsrf.disableProtection 设置禁用 XSRF 保护
Content-Type: application/json
仅当您在 API 请求中发送有效负载时适用。Kibana API 请求和响应使用 JSON。通常,如果您包含 kbn-xsrf 标头,则还必须包含 Content-Type 标头。

这是一个将注解添加到应用程序 UI 的 CURL 请求示例

curl -X POST \
  https://127.0.0.1:5601/api/apm/services/opbeans-java/annotation \
-H 'Content-Type: application/json' \
-H 'kbn-xsrf: true' \
-H 'Authorization: Basic YhUlubWZhM0FDbnlQeE6WRtaW49FQmSGZ4RUWXdX' \
-d '{
      "@timestamp": "2020-05-11T10:31:30.452Z",
      "service": {
        "version": "1.2"
      },
      "message": "Revert upgrade",
      "tags": [
        "elastic.co", "customer"
      ]
    }'
Kibana API
编辑

除了 APM 特定的 API 端点之外,Kibana 还提供了自己的REST API,您可以使用它来自动化配置和部署 Kibana 的某些方面。