使用 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 用户界面 调试您的应用程序。要在不设置其他工具的情况下快速调试某些内容,您可以使用 纯 Kibana 日志。
APM 用户界面编辑
先决条件 Kibana 日志配置为采用 ECS JSON 格式,以包含跟踪标识符。
要使用 APM 用户界面调试 Kibana,您必须设置 APM 基础架构。您可以在 可观察性集成页面 上找到有关设置过程的说明。
设置 APM 基础架构后,您可以启用 APM 代理并使 Kibana 处于负载状态以收集 APM 事件。要分析收集的指标和日志,请使用 APM 用户界面,如 文档 中所示。
纯 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 端点,等等。