通过使用配置属性(如用于连接到客户机的端口号),可以修改 Health Center 代理的行为。
属性的格式因属性的指定方式而异。 如果使用的是 IBM® Bluemix™,那么无法配置作为 Bluemix 运行时环境一部分提供的代理。
某些属性标记为仅适用于 Java™ 应用程序。这些属性在属于非 Java SDK 的代理的缺省属性文件中不存在。如果在这种情况下添加特定于 Java 的属性,那么该属性将被忽略。
Health Center 包括以下可配置属性:
您可以选择用于客户机与代理之间通信的技术。您还可能要设置相应的端口号。
如果在属性文件中设置了端口号,那么该端口将永久更改。 如果要临时更改端口,请改为在命令行中指定端口。
您可以为客户机/代理连接设置安全级别。
这些属性用于定义启动代理的收集方式。例如,您可以将代理设置为立即开始收集数据,或仅在客户机与之连接时收集数据。
代理会立即开始收集数据并将数据存储在文件中,而不是将其发送给客户机。 应用程序结束时,代理将创建名为 healthcenterpid.hcd 的文件,其中 pid 是该代理的进程标识。您以后可以将该文件装入客户机以查看数据。
对于无法将客户机连接到代理的系统,无外设方式非常有用。例如,防火墙限制阻止连接。
要了解以无外设方式运行代理时的限制,请参阅已知限制。
要了解以进程内方式运行代理时的限制,请参阅已知限制。
com.ibm.java.diagnostics.healthcenter.headless.output.directory=/tmp
[Tue 21 Oct 2014 14:24:30 BST] com.ibm.diagnostics.healthcenter.mqtt INFO: Connected to broker localhost:1883
[Tue 21 Oct 2014 14:24:45 BST] com.ibm.diagnostics.healthcenter.mqtt WARNING: Connection to broker localhost:1883 has been lost
[Tue 21 Oct 2014 14:25:12 BST] com.ibm.diagnostics.healthcenter.mqtt INFO: Connected to broker localhost:1883
ibm/healthcenter/agent_ID(host_name:process_ID)
如果共享 MQTT 代理程序(例如,由监控多个应用程序的一人或多人共享),那么此缺省字符串可能不足以标识与每个用户或应用程序相对应的代理。为避免发生这一问题,可通过设置这些属性中的一个或两个属性来修改为代理生成的字符串。所生成的字符串将变为如下所示:topic.namespace/ibm/healthcenter/agent_ID(application.id)
如果列表中有多个代理,还可以使用这些属性来组织该列表。例如,如果在机器上运行了多个代理,并且您正与其他机器上的用户共享 MQTT 代理程序,那么可以将每个代理的 com.ibm.diagnostics.healthcenter.mqtt.topic.namespace 属性设置为您的机器名。然后,这些代理会归为一组显示在列表中。属性 | 属性描述 | 值 | 是否仅特定于 Java 或 Node.js 应用程序? |
---|---|---|---|
com.ibm.diagnostics.healthcenter.data.profiling | 指定是否收集方法概要分析数据 | off 或 on。缺省值是 off。 | 仅限 Node.js 应用程序 |
com.ibm.diagnostics.healthcenter.headless | 使代理能够将数据存储在文件中,而不是将其发送给客户机。 | off 或 on。缺省值是 off。 | 仅限 Java 应用程序 |
com.ibm.diagnostics.healthcenter.jmx | 使代理能够使用 JMX 连接与客户机进行通信。 | off 或 on。缺省值是 on。 | 仅限 Java 应用程序 |
com.ibm.diagnostics.healthcenter.logging.level | 修改代理输出的消息的级别。 | none、warning、info、fine、finest 或 debug。缺省选项为 info。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt | 使代理能够使用 MQTT 代理程序与客户机进行通信。 | off 或 on。缺省值是 off(对于 IBM SDK Java Technology Edition 中的代理)和 on(对于 IBM SDK for Node.js 中的代理)。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt.application.id | 代理标识字符串中显示的应用程序标识 | 字符串 | 不特定 |
procom.ibm.diagnostics.healthcenter.mqtt.broker.host=value | MQTT 代理程序主机名 | 运行 MQTT 代理程序的机器的主机名。缺省值是 localhost。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt.broker.pass | MQTT 用户密码 | MQTT 代理程序配置中指定的用户密码。缺省情况下,未设置该属性。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt.broker.port=value | MQTT 代理程序端口 | 设置 MQTT 代理程序使用的端口号。缺省值是 1883。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt.broker.user | MQTT 用户名 | MQTT 代理程序配置中指定的用户名。缺省情况下,未设置该属性。 | 不特定 |
com.ibm.diagnostics.healthcenter.mqtt.topic.namespace | 代理标识字符串中显示的 MQTT 主题名称空间 | 字符串 | 不特定 |
com.ibm.diagnostics.healthcenter.readonly | 代理是否忽略来自客户机的可能会中断受监控应用程序的请求 | 设置为 on 以忽略请求。缺省值是 off。 | 不特定 |
com.ibm.java.diagnostics.healthcenter.agent.authentication.file=value | MBean 认证文件位置 | 到某文件的绝对或相对路径。 例如,./authentication.txt | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.agent.authorization.file=value | MBean 授权文件位置 | 到某文件的绝对或相对路径。 例如,./authorization.txt | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.agent.iiop.port=value | IIOP 端口号 | 有效端口号。无缺省值。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.agent.port=value (或者,在与 -Xhealthcenter 一起使用时,设置为 port=value) |
端口号 | 有效端口号。缺省值是 1972。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.agent.ssl.keyStore=value | SSL 密钥库位置 | 到某密钥库文件的绝对或相对路径。例如,./HCAgentKeystore | 不特定 |
com.ibm.java.diagnostics.healthcenter.agent.ssl.keyStoreCertificatePassword=value | SSL 密钥库证书密码 | 仅包含字母或数字的文本字符串。例如 password123。 | 不特定 |
com.ibm.java.diagnostics.healthcenter.agent.ssl.keyStorePassword=value | SSL 密钥库密码 | 仅包含字母或数字的文本字符串。例如 password123。 | 不特定 |
com.ibm.java.diagnostics.healthcenter.agent.transport=value (或 transport=value(在与 -Xhealthcenter 一起使用时)) |
传输协议 | iiop 或 jrmp。 缺省值为 iiop。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.data.collection.level=value (或 level=value(在与 -Xhealthcenter 一起使用时)) |
收集级别 | full、off、headless、inprocess 或 none。缺省值为 full。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.delay.start=value | 延迟启动时间 | 以分钟为单位的时间。缺省值是 0。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.files.max.size=value | 输出文件的最大大小 | 字节大小,介于 5000000 (5 MB) 与 2000000000 (2 GB) 之间。缺省情况下,不设置该属性,这样会指定最大大小 2 GB。小于 5 MB 的值会更改为 5 MB。大于 2 GB 的值将被忽略。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.files.to.keep=value | 要保留的输出文件的数量 | 一个整数。缺省值是 10。 使用 0 可保留所有文件。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.output.directory=value | 输出文件的位置 | 到某目录的绝对或相对路径。 缺省值为应用程序的工作目录;如果 Health Center 无法写入该目录,将为操作系统的缺省临时目录。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.run.duration=value | 运行持续时间 | 以分钟为单位的时间。缺省值是 0。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.run.number.of.runs=value | 运行次数 | 一个整数。缺省值是 0。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.headless.run.pause.duration=value | 暂停持续时间 | 以分钟为单位的时间。缺省值是 0。 | 仅限 Java 应用程序 |
com.ibm.java.diagnostics.healthcenter.output.folder property=value | 垃圾回收文件位置 | 到某目录的绝对或相对路径。 无缺省值。 | 不特定 |
![]() ![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
com.ibm.java.diagnostics.healthcenter.thread.stack.depth=value | 线程堆栈深度 | 整数或 Integer.MAX_VALUE(缺省值)。使用 0 以关闭对线程调用堆栈的收集。 | 仅限 Java 应用程序 |