OpenTelemetry eBPF Instrumentation (OBI) uses zero-instrumentation to send trace data to Cloud Monitor 2.0, enabling automatic application monitoring. You can then view observability data such as application topology, call traces, failed transactions, slow transactions, and SQL analysis.
OBI component overview
OBI is based on eBPF technology and is 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 | HTTP/1.x and HTTP/2 request and response tracing |
gRPC | gRPC Unary and Streaming call tracing |
SQL | MySQL, PostgreSQL, and other database query tracing |
Redis | Redis command call tracing |
Kafka | Kafka producer and consumer message tracing |
GenAI | Tracing for AI calls, including OpenAI, Anthropic, Qwen, MCP, Embedding, and Rerank |
OBI exports the collected telemetry data to Managed Service for OpenTelemetry through the OpenTelemetry Protocol (OTLP).
Step 1: Obtain endpoint information
Log on to the Cloud Monitor 2.0 console, select the target workspace, and click Integration Center in the left-side navigation pane.
In the Server-side Applications section, click the OpenTelemetry card.
In the Parameter Configuration section, click Click to obtain next to LicenseKey to get the values for
OTEL_EXPORTER_OTLP_HEADERSandOTEL_EXPORTER_OTLP_ENDPOINT. The console then generates the corresponding integration code, which includes the endpoint and license key.
Step 2: Install and configure the OBI component
Install the OBI component
Log on to the Container Service for Kubernetes (ACK) console, and in the left-side navigation pane, choose Clusters and click the name of the target cluster.
In the left-side navigation pane, choose Operations > Add-ons. 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, increase the OBI component's CPU and memory limits to prevent data collection failures due to resource shortages.
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
In the ACK cluster, navigate to Configurations > ConfigMaps. Change the namespace to
obi-system, find thearms-obi-configConfigMap, and click Edit.Add the deployment, namespace, and display name for the application you want to monitor. Cloud Monitor 2.0 displays this name for the application. The following is a sample configuration:
discovery: instrument: - k8s_deployment_name: "server" k8s_namespace: "arms-default" name: "server-test-obi"After you complete the configuration, restart the OBI component for the changes to take effect.
ImportantYou must restart the OBI component after adding each application for the new configuration to apply.
Step 3: Verify monitoring data
After you configure the OBI component, wait about 2 minutes before you check the monitoring data.
Log on to the Cloud Monitor 2.0 console, select the target workspace, and in the left-side navigation pane, choose All Features > Application Observability > Application Monitoring.
On the Application List page, click the name of the target application to view monitoring data, such as application topology, call traces, failed transactions, slow transactions, and SQL analysis. For more information, see Application Monitoring.