Elastic APM Intake OpenTelemetry Input Package
| Version | 0.1.0
|
| Subscription level What's this? |
Basic |
| Developed by What's this? |
Elastic |
| Minimum Kibana version(s) | 9.4.0 |
To use pre-release integrations, go to the Integrations page in Kibana, scroll down, and toggle on the Display beta integrations option.
The Elastic APM Intake OpenTelemetry Input Package enables the EDOT (Elastic Distribution of OpenTelemetry) Collector to receive APM data from Elastic APM agents using the elasticapmintakereceiver.
This package allows existing Elastic APM agents to send telemetry data to an OpenTelemetry Collector instead of directly to APM Server, enabling integration with OpenTelemetry-based observability pipelines.
This package configures the elasticapmintakereceiver in the EDOT Collector to accept HTTP data via the APM Intake V2 format. Elastic APM agents can then be configured to point to the collector endpoint instead of APM Server.
The receiver accepts traces, metrics, and logs from Elastic APM agents and forwards them through the OpenTelemetry pipeline for processing and export to Elasticsearch.
This integration collects APM telemetry data from Elastic APM agents:
| Data Type | Description |
|---|---|
| Traces | Distributed tracing data including spans and transactions |
| Metrics | Application performance metrics |
| Logs | Application logs correlated with traces |
- Elastic Stack version 9.4.0 or later is required
- Only the APM Intake V2 protocol is supported
- RUM (Real User Monitoring) intake and earlier protocols are not supported
- Compatible with Elastic APM agents that support the Intake V2 protocol
- Elastic Stack version 9.4.0 or later
- Elastic Agent with EDOT Collector support
- Elastic APM agents configured to send data to the collector endpoint
Elastic Agent must be installed. For more details, check the Elastic Agent installation instructions. You can install only one Elastic Agent per host.
Configure the following settings:
- Endpoint: The address where the receiver listens for APM agent connections (default:
localhost:8200). The default only accepts connections from the same host. To accept traffic from remote APM agents, set this to0.0.0.0:8200or a specific bind IP/port reachable by your agents. - TLS Settings (optional): Enable TLS for encrypted connections between APM agents and the receiver. When
Enable TLSis on, both the TLS Certificate File and TLS Key File must be provided; the TLS Client CA File enables mutual TLS. - API key authentication (optional): Validate APM API keys via the apikeyauth extension. Requires the Elasticsearch endpoint used for API key validation; if missing, the receiver fails to start.
- Data Stream Dataset (optional): Override the dataset used to route APM data into Elasticsearch. Defaults to
elasticapmintakereceiver.
- Agent Configuration: Fetching APM Central Configurations from Elasticsearch is not supported. The receiver's agent config feature requires an Elasticsearch connection that this package does not expose. The Enable Agent Configuration option must remain disabled.
Configure your Elastic APM agents to point to the collector:
# Example environment variables for APM agents
ELASTIC_APM_SERVER_URL=http://localhost:8200
For TLS-enabled connections:
ELASTIC_APM_SERVER_URL=https://localhost:8200
ELASTIC_APM_SERVER_CERT=/path/to/server.crt
Once configured, you can verify data is being received by checking for APM documents in Elasticsearch:
- Navigate to Kibana > Discover
- Search for APM-related indices (for example,
traces-*,metrics-*,logs-*) - Verify that documents from your instrumented applications appear
For help with Elastic ingest tools, check Common problems.
- Connection refused: Ensure the endpoint is accessible from the APM agents
- TLS errors: Verify certificate paths and that the APM agent trusts the server certificate
- No data appearing: Check that APM agents are using the Intake V2 protocol
For more information on architectures that can be used for scaling this integration, check the Ingest Architectures documentation.
This package uses the Elastic APM Intake Receiver from the Elastic OpenTelemetry Collector Components. For the supported signal types (traces, metrics, logs) and field mappings, see the receiver's metadata.yaml and README.md.
Changelog
| Version | Details | Minimum Kibana version |
|---|---|---|
| 0.1.0 | Enhancement (View pull request) Initial draft of the package |
9.4.0 |