OpenTelemetry eBPF Instrumentation (OBI) provides non-intrusive monitoring to report trace data to CloudMonitor 2.0. CloudMonitor 2.0 then starts monitoring your applications, allowing you to view data such as application topology, traces, exception transactions, slow transactions, and SQL analysis.
OBI overview
OBI is built on eBPF and deployed as a DaemonSet on cluster nodes. It automatically collects application metrics and traces without requiring you to modify application code or inject a sidecar.
OBI automatically discovers the following protocols:
Protocol | Description |
HTTP | Traces HTTP/1.x and HTTP/2 requests and responses. |
gRPC | Traces gRPC unary and streaming calls. |
SQL | Traces queries for databases such as MySQL and PostgreSQL. |
Redis | Traces Redis command calls. |
Kafka | Traces Kafka producer and consumer messages. |
GenAI | Traces AI calls, including OpenAI, Anthropic, Tongyi Qianwen, MCP, Embedding, and Rerank. |
OBI exports the collected telemetry data to Managed Service for OpenTelemetry over OTLP (OpenTelemetry Protocol).
Install and configure OBI
Install OBI
Log on to the Container Service for Kubernetes console. In the left-side navigation pane, click Cluster List, and then click the name of the target cluster.
In the left-side navigation pane, click Component Management. Find the
arms-obicomponent and click Install.Click Next to complete the installation. Adjust the CPU and memory limits as needed.
NoteIf a node runs many applications, consider increasing the CPU and memory limits (MEM Limit) to prevent data collection failures caused by insufficient resources.
Scenario
CPU request / limit
Memory request / limit
Light load (4 pods, total QPS < 1,000)
100m / 250m
128Mi / 256Mi
Medium load (4–8 pods, total QPS 1,000–5,000)
250m / 500m
256Mi / 512Mi
High load (8 pods, total QPS > 5,000)
500m / 1000m
512Mi / 1Gi
Heavy load (8+ pods, total QPS > 20,000)
1000m / 2000m
1Gi / 2Gi
Configure monitoring targets
Restart applications that use the gRPC protocol to enable monitoring.
In the Container Service for Kubernetes console, navigate to Configurations > ConfigMaps. Switch the namespace to
obi-system, findarms-obi-discovery-default, and then click Edit.Add the
k8s_deployment_name,k8s_namespace, and thenamefor the application that will be displayed in CloudMonitor 2.0. Example:discovery: instrument: - k8s_deployment_name: "server" k8s_namespace: "arms-default" name: "server-test-obi"
Verify the monitoring data
After you configure OBI, wait about two minutes for the monitoring data to appear.
Log on to the CloudMonitor 2.0 console. Select the target workspace. In the left-side navigation pane, go to All Functions > Application Observability > Application Monitoring.
On the Application List page, click the name of the target application to view monitoring data such as application topology, traces, exception transactions, slow transactions, and SQL analysis. For more information, see Application Monitoring.