简介: 遇到问题时,您通常希望首先确定是否有快速解决方案可用,还是需要进行更进一步的协助。免费提供的 Log Analyzer 工具可以帮助您在需要进行此类初始评估时节约大量的故障诊断时间。 本文来自于 IBM WebSphere Developer Technical Journal 。
<!-- <p class="ibm-no-print"> <div id="dw-tag-this" class="ibm-no-print"></div> <div id="interestShow" class="ibm-no-print"></div> </p> -->发布日期: 2009 年 4 月 15 日
级别: 初级
其他语言版本: 英 文
访问情况 1176 次浏览
建议: <!-- Rating_Area_Begin --> <!-- Ensure that div id is based on input id and ends with -widget -->
在每个专栏中,支持权威将讨论 IBM® Technical Support 的可用于 WebSphere® 产品的资源、工具和其他元素,以及一些可以进一步增强您的 IBM 支持体验的技术和新思想。
按照惯例,我们将首先提供关于整个 WebSphere 社区的一些重要新闻:
继续关注与 支持相关的各个网站 以及本专栏,以获得有关我们所碰到的其他工具的新闻。
接下来让我们继续今天主要的主题……
第 1 阶段问题确定(Phase 1 Problem Determination,Phase 1 PD)指的是初步标识、了解并尽力解决软件问题。这是一个类比,人生病了去看普通内科医生,进行第一阶段的诊断;医生将检查病人的体温、血压和外部症状, 但是如果需要更为深入的分析,医生将列出进行进一步检查的实验室服务,或将病人转诊给专家进行诊治。与此类似,Phase 1 PD 将帮助您解决问题,如果不能解决问题,则推荐您使用更为高级的故障诊断工具,甚至推荐通过 IBM 技术支持部门解决问题。
由于其目的是初级诊断,因此 Phase 1 PD 将主要检查日志文件。跟踪和其他诊断(如堆或线程转储)可以提供宝贵的数据,但在运行期间通过这些方法收集开销将很大,或者可能仅在重现软件故障时才能使 用。(如何收集和分析这些诊断数据不在 Phase 1 PD 讨论范围之列。)
IBM 当前提供了 Log Analyzer 工具来帮助进行第 1 阶段问题确定。此工具以 IBM Support Assistant 插件的形式提供。
Log Analyzer 是 IBM Tivoli® Autonomic Computing 组织开发的免费工具。它能处理 200 多种不同 IBM 产品的日志文件,允许对这些产品的日志条目进行排序、筛选、相关和分析操作。例如,通过使用此工具,可以方便地同时查看不同的 IBM WebSphere Application Server 实例、IBM HTTP Server 实例、DB2® 应用程序和其他产品的日志文件中的情况。
通过与 IBM Support Assistant 结合使用,Log Analyzer 甚至更为强大。Log Analyzer 能识别案例,即能够查看在 Support Assistant 案例管理器中收集的日志文件。而且,它还能利用 leverage IBM Support Assistant 代理技术来从远程系统收集日志文件,可以很方便地收集和分析来自生产系统的日志。有关收集日志的更多信息,请参见 Support Authority 专栏使 用 IBM Support Assistant 收集诊断信息 。
本文剩下的部分将描述一个可以通过使用 Phase 1 PD 予以解决的场景。
通过使用 WebSphere Application Server Version 6.X,您可以将应用服务器的日志文件配置为按特定的间隔进行“结转 (roll over)”。也就是说,服务器将对日志文件进行存档,以防止文件过大而无法管理。在此场景中,在您的基于 Microsoft® Windows® 的 WebSphere Application Server 安装上,日志文件结转未能按照预期进行存档。
Phase 1 PD 中的第一步是收集所有相关的诊断信息。可以通过两种方式使用 Log Analyzer 和 IBM Support Assistant 收集此数据:
这两种方法都假定工具与故障产品安装在相同的系统上,或在故障系统上安装了 IBM Support Assistant Agent。
数据收集器根据您的输入收集大量文件,并将其存储在 .zip 文件中,以供 Log Analyzer 使用。在 IBM Support Assistant 中,可以通过 Analyze Problem 活动访问此功能。为了让数据收集器能够处理特定的产品,必须从 IBM Support Assistant 的更新程序安装该产品的插件。有关代理技术和数据收集的更多信息,可以参见这 篇较早的“权威支持”专栏文章 。
通过系统资源管理器,可以浏览本地和连接到相同的 IBM Support Assistant 代理管理器的远程主机的文件系统。与其他文件浏览器类似,系统资源管理器允许查看这些远程主机上的文件的内容。与常规文件浏览器不同,系统资源管理器还允 许将文件从远程(或本地)文件系统传递到 IBM Support Assistant 的案例管理器中的新案例或现有案例中。Log Analyzer 可以从导入向导访问系统资源管理器和案例管理器。
为了简化此场景,请假定存在日志文件结转故障的 WebSphere Application Server 安装与 IBM Support Assistant 工作台位于相同的系统上:
既然已经将“异常巨大”的日志文件收集到了 IBM Support Assistant 的案例管理器中,就已经准备好启动 Log Analyzer 了。可以通过切换到 Analyze Problem 活动并选择 Tools 选项卡来通过 IBM Support Assistant 启动。如果 Log Analyzer 未显示在工具目录中,将需要使用 Updater 进行安装:
Log Analyzer 一旦启动后,就可以导入添加到 IBM Support Assistan 的案例管理器的案例中的日志文件。
从 Log Analyzer 选择 File => Import Log File 。将显示与 图 2 类似的对话框。
从这里,可以选择您前面导入到 IBM Support Assistant 中的 Log file rollover issue 案例下的 SystemOut.log 文件。可以同时导入多个文件,但是对于此场景,只需要 SystemOut.log。Log Analyzer 应该正确地将此日志文件标识为 WebSphere Application Server 日志文件。您并不需要修改筛选器设置,也不应向 Log Analyzer 的 Log Discovery Service 注册此文件,因为此文件已经位于本地文件系统上了。
单击 Finish 后,您将在表视图中看到此日志文件,与图 3 所示类似。
现在已经完成了准备工作,可以对日志进行分析了。
第一步是快速标识此日志中的所有错误消息。Log Analyzer 提供了内置筛选器“Show error log records only”,可将不会被视为错误消息的所有日志记录筛选出去。Log Analyzer 还提供了创建自定义筛选器的功能,如将特定日期之前(或之后)的日志记录、包含特定文本的消息或安全性高于或低于特定级别的日志记录等等筛选出去。(图 4)
在这个特定的日志文件中,只有一条错误消息,单击此消息时,会看到在尝试将一个日志文件存档到另一个文件时发生意外的异常。异常文本包含(图 5):
Unable to rename file C:\was6109\profiles\AppSrv01\logs\server1\SystemOut.log to
C:\was6109\profiles\AppSrv01\logs\server1\SystemOut_08.08.11_12.18.11.log
要对此错误消息进行分析,需要导入 IBM 提供的最新症状目录。IBM 维护着超过 20 个涉及多个产品的多个版本的症状目录。还可以使用 Symptom Editor 工具(也通过 IBM Support Assistant 提供下载)创建自定义症状目录。症状目录对匹配日志记录和其他信息进行映射,并提供解决问题的建议和操作。
对于此问题,您将导入 WebSphere Application Server Version 6.1 的症状目录:
尽管症状目录提供了一些信息,我们了解到应用服务器无法将 SystemOut.log 文件重命名为 SystemOut_<timestamp>.log 文件,但这些信息不足以解决问题。但是先不要气馁。再试试另一种方法:搜索。
如果单击 IBM Software Support Documents 结果,将会看到在上图中显示的结果。第一个文档似乎不相关,因为其所指的是 IBM Rational® Application Developer。虽然您可能从此文档学到了一些东西,但接下来的两个结果似乎更重要一些。
通过单击第二个文档链接,Log Analyzer 将打开指向该文档的浏览器窗口。如果喜欢在自己的浏览器中打开此文档,请直接右键单击链接,并选择 Copy link to clipboard 。这样就可以将 URL 粘贴到您自己喜欢的浏览器中。
此文档似乎会告诉您需要知道的东西。阅读文档,发现其中提到 (1) 有些非 WebSphere Application Server 进程可能会在日志文件上有锁定,这样会阻止应用服务器进行重命名,(2) 有修补程序可以解决这个日志结转问题,但是 (3) 虽然修补程序有效,不过最好的执行选项是停止锁定日志文件的进程(通常为文本编辑器或追加日志内容的程序等等)。
得益于 Phase 1 PD 流程和 IBM 提供的这些免费工具,您能够快速解决这个特定问题,而无需 IBM Support 的帮助。
Phase 1 PD 在解决软件问题方面是一个非常有效的流程。本文中的场景说明了如何使用 Log Analyzer 通过检查 WebSphere Application Server 的标准输出直接解决问题。在很多情况下,Log Analyzer 可以让您快速而方便地确定问题的原因并实现解决方案。
IBM 提供了多个免费工具,可对问题的确定起到促进作用。通过与第 1 阶段问题结合,可以很容易地找到软件相关问题的解决方案。