APM Config extension
Serverless Observability Stack EDOT Collector
The APM Config extension (apmconfigextension) enables central configuration for Elastic Distribution of OpenTelemetry SDKs through the Open Agent Management Protocol (OpAMP). It establishes a control channel between the Elastic Distribution of OpenTelemetry Collector and an OpAMP-enabled APM Server endpoint so that configuration updates can be retrieved and delivered dynamically to connected SDKs.
Stack This extension is required when using the Central Configuration feature for Elastic Distribution of OpenTelemetry SDKs.
For full contrib details, refer to the OpenTelemetry apmconfigextension documentation.
The extension acts as an OpAMP client, opening a bidirectional control channel to the OpAMP endpoint exposed by APM Server. Through this channel:
- The Collector requests configuration bundles for connected Elastic Distribution of OpenTelemetry SDKs.
- The configuration server sends updates based on user changes in the Applications UI.
- Updated configuration is distributed to Elastic Distribution of OpenTelemetry SDKs using OpAMP-supported mechanisms.
The extension does not modify telemetry or manage pipelines. Its sole purpose is configuration synchronization.
Common scenarios where the APM Config extension is required:
Central configuration for Elastic Distribution of OpenTelemetry SDKs. Enables dynamic updates to sampling, attribute collection, security settings, and custom SDK options.
Standalone Elastic Distribution of OpenTelemetry Collector deployments. The extension can connect directly to the APM Server OpAMP endpoint.
Managing large fleets of instrumented services. Allows consistent and centralized control of SDK configuration without requiring application restarts.
Integration with Fleet Server (Fleet OpAMP endpoint) is not available at this time.
The following examples show how to configure the APM Config extension for different deployment scenarios:
extensions:
bearertokenauth:
scheme: "APIKey"
token: "<ENCODED_ELASTICSEARCH_APIKEY>"
apmconfig:
opamp:
protocols:
http:
endpoint: "https://apm.example.com:8200/opamp"
source:
elasticsearch:
endpoint: "<ELASTICSEARCH_ENDPOINT>"
auth:
authenticator: bearertokenauth
service:
extensions: [bearertokenauth, apmconfig]
You can configure timeouts or connection behavior:
extensions:
apmconfig:
opamp:
protocols:
http:
endpoint: "https://apm.example.com:8200/opamp"
timeout: 30s
tls:
insecure_skip_verify: false
The following are the most important settings when configuring the APM Config extension:
| Option | Description |
|---|---|
opamp.protocols.http.endpoint |
The OpAMP server endpoint. Required for standalone deployments. |
opamp.protocols.http.headers |
HTTP headers used for authentication, such as API keys. |
opamp.protocols.http.tls |
TLS options, including certificate verification behavior. |
opamp.protocols.http.timeout |
Timeout for OpAMP communication. |
The endpoint must point to an OpAMP-enabled APM Server Server. Standard ingest or OTLP endpoints will not work.
For the complete list of configuration options, refer to the contrib apmconfigextension documentation.