APM onboarding
Coralogix Application Performance Monitoring (APM) gives you a Service Catalog, a service map, RED metrics (requests, errors, duration), and distributed traces - with no separate APM agent to run. This guide takes you from nothing to services reporting in APM - most teams in about 15 minutes - then points you to the optional tuning and Span Metrics configuration that make the data production-ready.
The fastest path is Kubernetes with the Coralogix Helm chart and eBPF auto-instrumentation. Start with Step 1: Deploy the OpenTelemetry Collector.
How APM works
APM is built on OpenTelemetry: your instrumented services emit spans, the OpenTelemetry Collector forwards them to Coralogix, and Coralogix derives the Span Metrics that power APM.
Three things produce everything you see:
- Deploy the OpenTelemetry Collector to receive telemetry from your services and forward it to Coralogix.
- Instrument your services so they emit spans (traces).
- Coralogix derives Span Metrics from those spans - the RED metrics that power the catalog, health, and charts.
You set up the first two; Coralogix handles the third. To customize what Span Metrics generates, see Configure Span Metrics.
What you need
- A Coralogix account, with your Send-Your-Data API key and your region's OpenTelemetry endpoint.
- A running service you want to monitor.
- For Kubernetes: a cluster that meets the Helm chart prerequisites (minimum Kubernetes and Helm versions, secrets).
Step 1: Deploy the OpenTelemetry Collector
The Collector receives spans from your services and forwards them to Coralogix. Span Metrics is enabled by default in the latest Coralogix distributions, so APM works as soon as spans arrive. Choose your platform:
- Kubernetes (Helm)
- Docker
- EC2
- ECS
Recommended. Use the Coralogix Kubernetes Complete Observability integration:
-
Download the
values.yaml. -
Meet the prerequisites (minimum Kubernetes and Helm versions, secrets).
-
Confirm the
spanMetricspreset is enabled (it is by default):spanMetrics:enabled: true -
Install with the Helm commands.
Follow OpenTelemetry using Docker.
Follow ECS-Fargate or ECS-EC2.
Step 2: Instrument your services
Your services need to emit spans. Choose an approach:
- eBPF (Kubernetes)
- OpenTelemetry SDKs
Auto-instrument without code changes using eBPF auto-instrumentation. This is the fastest path on Kubernetes.
Instrument per language with the OpenTelemetry SDKs - auto-instrumentation needs no code changes, or use manual instrumentation for full control. Point the exporter at your Collector.
Step 3: Verify data is flowing
Generate some traffic to your service, then, within a few minutes:
- In the Coralogix toolbar, select APM.
- Confirm your service appears in the Service Catalog, and open it to see its RED metrics.
- Open its traces to see recent spans.
If a service or metric is missing, confirm that spans are reaching Coralogix and that the spanMetrics preset is enabled.
Optional: tune and extend
Once data is flowing, harden and enrich it:
- Sampling: the Helm chart uses head sampling by default. For error- and latency-aware sampling, move to tail sampling - Kubernetes or Docker Compose.
- Correlate logs: enrich your service logs with a subsystem name that matches the service name, or set up log correlation so the logs carry standard trace and span IDs.
- Serverless (AWS Lambda): auto-instrument AWS Lambda with the OpenTelemetry Lambda auto-instrumentation. See also Serverless monitoring.
- Align attribute names: when you upgrade OpenTelemetry versions, use the transform processor to keep attribute names stable - see Aligning Coralogix and OpenTelemetry naming conventions.
Configure Span Metrics
Coralogix derives Span Metrics from your spans - the RED metrics that power APM. Span Metrics is enabled by default in the latest Helm chart; you can also enable or customize it in your configuration. See Coralogix Span Metrics for the full reference.
When Span Metrics is enabled, the following metrics are generated:
| Metric name (OTLP) | Prometheus exported name | Metric type | Auto-generated labels (dimensions) |
|---|---|---|---|
requests | calls_total | Counter | service.name, span.name, span.kind, status.code |
duration | duration_ms_bucket, duration_ms_sum, duration_ms_count | Histogram | service.name, span.name, span.kind, status.code, le (for bucket) |
errors | errors_total | Counter | service.name, span.name, span.kind, status.code |
Additional dimensions introduced by Coralogix
When using the Coralogix values.yaml, the following dimensions are added to enable APM functionality and enhance data analysis:
extraDimensions:
- name: http.method
- name: cgx.transaction
- name: cgx.transaction.root
- name: status_code
- name: db.namespace
- name: db.operation.name
- name: db.collection.name
- name: db.system
Enabling the Span Metrics preset also turns on:
errorTracking- see API error tracking.serviceVersion- see Grouping service metrics by version. Make sure theservice.versionattribute is added to your service spans.dbMetrics- generates RED metrics for database spans (for example,db_calls_total), which powers Database Monitoring.
For the generated metrics, dimensions, and histogram buckets, see Recommended configurations. To keep high-cardinality metrics in check, see Cardinality limiting.
Permissions
All standard roles (Read-Only User, Standard User, Observability Lead, Data Admin, Platform Admin) include SERVICE-CATALOG:READ and SERVICE-MAP:READ to view APM data. Managing the Service Catalog, Apdex configuration, and dimensions requires Data Admin or higher. See APM permissions for the full list.
Next steps
Once your services are sending spans, learn how Coralogix turns them into long-term metrics in the Span Metrics overview.
Additional resources
| GitHub documentation | Coralogix OTel integration for K8s |
| Tutorial | OpenTelemetry and Coralogix introduction |
| Tutorial | OpenTelemetry Lambda function integration |
| Tutorial | ECS to Coralogix using OpenTelemetry |
