APM 应用 API
编辑APM 应用 API编辑
一些 APM 应用功能通过 REST API 提供
使用 API编辑
使用 cURL 或其他 API 工具与 APM API 交互。所有 APM API 都是 Kibana API,而不是 Elasticsearch API;因此,无法使用 Kibana 开发工具控制台与 APM API 交互。
对于所有 APM API,您必须使用请求头。支持的标头是 Authorization
、kbn-xsrf
和 Content-Type
。
-
Authorization: ApiKey {credentials}
-
Kibana 支持使用 Elasticsearch API 密钥服务进行基于令牌的身份验证。通过 Elasticsearch 创建 API 密钥 API 返回的 API 密钥可以通过发送带有
Authorization
标头的请求来使用,该标头的值为ApiKey
后跟{credentials}
,其中{credentials}
是id
和api_key
用冒号连接后的 base64 编码。或者,您可以创建一个用户并使用其用户名和密码来验证 API 访问:
-u $USER:$PASSWORD
。无论使用
Authorization: ApiKey {credentials}
还是-u $USER:$PASSWORD
,与 APM API 交互的用户必须具有 足够的权限。 -
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
标头。
以下是一个将注释添加到 APM 应用的 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 的某些方面。