使用 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 追加器配置为以 ECS JSON 格式生成日志。这是唯一包含开箱即用 日志关联 所需元信息的格式。

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