General configuration options

edit

Example config file:

apm-server:
  host: "localhost:8200"
  concurrent_requests: 5
  rum:
    enabled: true

queue.mem.events: 4096

max_procs: 4

Configuration options: apm-server.*

edit

host

edit

Defines the host and port the server is listening on. Use "unix:/path/to.sock" to listen on a unix domain socket. Defaults to localhost:8200.

max_header_size

edit

Maximum permitted size of a request’s header accepted by the server to be processed (in Bytes). Defaults to 1048576 Bytes (1 MB).

read_timeout

edit

Maximum permitted duration for reading an entire request. Defaults to 30 seconds.

write_timeout

edit

Maximum permitted duration for writing a response. Defaults to 30 seconds.

shutdown_timeout

edit

Maximum duration in seconds before releasing resources when shutting down the server. Defaults to 5 seconds.

Configuration options: v1 Intake API [6.5] Deprecated in 6.5.

edit

Version 6.5 of the APM Server introduced a new intake API. You can learn more about this change in the intake API changes documentation.

If you do not upgrade your APM Agent, you’ll continue to use the deprecated v1 intake API endpoint, and thus, the following configuration options.

metrics [6.5] Deprecated in 6.5.

edit

Metrics endpoint for collecting application metrics. Enabled by default.

max_unzipped_size [6.5] Deprecated in 6.5.

edit

Maximum permitted size of an unzipped request accepted by the server to be processed (in Bytes). Defaults to 31457280 Bytes (30 MB).

max_request_queue_time [6.5] Deprecated in 6.5.

edit

Maximum duration a request will be queued before being read. Defaults to 2 seconds.

concurrent_request [6.5] Deprecated in 6.5.

edit

Maximum number of requests the server can process concurrently. Read more about how to tune data ingestion by adjusting concurrent_requests. Default value is 5.

Configuration options: v2 Intake API

edit

Version 6.5 of the APM Server introduced a new intake API. You can learn more about this change in the intake API changes documentation.

The following configuration options only affect users that have upgraded their agent to take advantage of the new v2 intake API.

max_event_size

edit

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

Configuration options: general

edit

max_connections

edit

Maximum number of TCP connections to accept simultaneously. Default value is 0, which means unlimited.

secret_token

edit

Authorization token for sending data to the APM server. If a token is set, the agents must send it in the following format: Authorization: Bearer <secret-token>. The token is not used for RUM endpoints. By default, no authorization token is set.

It is recommended to use an authorization token in combination with SSL enabled. Read more about Securing APM Server and the secret token.

capture_personal_data

edit

If true, APM Server captures the IP of the instrumented service and its User Agent if any. Enabled by default.

expvar.enabled

edit

When set to true APM Server exposes golang expvar. Disabled by default.

expvar.url

edit

Configure the url to expose expvar. Defaults to debug/vars.

instrumentation.enabled

edit

Enables self instrumentation of the APM Server itself. Disabled by default.

register.ingest.pipeline.enabled

edit

Loads pipeline definitions to Elasticsearch on APM Server startup. Defaults to false.

register.ingest.pipeline.overwrite

edit

Overwrites existing pipeline definitions in Elasticsearch. Defaults to true.

Configuration options: queue.mem.*

edit

Data is buffered in a memory queue before it is published to the configured output. queue.mem.* settings modify the queue behavior.

events

edit

Maximum number of events the memory queue can buffer. Read more about how this setting can be used for tuning data ingestion. Default value is 4096.

flush.min_events

edit

Hints the minimum number of events stored in the queue, before providing a batch of events to the outputs. A value of 0 (the default) ensures events are immediately available to be sent to the outputs.

flush.timeout

edit

Maximum duration after which events are available to the outputs, if the number of events stored in the queue is < min_flush_events. Default value is 1 second.

Configuration options: max_procs

edit

max_procs

edit

Sets the maximum number of CPUs that can be executing simultaneously. The default is the number of logical CPUs available in the system.