Author: Rajesh K. Jeyapaul, Neha Ghongade, Satti Naveena, James Jose
In complex enterprise environments, IBM App Connect Enterprise (ACE) plays a vital role in managing APIs and integrating systems. Monitoring ACE performance is especially important when flows involve both ACE and IBM MQ. As organizations adopt modern observability practices, visibility into these integration components becomes critical for maintaining system health and performance.
This blog post explores how to enable OpenTelemetry (OTel) for ACE and leverage Instana for end-to-end observability. With this approach, teams can gain deep insights into integration flows, detect bottlenecks, and ensure optimal performance across their enterprise architecture.
Let us understand how to enable OpenTelemetry at ACE and to export the telemetry to Instana backend.
Enable OpenTelemetry at ACE and Instana backend Configuration:
Enabling OpenTelemetry tracing in ACE and integrating with Instana involves three main steps:
Step 1: ACE Trace Configuration for OTEL Collector
This step enables the built-in trace information within ACE to be exposed to the OpenTelemetry collector:
- Navigate to the server configuration file: /var/mqsi/components/NodeName/servers/ServerName/server.conf.yaml For example: /var/mqsi/components/testNode/servers/myserver/server.conf.yaml
- Enable the relevant configuration section for OpenTelemetry tracing as shown in the following example:

Configuration showing OpenTelemetry settings
Step 2: Instana OTEL Configuration
Configure OpenTelemetry data ingestion for Instana as shown in the following example.
At this stage it is assumed that Instana agent is installed and running. To get details about how to Install the agent, see Installing and Configuring Instana Agent.
- Go to /opt/instana/agent/etc/instana/configuration.yaml.
- Enable the Instana OpenTelemetry plug-in to receive the OpenTelemetry data from ACE as shown in the following example.

Instana OTEL Configuration
Step 3: Instana Plugin Configuration for ACE
This final configuration enables the export of trace data from ACE to the Instana backend:
ACE plugin for Instana is enabled as shown in the following example:
- Go to /opt/instana/agent/etc/instana/configuration.yaml.
- Modify the configuration.yaml shown in the following example:


Let’s validate how Otel specific metrics is handled by Instana as per the configuration in the example in the following the deployment scenario.
Validation Scenario: ACE and MQ Integration
Our demonstration uses a simple voting system implemented with ACE flows to showcase Instana monitoring capabilities across various nodes including HTTP input, HTTP reply, MQ output, and sub flows.
Flow Design
The voting system consists of several interconnected flows:

Flow Diagram:

Overall architecture of the voting system flows
VotingSystem.msgflow:

Main flow diagram showing HTTP input, subflow call, MQ output, and HTTP reply.
This flow receives the HTTP input at `http://<url>:7800/vote`, .It hits MyTestSubflow where the flow does TCP/IP connection with blob input (which triggers TCPServerMock.msgflow stub) and gets the response .Further, it puts the response to queue and then goes back to the main flow.

In the main flow, message is put to MQ output node which then does one more HTTP request to `/processTheVote` (that triggers processTheVote.msgflow flow) . The response from processTheVote is through HTTP reply node.
processTheVote.msgflow:

Processes and increments the vote count
TCPServerMock.msgflow:

The flow diagram shows TCP/IP connection stub. This flow is called via tcp ip connection for stub purpose.
Deployment Procedure
To deploy the application:
- Create a BAR file from the application


2. Navigate to the integration server and use the following command to deploy the applications in the BAR: mqsideploy testNode -e myserver -a voting.bar
Demo Execution
How to Run the Demo:
- Deploy the nodes as described in the deployment procedure
- Trigger the HTTP endpoint at /vote
- Observe the flow of data through the system
- Monitor the trace context as it propagates through different components
Trace Context:
The Trace context screenshot shows the propagation of context through components monitored by Instana.



Message Flow Metrics Monitoring

Detailed Monitoring for Message Flow


Flow Nodes details for any specific message flow — 1

Flow Nodes details for any specific message flow — 2
You can also create an alert to get a notification when a call exceeds the threshold level. To know more about how to create and set alert/event for the same, watch Demo_Alert.mov.
Key Monitoring Touchpoints
When monitoring ACE flows with Instana, pay particular attention to:
- HTTP Input/Output Nodes: Track request latency and error rates
- MQ Interactions: Monitor queue depths, put/get operations, and message processing times
- Subflow Performance: Analyze execution time and resource utilization
- End-to-End Traces: Follow the complete transaction path across all components
- Error Handling: Identify where and why failures occur in the flow
Conclusion
By following the configuration steps outlined in this blog, you can enhance your monitoring capabilities and ensure your ACE and MQ environments operate at peak efficiency using Instana.
#OpenTelemetry