Fix Readme
Abstract
The document describes how to install and enable IBM App Connect Enterprise tracing on your IBM App Connect Enterprise hosts. The tracing data can be sent to Instana or Jaeger depending on the configurations. Current version of IBM App Connect Enterprise Tracing user exit is 2021.4.0.
Update Name/Fix ID: IBM-ACE-TRACING-USER-EXIT
Content
Download location
http://www.ibm.com/support/fixcentral/
Fix Download for Linux
Product / Component Name | Platform | Fix |
IBM App Connect Enterprise Tracing User Exit | Linux x86_64 | IBM-ACE-TRACING-USER-EXIT |
Prerequisites and co-requisites
This fix provides IBM App Connect Enterprise tracing capability. You can download user exit implementation and configure your IBM App Connect Enterprise integration server to enable tracing. The tracing data is sent to Instana or Jaeger depending on your configuration.
Platforms and prerequisites
Known limitations
Known issues
Installing
- ACEOpenTracingUserExit.lel, the IBM App Connect Enterprise user exit, intercepting the HTTP request and IBM MQ request and invoking the wrapped go Jaeger client library to create spans.
- tracelibrary.so, the wrapped go Jaeger client, provides functions to manage the lifecycle of spans and sends spans to the target tracing system.
- acetracingexit.conf, the configuration file to specify the target tracing system (Jaeger or Instana) and the parameters for span generation.
Configuring
Configuring user exit
Follow steps to enable tracing for IBM App Connect Enterprise.
mqsistop <integrationNodeName>
mqsichangeflowuserexits <integrationNodeName> -o -x /var/mqsi/shared-classes
A. Activate the user exit for an integration node.
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
Configuring IBM App Connect Enterprise tracing
2. Edit acetracingexit.conf file.
# configuration for ace tracing exit
LOG_LEVEL="info" #Log level: info, warn, error, debug
SPAN_FORMAT="instana" #specify opentracing span format as instana or jaeger
JAEGER_ENDPOINT = "http://127.0.0.1:14268/api/traces"
#JAEGER_AGENT_HOST="127.0.0.1" #only effect for Jaeger
#JAEGER_AGENT_PORT=6831 #only effect for Jaeger
JAEGER_SAMPLER_TYPE = "const" #only effect for Jaeger
JAEGER_SAMPLER_PARAM = 1.0 #only effect for Jaeger
#INSTANA_AGENT_HOST = "localhost" # instana agent host, localhost will be used by default
#INSTANA_AGENT_PROTO = "http" # connection type between ace tracing exit and instana agent, http and https are supported, http will be used by default
#HOST_ALIAS="<YOUR-HOST-NAME>" # host name to match with instana agent configuration.yaml
Where:
LOG_LEVEL
specifies the log level, which can be one ofinfo
,warn
,error
anddebug
, the log file is located at /var/mqsi/trace directory on Linux platform.SPAN_FORMAT
specifies where the span data is sent to. The SPAN format can be set toinstana
orjaeger
. If SPAN_FORMAT is set to instana, IBM App Connect Enterprise Tracing user exit send span data to the Instana host agent endpoint http://localhost:42699 by default, in such a case you can ignore JAEGER_* parameters in acetracingexit.conf file. Update the configuration items INSTANA_AGENT_HOST and INSTANA_AGENT_PROTO if you want to send the span data to a remote host agent using https protocol. If SPAN_FORMAT is set to Jaeger, you need to configure JAEGER_* parameters, in such a case you can ignore INSTANA_* parameters. You should have the sameSPAN_FORMAT
setting for all IBM App Connect Enterprise instances.JAEGER_ENDPOINT
specifies Jaeger collector endpoint. You can choose to send tracing data to Jaeger collector or to the Jaeger agent. If you want to send tracing data to Jaeger agent, comment this line and specify values for configuration itemsJAEGER_AGENT_HOST
andJAEGER_AGENT_PORT
.JAEGER_AGENT_HOST
specifies the hostname or IP address of the Jaeger agent.JAEGER_AGENT_PORT
specifies the Jaeger agent port.JAEGER_SAMPLER_TYPE
specifies the sample type. The value can be one ofconst
,probabilistic
,ratelimiting
andremote
.JAEGER_SAMPLER_PARAM
is interpreted based on the value of JAEGER_SAMPLER_TYPE. See more details at https://www.jaegertracing.io/docs/1.22/sampling/#client-sampling-configuration.INSTANA_AGENT_HOST
specifies the Instana agent host where the Instana format span data is sent to, localhost is used by default. If you specify a remote Instana agent host, you also need to add a linehttp.listen=*
in<instana-agent-dir>/etc/instana/com.instana.agent.main.config.Agent.cfg
for the remote host agent first as the host agent is not reachable from other hosts by default.INSTANA_AGENT_PROTO
specifies the connection type between IBM App Connect Enterprise tracing user exit and the Instana agent,http
andhttps
are supported,http
is used by default. If you want to change it tohttps
, you need to follow Setup TLS Encryption for Agent Endpoint to secure the Instana agent endpoint first.- HOST_ALIAS specifies a host alias for the span data collected by IBM App Connect Enterprise Tracing user exit, so we can link calls to IBM App Connect Enterprise to the infrastructure entity if the integration node or integration server is also monitored by the IBM App Connect Enterprise sensor. The FQDN of IBM App Connect Enterprise host is used by default. The host alias value should match with the IBM App Connect Enterprise host specified in host agent configuration yaml. You only need to specify a host alias if the FQDN of IBM App Connect Enterprise host is not used in IBM App Connect Enterprise sensor configuration when the host agent is not on the local IBM App Connect Enterprise host. The IBM App Connect Enterprise sensor can discover the FQDN for the local integration nodes or integration servers.
Unconfiguring
mqsistop <integrationNodeName>
mqsichangeflowuserexits <integrationNodeName> -o -a ""
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -a ""
mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -k <applicationName> -f <messageFlow> -a ""
Additional information
Document change history
Version | Date | Description of change |
1.0 | 17 Nov 2021 | Initial Version |
Was this topic helpful?
Document Information
More support for:
IBM Application Performance Management
Software version:
8.1.4
Operating system(s):
Linux
Document number:
6517010
Modified date:
22 November 2021
UID
ibm16517010