使用跨组件跟踪来对应用程序进行故障诊断

您可以使用 "跨组件跟踪" (XCT) 来帮助诊断 WebSphere® Application Server中的问题。

有关此任务

使用 WebSphere Application Server 的管理员需要使用日志和跟踪文件来确定其应用程序和服务器是否正确运行。

根据您的应用程序的性质,应用程序服务器中可能有多个线程用于处理请求,如 HTTP 请求或 JMS 请求。 某些请求可能由一个以上的应用程序服务器处理,例如,当某个应用程序服务器向另一个应用程序服务器发出 Web Service 请求时。

可以使用 XCT 通过关联信息来扩充您的日志和跟踪文件。 此关联信息阐明哪些线程以及哪些应用程序服务器进程参与处理每个请求。

过程

  1. 如果还未启用 XCT,请启用。
    1. 登录管理控制台。
    2. 如果使用管理代理程序拓扑,请选择要管理的节点并浏览到该节点。
    3. 从控制台中的导航部分,选择 故障诊断 > 日志和跟踪
    4. 选择要为其启用 XCT 的服务器。
    5. 选择 更改日志详细信息级别
    6. 如果要进行静态配置更改,请选择 配置 选项卡; 如果要对服务器的运行时状态进行更改,请选择 运行时 选项卡。
    7. 选中 启用日志和跟踪关联 复选框。
    8. 选择 将请求标识包括在日志和跟踪记录中,选择 将请求标识包括在日志和跟踪记录以及关联日志记录中,或者选择 将请求标识包括在日志和跟踪记录中,创建关联日志记录并捕获数据快照 (视情况而定)。
    9. 单击确定
    10. 如果在“配置”选项卡上进行了更改,请保存更改并重新启动应用程序服务器。
      最佳实践:
      • 当需要了解在所有线程和应用程序服务器进程中与同一请求相关的记录和跟踪条目时,请让 XCT 在记录和跟踪文件中包括请求标识。 请求标识仅在使用 HPEL 记录和跟踪方式时才会记录,可供使用 logViewer 命令进行查看和用于过滤。
      • 当要记录请求在线程和进程之间的分支情况,并了解有关每个请求的更多信息时,请让 XCT 创建相关日志记录。 让 XCT 创建相关日志记录可能对您的系统性能有显著影响,所以最适合测试和开发环境。
      • 当要存储针对文件系统的整个请求和响应主体时,请让 XCT 捕获数据快照。 让 XCT 捕获数据快照可能对您的系统性能有显著影响,所以最适合测试和开发环境。 XCT 捕获由 SIBus 处理的消息请求和响应的数据快照。
      • $WSXCTCONTEXTID 专用头包含 XCT 上下文标识,用于跨组件关联请求。 要将应用服务器发出的 HTTP 请求与 XCT 上下文关联起来,可将该标头设置为应用服务器入站请求中的 XCT 上下文 ID 值。
      避免麻烦: 捕获数据快照并将其写入 $SERVER_LOG_ROOT/snapdata 目录。 应用程序服务器不会自动从此目录中清除文件。 当启用数据快照捕获时,您将需要定期从此目录中删除文件。 数据快照会存储整个请求和响应内容,并且可以包括敏感信息。 此选项可能不适合在生产环境中使用。
  2. 使用 XCT 请求标识信息来跟踪请求。
    1. 确保您在使用高性能可扩展日志记录 (HPEL) 日志和跟踪方式,因为基本方式日志和跟踪方式不会存储请求标识。 阅读“从基本方式切换至 HPEL 日志和跟踪”主题以了解更多信息。
    2. 如果还未启用 XCT,请启用。
    3. 使用 HPEL LogViewer 命令行工具过滤日志以查找重要信息,如错误或警告。 使用高级格式来输出日志,以便您可以在日志中查看请求标识信息。
      例如,使用如下命令:[Windows]
      logViewer -minLevel WARNING -format advanced
      [AIX HP-UX Solaris][Linux][IBM i]
       logViewer.sh -minLevel WARNING -format advanced
    4. 在找到了您感兴趣的日志条目后,记录与这些条目相关联的请求标识。

    5. 使用 HPEL LogViewer 命令行工具并使用您在上述步骤中记录的请求标识,按请求标识来过滤您的日志,如下所示:[Windows]
      logViewer -includeExtensions requestID=<requestID>
      [AIX HP-UX Solaris][Linux][IBM i]
      logViewer.sh -includeExtensions requestID=<requestID>
      请阅读“LogViewer 命令行工具”主题以了解更多信息。
  3. 使用 XCT 相关日志记录来确定调用链的层次结构。
    1. 如果还未启用 XCT,请启用。 选中在日志和跟踪记录中包括请求标识并创建相关日志记录以确保 XCT 创建相关日志记录。
    2. 如果您在使用 HPEL,请使用 LogViewer 命令行工具将日志转换为文本。
      例如,使用如下命令:[Windows]
      logViewer -outLog myLog.txt
      [AIX HP-UX Solaris][Linux][IBM i]
      logViewer.sh -outLog myLog.txt
      请阅读“LogViewer 命令行工具”主题以了解更多信息。
    3. 使用随 IBM Support Assistant 提供的 IBM® WebSphere Cross Component Trace Logviewer 工具,从处理请求所涉及的所有应用程序服务器装入日志和跟踪文件,并查看请求调用链的层次结构。 有关更多信息,请参阅 "使用 IBM Support Assistant " 主题。

结果

服务器现在已配置为使用 XCT。