在客户使用 WebSphere Application Server 时可能遇到这样的问题,同一台物理主机上的一个 server 工作正常,而另一个 server 却不能正常启动,这可能是因为多个 server 间端口冲突引起的。Profile Port Checker 是 IBM 提供的一款免费的工具,用于提供冲突端口检测的服务。本文将详细介绍 Profile Port Checker 的安装过程,以及各个命令的功能,并利用实例来展示如何使用 Profile Port Checker 来检测实际环境中的端口冲突。
IBM Serviceability 工具概述
除了提供高质量的产品以外,为了进一步完善产品的客户体验,并且给客户提供更好的支持服务,IBM 也推出了一系列工具,致力于简便地监控和快速地解决客户在使用 IBM 产品过程中遇到的各种问题。这些工具统称为 IBM Serviceability 工具,这些工具从各个角度提供了对产品的技术支持,比如 IBM Visual Configuration Explorer (VCE) [1] 关注产品在配置方面的问题,IBM Database Connection Pool Analyzer for WebSphere Application Server [2] 关注于 WebSphere Application Server 产品中 JavaDatabase Connectivity (JDBC) connection pools 相关的问题,而我们这里要介绍的 Profile Port Checker 则关注于安装 WebSphere Application Server 产品时的端口冲突问题。
IBM Serviceability 工具中的一部分以插件的形式整合进了 IBM Support Assistant [3] 产品中,还有一部分需要独立下载、安装和运行。截至 IBM Support Assistant 4.1 版本,Profile Port Checker 还没有被整合进 IBM Support Assistant 工具中,而是独立运行。
在本文中,我们将在一个包含多个 WebSphere Application Server profile 的实验主机上,演示 Profile Port Checker 的用法,展示如何轻松获得多个 profiles 上多个应用服务器占用端口的列表以及定位应用服务器之间发生冲突的端口。
安装准备
在开始实例演示之前,您首先需要下载 Profile Port Checker,并且了解它适用的情况。
下载 Profile Port Checker
Profile Port Checker 是一款免费的 IBM Serviceability 工具,您可以在参考资源 [4] 中下载 Profile Port Checker 的压缩包。解压缩后无需安装,可以直接通过命令行的形式运行。
适用情况
Profile Port Checker 适用于同一个物理主机上,包含多个 WebSphere Application Server 的 profile,以及多个应用服务器的情况。这个工具会扫描该台物理主机上,每个 WebSphere Application Server profile 上的每个应用服务器所占用的端口,并整合成报告信息。报告中除了会详细列出每个被占用的端口之外,如果发现了冲突,也会指出发生冲突的应用服务器及冲突的端口。
Profile Port Checker 会搜索该机器上所有 WebSphere Application Server Profile 的安装路径,搜索主要是依据 profile 的注册文件,例如在 Windows 系统上,该文件位于 C:\WINDOWS\.nifregistry。另外该文件的路径信息也可以在 WebSphere Application Server 的安装目录中的 NIFRegistry.properties 文件中找到,例如,在 Windows 系统上,该文件位于 C:\Program Files\IBM\WebSphere\AppServer7\properties\NIFRegistry.properties。
Profile Port Checker 适用情况如表 1 所示:
表 1. Profile Port Checker 适用情况
Product WebSphere Application Server Software version 6.0, 6.1, 7.0,8.0 Operating system(s) AIX, HP-UX, Linux,
Solaris, Windows Software edition Base, Developer, Express, Network Deployment
需要注意以下两点:
Profile Port Checker 除了可以检测独立安装的 WebSphere Application Server,也可以检测随其他产品安装的 WebSphere Application Server 的 profile,比如说在 IBM®Rational®Software Delivery Platform 安装时集成安装的 WebSphere Application Server 所对应的 profile,它通常位于 Rational 产品安装目录 runtimes 文件夹下。 Profile Port Checker 可以用来扫描和检测同一台机器上不同版本 WebSphere Application Server 的 profile,
但是目前不支持同时扫描 WebSphere Application Server V8.0 和其他版的 WebSphere Application Server 所对应的 profile。例如,实验机器上同时安装了 WebSphere Application Server V6.1,WebSphere Application Server V7.0 和 WebSphere Application Server V8.0。如果我们在 WebSphere Application Server V8.0 的安装目录上运行 Profile Port Checker,只能扫描出 WebSphere Application Server V8.0 的 profile,而不能扫描出 WebSphere Application Server V6.1 和 WebSphere Application Server V7.0 的 profile。如图 1 所示,图 1 截取自 Profile Port Checker 扫描报告,完整的扫描报告请参考下载资源 [1].
图 1. Profile Port Checker 扫描 WAS V8 报告
如果在 WebSphere Application Server V7.0 的安装目录或者 WebSphere Application Server V6.1 上运行 Profile Port Checker,则只能扫描出 WebSphere Application Server V7.0 和 WebSphere Application Server V6.1 的 profile,而不能扫描出和 WebSphere Application Server V8.0 的 profile。如图 2 所示,图 2 截取自 Profile Port Checker 扫描报告,完整的扫描报告请参考下载资源 [2].
图 2. Profile Port Checker 扫描 WAS V7.0 和 WAS V6.1 报告