配置 Health Center 代理

您可以运行使用缺省设置的 Health Center 代理,也可以配置各个方面,如用于与 Health Center 客户机进行通信的端口或要使用的连接方式。通常,可以通过在属性文件中设置属性来配置该代理。对于 Java™ 应用程序,还可以在启动代理或将代理连接到正在运行的应用程序时,在命令行中设置属性。更新开始如果使用的是 IBM® Bluemix™,那么无法配置作为 Bluemix 运行时环境一部分提供的代理。更新结束

Health Center 配置属性中列出并描述了代理属性。

为 Node.js 应用程序设置代理属性

在 Health Center 模块的 Health Center 属性文件中设置缺省属性:
  • 在 Windows 操作系统上:node_sdk_directory/node_modules/healthcenter/healthcenter.properties
  • 在其他操作系统上:node_sdk_directory/lib/node_modules/healthcenter/healthcenter.properties
如果您要更改任一缺省设置,应将该文件从 Health Center 模块复制到应用程序目录,然后修改您的副本。当 Health Center 代理启动时,启动程序会按顺序在以下位置中搜索属性文件:
  1. 应用程序目录
  2. 当前工作目录
  3. Health Center 模块
找到属性文件后,将装入该文件并结束搜索。

为 Java 应用程序设置代理属性

可以通过以下方式设置 Health Center 代理属性:
  • 作为 Health Center 属性文件 healthcenter.properties 中的系统属性。 该文件位于包含代理的 JVM 的 jre/lib 目录中。
  • 启动代理时在命令行中:
    • 作为使用 Java 命令的 -D 选项设置的系统属性。 例如 -Dcom.ibm.java.diagnostics.healthcenter.agent.port=1999
    • 当同时启动代理和要监控的应用程序时,作为 Java 命令的 -Xhealthcenter 选项的一部分。 该方法仅在 Java 5 SR10 和更高版本及 Java 6 SR5 和更高版本中可用,并且仅适用于部分系统属性。使用以下格式:
      -Xhealthcenter:option(=|:)value[,option(=|:)value]
      您可以指定任意数目的属性。 例如 -Xhealthcenter:port=1999-Xhealthcenter:port:1999,level:full
    • 作为用于将代理连接到已在运行的 JVM 的 Java 命令的参数。 该方法仅适用于部分系统属性;可用集与 -Xhealthcenter 方法的相同。 使用以下格式:
      [option(=|:)value[,option(=|:)value]]
      您可以指定任意数目的选项和任意数目的选项字符串。 例如:
      port:1999,transport=jrmp 

    有关启动代理的更多信息,请参阅启动 Health Center 代理

有关可用属性的更多信息,请参阅Health Center 配置属性

优先顺序(仅限 Java 应用程序)

在设置代理属性时,可以组合使用多种方法。 例如,如果要将代理连接到已在运行的 JVM,那么可以完成以下步骤:
  1. 将属性文件中的端口号系统属性设置为 1998
    com.ibm.java.diagnostics.healthcenter.agent.port=1998
  2. 启动要监控的应用程序,并将端口号系统属性指定为 1985:
    java -Dcom.ibm.java.diagnostics.healthcenter.agent.port=1985 MyMainClass
    运行该应用程序的 JVM 将成为目标 JVM。
  3. 将代理连接到目标 JVM,并另外指定两个端口号:
    java -jar healthcenter.jar port=1999 -Dcom.ibm.java.diagnostics.healthcenter.agent.port=1992
以下列表以递减顺序显示了将代理连接到已在运行的 JVM 时 Health Center 属性的优先顺序。 该 JVM 称为目标 JVM,以与运行 Attach 程序的 JVM 区分开。
  1. 作为将代理连接到目标 JVM 的程序的参数提供的属性(在上述示例中,port=1999)。
  2. 通过使用 -D 选项作为 Attach 程序的参数提供的系统属性(在上述示例中,com.ibm.java.diagnostics.healthcenter.agent.port=1992)。
  3. 在启动目标 JVM 时通过使用 -D 选项设置的系统属性(在上述示例中,com.ibm.java.diagnostics.healthcenter.agent.port=1985)。
  4. 目标 JVM 的 healthcenter.properties 文件的内容(在上述示例中,com.ibm.java.diagnostics.healthcenter.agent.port=1998)。
以下列表以递减顺序显示了与 Java 应用程序同时启动代理时 Health Center 属性的优先顺序:
  1. 通过使用 -Xhealthcenter 选项设置的属性(Java 5 SR10 和更高版本,以及 Java 6 SR5 和更高版本)。
  2. 通过使用 -D 选项设置的系统属性。
  3. healthcenter.properties 文件的内容。

JVM 系统属性的 Health Center 代理配置(仅限 Java 应用程序)

在 Health Center V2 中,Health Center 根据代理正在使用的选项来设置其连接到的 JVM 的系统属性。这些值将覆盖任何现有的值。例如,代理使用的端口号可能不同于通过使用上面列举的任意方法指定的端口号。 缺省情况下(JMX 连接),代理会使用您指定的端口号作为首个尝试连接的端口。如果该连接失败,那么代理将尝试连接到下一个端口号。 代理在尝试连接时最多可以扫描 100 个端口号。 当建立了连接时,JVM 中的 com.ibm.java.diagnostics.healthcenter.agent.port 系统属性将设置为所连接端口的编号。

当将代理连接到已在运行的 JVM 时,将在目标 JVM 中设置连接该代理时指定的所有 Health Center 属性,这些设置将覆盖此 JVM 中的现有属性。例如,您可能会通过启动具有以下 Health Center 系统属性的 Java 应用程序来启动目标 JVM:
java -jar -Dcom.ibm.java.diagnostics.healthcenter.data.collection.level=off MyApplication
如果在连接代理时针对该属性指定其他值,那么将覆盖先前的系统属性:
java -jar healthcenter.jar -Dcom.ibm.java.diagnostics.healthcenter.data.collection.level=headless
如果 healthcenter.properties 文件中存在任何其他属性,那么在目标 JVM 中这些属性也将作为系统属性被装入。


© Copyright IBM Corporation 2007, 2015.
© Copyright 1997, 2015, Oracle and/or its affiliates.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.