首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

权威支持 使用 WebSphere 诊断提供程序进行实时问题确定(1)简介

权威支持 使用 WebSphere 诊断提供程序进行实时问题确定(1)简介

什么是诊断提供程序?中概略介绍了 WebSphere Application Server 运行时中包括的很多问题确定工具。本文将更深入地介绍诊断提供程序,一项 WebSphere Application Server V6.1 中引入的新技术。通过使用此技术,每个 WebSphere Application Server 组件(例如 Web 容器、连接管理器、系统管理等)甚至应用程序中的组件都可以通过工具导出自己的诊断提供程序对象。每个诊断提供程序对象均提供了统一的机制来执行三项主要功能:
  • 转储组件的配置。
  • 转储组件的状态。
  • 在组件上运行自检。
每个诊断提供程序都可以实现所有这三个功能,或这些功能的子集,具体取决于与诊断提供程序关联的组件的诊断需求。
术语
术语组件 此处的使用并不严格;可以为单个类创建诊断提供程序,也可以为整个应用服务器创建诊断提供程序。

诊断提供程序与应用服务器中的其他故障诊断工具不同。日志记录工具提供用于在发生事件时记录此信息的方法,并提供严重性信息来帮助管理员了解这些事件的重要性。跟踪工具提供记录关于应用服务器中发生的活动的详细信息的方法,由于其包含大量信息,而且具有技术特征,因此,相对于管理员而言,这些详细信息对于所跟踪的代码的原始作者更有意义。类似地,应用服务器中的首次故障数据捕获(First Failure Data Capture,FFDC)系统捕获关于系统出现异常时的信息。另一方面,诊断提供程序提供了一种方法,以根据需要请求关于应用服务器状态的当前信息,这些信息在请求时为已知状态。
在有些情况下,诊断提供程序可公开不能通过任何其他机制获取的信息。在其他情况下,特别对于大多数配置信息而言,可以采取其他方式从特定的组件获取类似信息。不过,这里的关键是,诊断提供程序提供了统一的方法来从利用诊断提供程序技术的所有组件访问诊断信息,从而提供一个更为简单的接口来允许故障诊断人员通过一个位置查找所需的所有信息。诊断提供程序还允许通过各种形式的自动化工具和脚本进行问题确定,例如本文稍后将给出的一些示例。
诊断提供程序特别适合用于公开关于系统的有状态部分的详细信息。应用服务器中包含大量的有状态组件,例如:动态缓存工具在内存中保存缓存的页片段,连接池维护一组连接,Web 服务依赖于一组 SOAP Servlet 线程,EJB 容器具有一组已初始化的 EJB 组件,日志记录子系统具有一组已配置的日志记录程序,等等。所有这些实体都维护一组资源,而这些资源在正常情况下都不需要过多地加以注意。出现错误时(如线程池耗尽),如果能够直接查询所涉及的组件,则将能带来非常大的价值。问题被组件所有者知道后,可以设计自检来检查是否存在这些问题。这可为诊断组件相关问题经验不足的人员提供帮助,而且能够帮助监视系统来确定问题。自检还可以执行简单的试验,如尝试连接到数据库,以确定一切都已进行了恰当的设置和配置。
WebSphere Application Server V6.1 中的诊断提供程序WebSphere Application Server V6.1 中首次引入了用于实现诊断提供程序的基础设施。基于该基础设施,系统的每个组件都可以实现针对该组件定制的诊断提供程序。WebSphere Application Server V6.1 提供了一组初始组件:
  • Connection manager (ConnMgrDP) 提供关于数据源和连接工厂的配置和状态信息。这包括关于托管连接、活动事务、连接池信息及其他有用数据的信息。
  • Node synchronization (NodeSyncDP) 提供关于最近尝试执行配置同步的状态信息,并包括节点同步配置详细信息,如关于自动同步的信息。另外还有通用自检,将检查连接性、文件传输能力及系统是否同步。
  • Node agent (NodeAgentDP) 提供关于节点代理的信息。其中包括节点代理已知哪些服务器的状态信息,以及检查已知服务器的状态的自检。
  • Deployment manager (DeploymentManagerDP) 提供关于部署管理器的信息。其中包括代理管理器已知哪些节点代理的状态信息,以及检查已知节点代理的状态的自检。
  • Web container (WebContainerDP) 提供关于应用服务器的 Web 容器的配置和状态信息,包括关于已缓存的 Servlet、虚拟主机的信息及关于 Web 容器的通用配置信息。
  • Runtime advisor (AdvisorDP) 提供关于之前生成的堆转储的信息以及关于应用服务器堆转储创建设置的配置信息。另外还提供了自检,以检查应用服务器是否出现内存泄漏。
预计在系统的未来版本中,会有更多的组件添加自己的诊断提供程序。
诊断提供程序与 WebSphere Application Server 系统管理工具完全集成,因而可以通过与其他 WebSphere 管理功能相同的方式进行访问,包括:
  • 管理控制台
  • wsadmin 脚本工具
  • 直接调用相关 MBean 的 JMX 客户机
选择用于与诊断提供程序交互的方法取决于具体的情况。本文将通过一些涉及各个诊断提供程序功能的示例对此进行说明:自检(示例 1)、状态转储(示例 2)和配置(示例 3)。
返回列表