使用 Kibana 服务器日志
编辑使用 Kibana 服务器日志
编辑Kibana 日志是查看应用程序中发生的事情以及调试性能问题的好方法。浏览大量生成的日志可能会让人不知所措,以下是一些您可以用来优化此过程的技术。
首先定义您感兴趣的问题区域。例如,您可能对特定 Kibana 插件的性能感兴趣,因此无需收集所有 Kibana 的日志。或者,您可能希望专注于特定功能,例如从 Kibana 服务器到 Elasticsearch 服务器的请求。根据您的需要,您可以配置 Kibana 为特定功能生成日志。
logging: appenders: file: type: file fileName: ./kibana.log layout: type: json ### gather all the Kibana logs into a file logging.root: appenders: [file] level: all ### or gather a subset of the logs logging.loggers: ### responses to an HTTP request - name: http.server.response level: debug appenders: [file] ### result of a query to the Elasticsearch server - name: elasticsearch.query level: debug appenders: [file] ### logs generated by my plugin - name: plugins.myPlugin level: debug appenders: [file]
下一步是定义可用的 可观测性工具。为了获得更好的体验,请设置由 Elastic 提供的 可观测性集成,以使用 APM UI 调试您的应用程序。要快速调试某些内容而无需设置其他工具,您可以使用 纯 Kibana 日志。
APM UI
编辑先决条件 Kibana 日志配置为使用 ECS JSON 格式,以包含跟踪标识符。
要使用 APM UI 调试 Kibana,您必须设置 APM 基础设施。您可以在 可观测性集成页面 上找到有关设置过程的说明。
设置好 APM 基础设施后,您可以启用 APM 代理并使 Kibana 处于负载状态以收集 APM 事件。要分析收集到的指标和日志,请使用 文档 中演示的 APM UI。
纯 Kibana 日志
编辑先决条件 Kibana 日志配置为使用 ECS JSON 格式,以包含跟踪标识符。
打开 Kibana 日志并搜索您感兴趣的操作。例如,假设您想调查对 /internal/telemetry/clusters/_stats
Kibana 端点的查询的响应时间。打开 Kibana 日志并搜索该端点的 HTTP 服务器响应。它看起来类似于以下内容(为了简洁起见,省略了一些字段)。
{ "message":"POST /internal/telemetry/clusters/_stats 200 1014ms - 43.2KB", "log":{"level":"DEBUG","logger":"http.server.response"}, "trace":{"id":"9b99131a6f66587971ef085ef97dfd07"}, "transaction":{"id":"d0c5bbf14f5febca"} }
您对 trace.id 字段感兴趣,它是跟踪的唯一标识符。trace.id
提供了一种将多个事件(如事务)分组在一起的方法。您可以搜索 "trace":{"id":"9b99131a6f66587971ef085ef97dfd07"}
以获取属于同一跟踪的所有日志。这使您能够查看在 9b99131a6f66587971ef085ef97dfd07
跟踪期间触发了多少 Elasticsearch 请求,它们是什么样的,命中了哪些 Elasticsearch 端点等等。