配置 IBM App Connect Enterprise (ACE)跟踪器
您可以使用 Instana ACE 跟踪用户退出功能,或 ACE 提供的 OpenTelemetry 跟踪功能来跟踪 IBM ACE。
IBM ACE 用户退出跟踪功能已弃用,并将于 2027 年 5 月 31 日停止支持。 该日期与 IBM ACE 11的产品生命周期相吻合,该版本的扩展支持将于2026年4月30日结束。 根据 IBM App Connect Enterprise v11 的产品生命周期政策,支持服务将再延长1年。 IBM ACE 12.0.7 或更高版本提供了原生的 OpenTelemetry‑based 跟踪解决方案,这是ACE 12部署的推荐方案。 为确保持续且受支持的追踪功能,请将 ACE 部署更新至 12.0.7 或更高版本。 如需了解更多信息,请参阅 “已弃用的功能”。
有关监控“ IBM ACE ”的更多信息,请参阅《 监控“ IBM App Connect Enterprise ”(ACE)》。
先决条件
确保满足以下要求:
支持的节点类型
Instana 的ACE Tracing用户退出仅支持以下节点类型:
- HTTP 请求
- IBM MQ 请求
- Kafka 请求
如果要在 IBM Cloud Pak for Integration 环境中启用 CICS 请求支持,请完成以下步骤:
- 构建一个已启用 ACE 跟踪用户退出功能的定制版 docker 镜像。
- 根据此 docker 镜像部署 ACE 应用程序。
IBM MQ 消息要求
Instana 的ACE跟踪用户退出支持仅包含 MQRFH2 头部的 IBM MQ 消息,因为跟踪信息会被写入 IBM MQ 消息的 MQRFH2 头部,以传递跟踪上下文。 在某些 IBM MQ 客户端中, IBM MQ 消息中包含额外的标头数据可能会导致消息处理错误或消息被拒收。
在生产环境中启用 IBM MQ 之前,请先在非生产环境中测试其消费者客户端。
如果启用了跟踪关联支持,且这导致 IBM MQ 客户端应用程序出现错误,请执行以下任一操作:
- 如果 IBM MQ 消费者客户端是一个可修改的应用程序,请更新该应用程序,使其忽略由 Instana 添加的额外 IBM MQ 标头数据。 如果您在修改 IBM MQ 客户端时需要帮助,请联系 IBM MQ 技术支持。
- 如果 IBM MQ 消费者客户端是一个无法修改的应用程序, 请勿启用 IBM ACE 跟踪关联支持。
其他
Instana 的ACE跟踪用户退出仅支持以输入节点为入口点的消息流。
在安装和配置 Instana ACE Tracing用户退出之前,请先安装并配置 IBM ACE。
配置 ACE 跟踪
要在以下环境中启用 ACE 跟踪,请根据您环境中部署的 ACE 版本使用相应的跟踪解决方案:
传统 ACE 环境:请根据下表所述,选择适用于 ACE 部署的特定跟踪解决方案:
IBM ACE 版本 描边解决方案 支持类型 12.0.6 以及此前 Instana ACE 追踪用户退出 已弃用 12.0.7 以及后来 ACE OpenTelemetry 跟踪 GA IBM Cloud Pak for Integration 环境:请使用下表中所述的、专用于 ACE 部署的跟踪解决方案:
IBM ACE 版本 描边解决方案 支持类型 12.0.7 以及此前 Instana ACE 追踪用户退出 已弃用 12.0.8 以及后来 ACE OpenTelemetry 跟踪 GA
在传统 ACE 环境中为早于 12.0.7 的 ACE 版本启用跟踪功能
下载 IBM ACE 追踪用户退出
要下载 IBM ACE 跟踪用户退出功能,请按照以下步骤操作:
从 Artifactory 下载“ IBM ACE Tracing user exit
.tgz”文件。 要下载文件,请使用_作为用户名,并使用有效的代理密钥作为密码。将下载的
.tgz文件解压缩到临时位置。提取后,在目录中找到五个不同平台的用户退出软件包。
将特定于某个平台的用户退出包传输到您的 IBM ACE 主机上。
将用户退出软件包解压缩到 ACE 主机上的以下目录中。
- Linux 和 AIX:
/var/mqsi/shared-classes - Windows:
C:\ProgramData\IBM\MQSI\shared-classes
将以下文件放到
shared classes目录中:ACEOpenTracingUserExit.lel: 此文件包含 Instana ACE用户退出程序,该程序会拦截 HTTP 请求、 IBM MQ 请求和 Kafka 请求,并启动封装的 OpenTelemetry C++ 客户端库以创建跨度。tracelibrary.so: 此文件定义了封装版的 OpenTelemetry C++ 客户端,该客户端提供了用于管理跨度生命周期的函数,并将跨度发送至目标追踪系统。acetracingexit.conf:此配置文件指定了日志级别和连接到主机代理的相关信息。
如果 ACE 服务器未通过全局安装方式安装,则您的
/var/mqsi/shared-classesIBM ACE 主机上不存在 或C:\ProgramData\IBM\MQSI\shared-classes目录。 在您的 IBM ACE 主机上手动创建该C:\acetracingexit目录/opt/acetracingexit,并将该.tar文件解压到该目录中。- Linux 和 AIX:
配置用户退出
要为 IBM ACE 启用跟踪功能,请执行以下步骤:
/var/mqsi/shared-classes 为 C:\ProgramData\IBM\MQSI\shared-classes。停止集成节点。
mqsistop <integrationNodeName>通过设置使用 命令
mqsichangeflowuserexits的属性UserExitPath,在集成节点上安装用户退出点。mqsichangeflowuserexits <integrationNodeName> -o -x /var/mqsi/shared-classes如果你将 IBM ACE 的跟踪
.tar文件解压到/opt/acetracingexit目录中,请将替换/var/mqsi/shared-classes为/opt/acetracingexit。激活用户出口。
用户出口可以处于活动或不活动状态,缺省情况下处于不活动状态。 您可以为集成节点、集成服务器或特定信息流激活用户退出。
请激活集成节点的用户出口。
激活用户退出:
mqsichangeflowuserexits <integrationNodeName> -o -a ACEOpenTracingUserExit验证用户退出:
mqsireportflowuserexits <integrationNodeName> -o请参阅以下样本输出:
# mqsireportflowuserexits BK3 -o BIP8854I: User Exits active for integration server 'BK3': ACEOpenTracingUserExit. BIP8855I: User Exits inactive for integration server 'BK3': . BIP8741I: User Exit path for integration server 'BK3': /var/mqsi/shared-classes. BIP8071I: Successful command completion.启动集成节点:
mqsistart <integrationNodeName>
请激活集成服务器的用户出口。
启动集成节点:
mqsistart <integrationNodeName>激活用户退出:
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -a ACEOpenTracingUserExit
请激活消息流的用户出口。
启动集成节点:
mqsistart <integrationNodeName>激活信息流的用户出口:
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -k <applicationName> -f <messageFlow> -a ACEOpenTracingUserExit
对要激活用户退出的其他集成节点、集成服务器或消息流重复上述步骤。
要获取更多信息,请参阅以下链接:
- IBM ACE : 部署用户退出点
- IBM ACE : mqsichangeflowuserexits 命令——适用于 Windows、 Linux 和 AIX 系统
配置 Instana ACE跟踪
Go 到该
/var/mqsi/shared-classes目录。编辑
acetracingexit.conf文件:# configuration for ace tracing exit LOG_LEVEL="info" #Log level: info, warn, error, debug SPAN_FORMAT="instana" CICS_SUPPORT="off" #Propagate trace context for CICS request: off, on MONITOR_LEVEL="verbose" #ACE tracing level: off, normal, verbose INSTANA_AGENT_HOST="localhost" #(optional) INSTANA_AGENT_PROTO="http" #(optional) HOST_ALIAS="<YOUR-HOST-NAME>" #(optional)其中:
LOG_LEVEL指定日志级别,可选类型包括info:warn、、error、或debug。 日志文件位于 目录/tmp/trace下。SPAN_FORMAT指定将范围数据发送到的位置。 将此变量设置为instana。 Instana ACE 跟踪用户退出默认会将跨度数据发送至http://localhost:42699主机代理端点。 若要将跨度数据发送至使用 HTTPS 协议的远程主机代理,请更新配置INSTANA_AGENT_PROTO字段INSTANA_AGENT_HOST和。 所有 IBM ACE 实例的设置必须SPAN_FORMAT保持一致。CICS_SUPPORT此参数用于控制是否启用对 CICS 请求的跟踪支持。 将其设置为on以启用该功能,设置为off以禁用该功能。MONITOR_LEVEL指定 IBM ACE 的跟踪级别,可选值包括:normaloff、或verbose。 如果MONITOR_LEVEL设置为off,则不会在发出的请求中附加任何跟踪上下文。 如果将MONITOR_LEVEL设置为normal,则只有当 IBM MQ 消息包含 RFH2 标头时,才会追加跟踪上下文。 如果将MONITOR_LEVEL设置为verbose,则所有发出的 HTTP 或 IBM MQ 请求都会附加跟踪上下文。INSTANA_AGENT_HOST指定接收 Instana 格式跨网数据的主机。 默认情况下,localhost使用。 如果您指定了远程代理主机,则必须先在*instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfg中为该远程主机http.listen=*代理添加一行,因为默认情况下其他主机无法访问该主机代理。INSTANA_AGENT_PROTO指定 IBM ACE 跟踪用户退出与主机代理之间的连接类型。 默认情况下,http使用。 不过,https也支持。 如果您想将其更改为https,则需要先按照 《为代理端点配置 TLS 加密》中的说明 ,对 Instana 代理端点进行加密。HOST_ALIAS指定由 Instana ACE Tracing用户退出程序收集的跨段数据的主机别名。 因此,如果集成节点或集成服务器也由“ IBM ACE ”传感器进行监控,那么对 IBM ACE 的调用即可与基础设施实体建立关联。 默认情况下,将使用 IBM ACE 主机的完全合格域名 (FQDN)。 主机别名值必须与主机代理配置 YAML 文件中指定的 IBM ACE 传感器主机相匹配。 仅当“ IBM ACE ”主机的完全合格域名(FQDN)未在“ Instana ”ACE传感器配置中使用,且主机代理未位于本地“ IBM ACE ”主机上时,才需指定主机别名。 IBM ACE 传感器可以发现用于本地集成节点或集成服务器的 FQDN。
保存文件并重新启动集成节点或集成服务器。
在要对其启用跟踪的其他 IBM ACE 主机上重复这些安装和配置步骤。
您可以在 Instana 用户界面中查看 Instana 的ACE跟踪数据。
取消配置 Instana ACE 跟踪用户退出
取消配置用户出口。
取消集成节点的用户退出配置:
停止集成节点:
mqsistop <integrationNodeName>停用用户出口:
mqsichangeflowuserexits <integrationNodeName> -o -a ""重新启动集成节点。
停用集成服务器的用户退出:
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -a ""停用信息流的用户退出:
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -k <applicationName> -f <messageFlow> -a ""
在其他集成节点上重复步骤。
在传统 ACE 环境中启用 ACE 12.0.7 或更高版本的跟踪功能
对于 ACE 12.0.7.0 及更高版本,已内置 OpenTelemetry-based 追踪功能,且 Instana 可直接接收生成的追踪数据。 您无需再安装 Instana ACE 跟踪用户退出。 请勿同时启用 Instana ACE 跟踪用户退出和 ACE OpenTelemetry 跟踪,因为这些跟踪调用会与上游或下游的跟踪调用发生冲突。 有关 OpenTelemetry 跟踪集成的更多信息,请参阅《 为集成运行时配置 OpenTelemetry 跟踪 》。
集成服务器在以下平台上支持 OpenTelemetry 跟踪:
- AIX ( IBM ACE 12.0.10.0 及后续版本)
- Linux x86-64 ( IBM ACE 12.0.7.0 及后续版本)
- Linux 在 System z 上( IBM ACE、 12.0.8.0 及更高版本)
- Linux on Power Systems - 小端序( IBM ACE12.0.10.0 及后续版本)
- Windows ( IBM ACE 12.0.8.0 及后续版本)
配置 ACE OpenTelemetry 跟踪
要为 IBM ACE 启用 OpenTelemetry 跟踪功能,请按照以下步骤操作:
为 Instana 配置 OpenTelemetry 数据采集。 如需了解更多信息,请参阅 《配置 OpenTelemetry 数据采集》。
启用 ACE OpenTelemetry 跟踪。 如需了解更多信息,请参阅 《为集成服务器配置 OpenTelemetry 跟踪》。
- 配置正确的主机名,以确保实体之间的基础设施关联准确无误。
有关注意事项和限制的更多信息,请参阅 OpenTelemetry considerations and limitations。
在 IBM Cloud Pak for Integration 环境中启用跟踪功能
根据您的 ACE 版本, IBM Cloud Pak for Integration (仅限 amd64 )中 ACE 集成服务器的跟踪处理方式如下:
- 对于早于 12.0.8 的ACE版本, Instana ( AutoTrace )Webhook会自动将 Instana User Exit for ACE Tracing部署到集成服务器中。 (已弃用)
- 对于 ACE 12.0.8 或更高版本,您必须直接启用 ACE 提供的 OpenTelemetry-based 追踪方案,而无需依赖 Instana AutoTrace 的 webhook。 如需更多信息,请参阅《 配置 ACE OpenTelemetry 跟踪》。 AutoTrace Webhook 目前不支持也不启用 ACE 中的原生 OpenTelemetry 追踪功能。
启用 ACE 追踪后,请在 Instana 用户界面中点击 “应用程序” > “服务 ”,以查看追踪调用的详细信息。 通过这些选项启用的 ACE 跟踪的服务名称如下:
- Instana ACE 用户退出:服务名称包含 ACE 的 Pod IP 和集成服务器名称,格式为
<ACE_Pod_IP>-<IntegrationServer_Name>:<IntegrationServer_Name>,例如。10.254.17.125-is-01-1206:is-01-1206 - ACE OpenTelemetry: 服务名称包含集成服务器名称,格式为
IBM App Connect Enterprise-<IntegrationServer_Name>,例如。IBM App Connect Enterprise-is-01-customer
限制
ACE 用户退出跟踪方法仅支持单节点环境。 不支持高可用性(HA)配置和集群环境。 对于 HA 部署或集群环境,请使用原生的 OpenTelemetry 追踪支持,而非用户退出方法。