如果您要监控的应用程序未显示在连接对话列表中,请查看这些可能的解决方案。
运行任何应用程序的运行时环境必须已安装 Health Center 代理,之后才能监控该应用程序。请参阅代理安装指示信息。
检查 Health Center 代理的安装。请参阅安装 Health Center,以了解更多信息。
检查是否已对应用程序启用监控。请参阅启动 Health Center 代理,以了解更多信息。
如果无法连接到 Java 应用程序,请检查是否使用针对您的 Java 版本的正确参数启动了应用程序。请参阅平台需求,以了解有关将 Health Center 用于各种版本的 Java SDK 的进一步信息。
检查应用程序是否仍在运行。有时应用程序会意外地提前结束。
如果受监控的运行时环境正在运行,但是已没有活动的应用程序线程,也可能会出现连接问题。
如果您在使用 MQTT 连接,请检查 MQTT 代理程序是否正在运行。 如果该代理程序未在运行或检测不到,那么“连接”向导中会显示消息 No broker was detected on host_name on port port_number。如果已连接该代理程序但未检测到代理,那么“连接”向导的“搜索代理”页面中通常显示代理列表的区域为空。
如果该代理程序正在运行但检测不到,请检查“连接”向导中指定的 MQTT 主机名和端口是否与 MQTT 代理程序的主机名和端口相匹配。请参阅代理程序文档,以了解有关在何处设置这些值的信息。
com.ibm.diagnostics.healthcenter.mqtt INFO: Connected to broker localhost:1883
如果未看到任何消息,请检查配置属性文件中的 com.ibm.diagnostics.healthcenter.logging.level 属性的值。要了解更多信息,请参阅Health Center 配置属性。如果受监控的运行时环境已暂挂,那么连接对话无法连接到受监控的 VM,可能会出现超时。
如果受监控的应用程序和客户机不在同一工作站上,客户机就必须能够远程访问受监控的应用程序。如果远程工作站受防火墙保护,那么必须在防火墙上打开一个端口,以允许 Health Center 代理侦听连接。
仅对于 Java 应用程序,如果 Health Center 设置为使用 iiop 作为传输协议(缺省值),那么还必须在防火墙中打开第二个端口,以供对象请求代理程序 (ORB) 使用。使用 IIOP 端口系统属性指定该端口。 要了解更多信息,请参阅Health Center 配置属性。
选择 JMX 连接选项且 Health Center 在扫描远程机器上的代理时,防火墙还可能导致超时。在这些情况下,请指定确切的 Health Center 端口,并清除扫描接下来的端口以查找可用端口选项。
-Djava.rmi.server.hostname=<preferred_ip_address>
<preferred_ip_address> 确定代理使用的接口。如果在受监控的应用程序上启用了认证,请确保在连接向导的首页已输入安全凭证。如果没有这些凭证,受监控的应用程序就不会出现在连接向导第二页的应用程序列表中。
如果您在使用 MQTT 代理程序,请检查 Health Center 中该代理程序用户名和密码属性是否设置为与该代理程序凭证相匹配。要了解更多信息,请参阅保护 Health Center
检测到所有应用程序线程都已终止后,Health Center 代理会关闭。某些情况下,您可能不希望 Health Center 关闭。例如,将对象导出到外部 RMI 注册程序的 Java 应用程序保持活动状态以允许 RMI 连接,但是并不存在活动的应用程序线程。Health Center 代理找不到应用程序线程,因此它已终止。
-agentlib:healthcenter=keepAlive