使用 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]

Kibana 的 file appender 被配置为以 ECS JSON 格式生成日志。这是唯一包含 日志关联 所需元信息的格式。

下一步是定义可用的 可观测性工具。为了获得更好的体验,请设置由 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 端点等等。