APM input settings

edit

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

To edit the APM integration input settings, open Kibana and select: Fleet / Integrations / Elastic APM / Add Elastic APM. Expand the carrot to view all settings.

A limited number of settings are currently supported.

Templates, pipelines, index lifecycle management, etc., cannot be configured with APM Server or Fleet, and must instead be configured with Kibana or Elasticsearch. Learn more.

General settings

edit

host

(string) Defines the host and port the server is listening on. Use unix:/path/to.sock to listen on a unix domain socket.

Default: localhost:8200

secret_token

(string) Authorization token for sending APM data. The same token must also be set in each APM agent. This token is not used for RUM endpoints. By default, no authorization token is set.

max_event_bytes

(int) Maximum permitted size of an event accepted by the server to be processed (in Bytes).

Default: 307200 Bytes

default_service_environment

(string) The default service environment for events without a defined service environment.

capture_personal_data

(bool) Capture personal data such as IP or User Agent. If true, APM Server captures the IP of the instrumented service and its User Agent if any.

Default: true

Real User Monitoring (RUM) settings

edit

enable_rum

(bool) Enables and disables Real User Monitoring (RUM).

Default: false (disabled)

rum_allow_origins

(string) A list of permitted origins for RUM support. User-agents send an Origin header that will be validated against this list. This is done automatically by modern browsers as part of the CORS specification. An origin is made of a protocol scheme, host and port, without the URL path.

Default: ["*"] (allows everything)

rum_allow_headers

(string) By default, HTTP requests made from the RUM agent to the APM integration are limited in the HTTP headers they are allowed to have. If any other headers are added, the request will be rejected by the browser due to Cross-Origin Resource Sharing (CORS) restrictions. If you need to add extra headers to these requests, use this configuration to allow additional headers.

The default list of values includes "Content-Type", "Content-Encoding", and "Accept". Configured values are appended to the default list and used as the value for the Access-Control-Allow-Headers header.

rum_response_headers

(yaml) Custom HTTP headers to add to RUM responses. For example, for security policy compliance.

rum_event_rate_limit

(int) Defines the maximum amount of events allowed to be sent to the APM Server RUM endpoint per ip per second.

Default: 300

rum_event_rate_lru_size

(int) An LRU cache is used to keep a rate limit per IP for the most recently seen IPs. This setting defines the number of unique IPs that can be tracked in the cache. Sites with many concurrent clients should consider increasing this limit.

Default: 1000

API key settings

edit

api_key_enabled

(bool) Enable or disable API key authorization between APM Server and APM agents.

Default: false (disabled)

api_key_limit

(int) Each unique API key triggers one request to Elasticsearch. This setting restricts the number of unique API keys are allowed per minute. The minimum value for this setting should be the number of API keys configured in your monitored services.

Default: 100

sourcemap_api_key

(string) RUM API key for sourcemaps. Formatted as <Id>:<API Key>.

kibana_api_key

(string) API Key for APM central configuration feature. Formatted as <Id>:<API Key>.