fteSetAgentTraceLevel

使用 fteSetAgentTraceLevel 命令可动态修改代理的当前跟踪级别。

用途

使用该命令可以开启和关闭代理跟踪,或更改所设置的代理跟踪级别。 当使用 fteSetAgentTraceLevel 命令时,不必关闭和重新启动代理就可修改跟踪级别。 生成的跟踪文件位于 MQ_DATA_PATH/mqft/logs/coordination_qmgr_name/agents/agent_name/logs/trace%PID%/trace%PID%.txt 中,其中 %PID% 是代理实例的进程标识。

注:

[UNIX、Linux、Windows、IBM i]Multiplatforms上使用 IBM® WebSphere® MQ 7.5 或更高版本时,只有运行代理进程的用户才能运行 fteSetAgentTraceLevel 命令。

[V9.0.2 2017 年 3 月][z/OS]对于 z/OS®,对于 Continuous Delivery,从 IBM MQ 9.0.2开始, fteSetAgentTraceLevel 命令可以通过以下任一方式运行:
  • 用于运行代理进程的同一用户标识。
  • 代理属性 adminGroup 指定的组的成员。
[V9.0.0.1 2017 年 5 月]这也适用于 IBM MQ 9.0.0 Fix Pack 1中的 Long Term Support 发行版。

有关更多信息,请参阅 MFT agent.properties 文件中的 adminGroup 属性。

IBM WebSphere MQ 7.5和更高版本中, fteSetAgentTraceLevel 命令还会写入代理进程控制器的跟踪。 生成的跟踪文件位于 MQ_DATA_PATH/mqft/logs/coordination_qmgr_name/agents/agent_name/logs/pctrace%PID%/pctrace%PID%.txt 中,其中 %PID% 是代理实例的进程标识。

您还可以使用该命令,让代理进程生成 Javacore。 代理会在以下目录中生成一个 Javacore 文件:MQ_DATA_PATH/mqft/logs/coordination_qmgr_name/agents/agent_name

因为运行跟踪可能会严重影响性能,并且可能会产生大量的跟踪数据,所以请谨慎运行跟踪并仅在必要时运行。 通常情况下,请仅在您的 IBM 服务代表要求时启用跟踪。
注:
  1. 必须在运行代理程序的系统上运行此命令。
  2. 跟踪和日志记录不会在代理程序重新启动时持久存储。

    如果代理程序终止并由 Process Controller 进程重新启动,那么在更新 agent.properties 文件以包含必需的跟踪和日志属性之前,动态跟踪和日志不会生效。

您可以在 agent.properties 文件中设置更多跟踪属性,例如,跟踪文件大小和要保留的跟踪文件数量。 这些属性在 高级代理程序属性中进行了描述。

仅当希望使用不同于缺省集的配置选项集时,才对该命令指定可选的 -p 参数。 请参阅 MFT agent.properties 文件 以获取更多信息。

Syntax

fteSetAgentTraceLevel

Read syntax diagramSkip visual syntax diagram fteSetAgentTraceLevel -traceAgentclasses=level-disableOnAnyFFDC-disableOnFFDCFFDC_specification-jc-pconfiguration_options agent_name

参数

--traceAgent classes=level
必需。 将代理跟踪设置到的级别和将该跟踪应用到的类。
[V9.0.5 2018 年 3 月]IBM MQ 9.0.5开始,可以指定以冒号分隔的类规范列表。 此选项使您能够在不同的级别设置不同类的跟踪。 例如:
fteSetAgentTraceLevel -traceAgent com.ibm.wmqfte.agent=all:com.ibm.wmqfte.cmdhandler=moderate
 AGENT1
您仍可以指定您希望将该跟踪级别应用到的类规范的逗号分隔列表。 如果未指定该参数,那么跟踪级别将应用于所有代理类。 请使用以下格式:
classes=level
例如:
com.ibm.wmqfte=all

您可以将 classes 替换为 Managed File Transfer 包名,以仅跟踪特定包。 但是,由于此选项仅捕获代理的部分行为,所以通常不建议您使用程序包过滤。

如果 (classes) 以加号 (+) 开头,那么将向当前正在跟踪的任何现有跟踪类添加跟随加号的跟踪类列表。

有效的跟踪级别选项如下所述,按照跟踪文件大小的升序和详细信息列出:
关闭代理跟踪,但继续将信息写入日志文件。 这是缺省选项。
flow
捕获与代理中处理流相关联的跟踪点的数据。
moderate
捕获跟踪中的适量诊断信息。
verbose
捕获跟踪中的大量诊断信息。
全部
将代理跟踪设置为在所有代理类上运行。
要开始全面跟踪代理,请运行以下命令:
fteSetAgentTraceLevel -traceAgent =all AGENT_NAME
要停止全面跟踪代理,请运行以下命令:
fteSetAgentTraceLevel -traceAgent =off AGENT_NAME
-disableOnAnyFFDC
可选。 如果指定了该参数,那么当代理生成“首次故障数据捕获”(FFDC) 文件时,跟踪将被禁用。

您只可以指定 -disableOnAnyFFDC-disableOnFFDC 参数中的一个。

--disableOnFFDC FFDC_specification
可选。 如果指定了该参数,那么当代理生成与 FFDC_specification 匹配的“首次故障数据捕获”(FFDC) 文件时,跟踪将被禁用。 FFDC_specification 是以逗号分隔的值列表。 值的格式可以是:
class_name
FFDC 继承的类的名称。 例如,com.ibm.wmqfte.classA
class_name:probe_ID
FFDC 继承的类中的类的名称和位置的探测器标识。 例如,com.ibm.wmqfte.classB:1

您只可以指定 -disableOnAnyFFDC-disableOnFFDC 参数中的一个。

-jc
可选。 请求代理来生成 Javacore 文件。 IBM 服务团队可能会要求您使用该参数来运行命令,以帮助诊断问题。 此参数不能与除 -p以外的任何其他参数一起使用。

--p 配置选项
可选。 该参数确定用于设置代理跟踪级别的配置选项集。 使用非缺省协调队列管理器的名称作为该参数的输入。 然后,命令使用与此非缺省协调队列管理器相关联的属性文件集。

如果未指定该参数,那么将使用基于缺省协调队列管理器的配置选项集。

agent_name
必需。 要为其设置跟踪级别的 Managed File Transfer Agent 的名称。

-或-h
可选。 显示命令语法。

示例

在本示例中,针对 AGENT1 的所有类,跟踪级别都设置为 all
fteSetAgentTraceLevel -traceAgent com.ibm.wmqfte=all AGENT1  

在本示例中,针对 AGENT1 的 com.ibm.wmqfte.agent.Agentcom.ibm.wmqfte.cmdhandler 类,跟踪级别设置为 all

fteSetAgentTraceLevel -traceAgent com.ibm.wmqfte.agent.Agent,com.ibm.wmqfte.cmdhandler=moderate
AGENT1 
在本示例中,由于 -traceLevel 参数设置为 off,因此排除了对子类的跟踪。 以 com.ibm.outer 开头的所有类(除以 com.ibm.outer.inner 开头的类外)都按详细级别进行跟踪:
fteSetAgentTraceLevel -traceAgent com.ibm.outer=verbose AGENT1
fteSetAgentTraceLevel -traceAgent +com.ibm.outer.inner=off AGENT1
Occasionally, IBM Support might ask you to collect JMS traces for the investigation of issues related to secure connections between a Managed File Transfer agent and its queue manager. 为此,请使用类似下例所示的命令:
fteSetAgentTraceLevel -traceAgent =all AGENT1

返回码

0
命令成功完成。
1
命令结束但未成功。