OpenTelemetry Data Ingestion with IBM Instana in IBM Cognos TM1(Planning Analytics)
This blog provides sample code and utilities to send OpenTelemetry (OTel) data to IBM Instana, specifically focusing on IBM Cognos TM1 metrics. It covers steps to deploy the Instana agent, collect data from Cognos TM1, transform data into OTel format, and send it to Instana programmatically for comprehensive observability.
Here is the repository link: https://github.ibm.com/Ankit-Guria/InstanaOnTM1?tab=readme-ov-file
High level Architecture Diagram:

Overview
The project workflow includes:
- Hosting the Instana Agent: Deploy the Instana agent on an IBM Cognos TM1 server to capture and monitor metric data.
- Data Collection: Retrieve JSON data from IBM Cognos TM1 Business Analytics via REST APIs.
- Data Conversion: Convert JSON data into OpenTelemetry gauge and histogram metrics.
- Sending Data to Instana: Transmit the OTel metrics to Instana for monitoring and analysis.
- User and Session Metrics: Track active user sessions and other session data.
- Thread Data Monitoring: Monitor thread-related data and send it to Instana.
- Scheduler: Automate data collection and transmission every 5 minutes.
- Dashboard Creation: Visualize the data on an Instana dashboard.
For more information on how to programmatically use OpenTelemetry with Instana, refer to this Article on how to send Opentelemetry Data to IBM Instana .
For Instana agent installation instructions, refer to the official IBM Instana documentation.
-
sendOtelInstana.py
: Contains the main code for converting JSON data from Cognos TM1 to OTel gauge and histogram metrics and sending these to Instana.
-
usersOnInstana.py
: Demonstrates how to programmatically send active user and session information to Instana.
-
syntaxToSendInstana.py
: Contains various syntax examples and utilities for sending data to Instana, useful as a reference for other metric types.
-
sampleThreadDataToInstana.py
: Collects and sends thread data metrics to Instana, adding insights on server performance and application health.
-
scheduler.py
: Configured to execute the Python scripts every 5 minutes, ensuring continuous data flow to Instana. The scheduler is currently running in an active state.
-
Install and Configure the Instana Agent
- Host the Instana agent on the IBM Cognos TM1 server. Detailed installation steps are available in the IBM Instana documentation.
-
Collect Data from TM1
- Use IBM Cognos TM1 REST APIs to gather data in JSON format.
-
Convert Data to OpenTelemetry Metrics
- Transform the JSON data into OpenTelemetry gauge and histogram metrics in
sendOtelInstana.py
.
-
Send Data to Instana
- Programmatically send the converted OTel data to Instana for observability. The code in
sendOtelInstana.py
and usersOnInstana.py
provides examples of various data transmissions, including user sessions and thread metrics.
-
Automate with Scheduler
- Use
scheduler.py
to automate the execution of scripts every 5 minutes, maintaining a live data feed to Instana.
-
Create Instana Dashboard
- Visualize the metrics in a custom Instana dashboard for easy monitoring and insights.

Run the code:
python <name of file.py>
And do install all the required libraries in the code, check the command line and the code for the import statements in the code
#BusinessObservability#CustomDashboards#Documentation#OpenTelemetry#Tracing