Collect application data
Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud. Availability This functionality is generally available and ready for production usage. Serverless interfaces and procedures might differ from classic Elastic Stack deployments. The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability This functionality is generally available and ready for production usage. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
Serverless
Generally available
Stack
Generally available
Send application traces, metrics, and logs to Elastic APM by instrumenting your services. Choose an Elastic OpenTelemetry, an Elastic APM agent, or a service-specific tool for Kubernetes, AWS Lambda, and Jaeger. Compare the options below to pick the right approach for each service.
For Observability Serverless projects, the Admin role or higher is required to send APM data to Elastic. To learn more, refer to Assign user roles and privileges.
Use Elastic APM agents or an OpenTelemetry language SDK to instrument a service in the language its written in:
- OpenTelemetry: OpenTelemetry is an open source set of APIs, SDKs, tooling, and integrations that enable the capture and management of telemetry data from your services and applications. Elastic offers Elastic OpenTelemetry, which are customized versions of OpenTelemetry language SDKs that are optimized to work with an Elastic backend.
- Elastic APM agents: Elastic APM agents are instrumentation libraries written in the same language as your service.
Not sure which method is right for you? Compare the available options.
| Elastic OpenTelemetry | Elastic APM agent | |
|---|---|---|
| Support level | Fully supported for available languages | Fully supported |
| Data protocol | OpenTelemetry protocol (OTLP) | Elastic protocol |
| Central configuration |
Availability
Preview
This functionality is in technical preview and is ready for evaluation. Use with caution in production; it is not recommended for mission-critical workloads. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. Specific Support terms apply.
Supported Refer to Central configuration |
Supported Refer to APM agent central configuration |
For a comparison of Elastic OpenTelemetry and APM data streams, refer to Comparison with classic APM data streams.
| Language | Elastic OpenTelemetry | Elastic APM agent |
|---|---|---|
| Android | EDOT Android | Not available |
| Go | Not available | Go agent |
| iOS | EDOT iOS | Not available |
| Java | EDOT Java | Java agent |
| .NET | EDOT .NET | .NET agent |
| Node.js | EDOT Node.js | Node.js agent |
| PHP | EDOT PHP | PHP agent |
| Python | EDOT Python | Python agent |
| Ruby | Not available | Ruby agent |
Elastic also offers several tools to help you collect data from specific services:
- Kubernetes: The Elastic APM attacher for Kubernetes simplifies the instrumentation and configuration of your application pods. Read more in the APM attacher for Kubernetes docs.
- AWS Lambda Functions: Helps you monitor your AWS Lambda functions. Read more in the APM Architecture for AWS Lambda docs.
- Jaeger (deprecated): Helps you to switch an existing Jaeger setup from the default Jaeger backend to the Elastic Stack. Read more in Integrate with Jaeger.