Elastic APM intake receiver
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. 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 Observability
Generally available
Stack
9.2+
Generally available since 9.2
The Elastic APM intake receiver is an OpenTelemetry Collector component that receives APM data from classic Elastic APM Agents. The receiver supports the Elastic Intake v2 protocol and behaves like the Elastic APM Server, so that telemetry is stored in the same format and using the same indices while going through the Collector. This allows users of classic APM agents to gradually migrate to OpenTelemetry and adapt their instrumentation to the new OTel-based approach.
Real user monitoring (RUM) intake and older intake protocols are not supported.
To use the Elastic APM intake receiver, include it in the receiver definitions of the Collector configuration:
receivers:
elasticapmintake:
agent_config:
enabled: false
The Elastic APM intake receiver supports standard HTTP server configuration, including TLS/mTLS and authentication.
You can turn on TLS or mutual TLS to encrypt data in transit between Elastic APM agents and the receiver. Refer to OpenTelemetry TLS server configuration for more details.
For example:
receivers:
elasticapmintake:
tls:
cert_file: server.crt
key_file: server.key
agent_config:
enabled: false
Refer to OpenTelemetry TLS server configuration for more details.
In addition to TLS, you can configure authentication to make sure that only authorized agents can send data to the receiver. The Elastic APM intake receiver supports any configauth authenticator.
Use the recommendedapikeyauth extension to validate Elastic APM API keys. For example:
extensions:
apikeyauth:
endpoint: "<YOUR_ELASTICSEARCH_ENDPOINT>"
application_privileges:
- application: "apm"
privileges:
- "event:write"
resources:
- "-"
receivers:
elasticapmintake:
auth:
authenticator: apikeyauth
tls:
cert_file: server.crt
key_file: server.key
agent_config:
enabled: false
The Elastic APM intake receiver supports the following environment variables:
ELASTIC_APM_API_KEY: The API key to use for authentication.ELASTIC_APM_SERVER_URL: The URL of the Elastic APM server.ELASTIC_APM_SERVER_CERT: The path to the server certificate file.