General configuration optionsedit
Example config file:
apm-server:
host: "localhost:8200"
rum:
enabled: true
output:
elasticsearch:
hosts: ElasticsearchAddress:9200
queue.mem.events: 4096
max_procs: 4
If you are using an X-Pack secured version of Elastic Stack, you need to specify credentials in the config file before you run the commands that set up and start APM Server. For example:
output.elasticsearch: hosts: ["ElasticsearchAddress:9200"] username: "elastic" password: "elastic"
Configuration options: apm-server.*edit
hostedit
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_sizeedit
Maximum permitted size of a request’s header accepted by the server to be processed (in Bytes). Defaults to 1048576 Bytes (1 MB).
idle_timeoutedit
Maximum amount of time to wait for the next incoming request before underlying connection is closed. Defaults to 45 seconds.
read_timeoutedit
Maximum permitted duration for reading an entire request. Defaults to 30 seconds.
write_timeoutedit
Maximum permitted duration for writing a response. Defaults to 30 seconds.
shutdown_timeoutedit
Maximum duration in seconds before releasing resources when shutting down the server. Defaults to 5 seconds.
max_event_sizeedit
Maximum permitted size of an event accepted by the server to be processed (in Bytes). Defaults to 307200 Bytes.
Configuration options: generaledit
max_connectionsedit
Maximum number of TCP connections to accept simultaneously. Default value is 0, which means unlimited.
auth.secret_tokenedit
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.
secret_tokenedit
Deprecated in 7.14.0.
Replaced by auth.secret_token. See auth.secret_token
In versions prior to 7.14.0, secret token authorization was known as apm-server.secret_token. In 7.14.0 this was renamed apm-server.auth.secret_token.
The old configuration will continue to work until 8.0.0, and the new configuration will take precedence.
capture_personal_dataedit
If true, APM Server captures the IP of the instrumented service and its User Agent if any. Enabled by default.
default_service_environmentedit
Sets the default service environment to associate with data and requests received from agents which have no service environment defined.
expvar.enablededit
When set to true APM Server exposes golang expvar. Disabled by default.
expvar.urledit
Configure the url to expose expvar.
Defaults to debug/vars.
instrumentation.enablededit
Enables self instrumentation of the APM Server itself. Disabled by default.
register.ingest.pipeline.enablededit
Loads the default pipeline definition to Elasticsearch on APM Server startup. Defaults to true.
register.ingest.pipeline.overwriteedit
Overwrites the existing APM pipeline definition in Elasticsearch. Defaults to false.
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.
eventsedit
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_eventsedit
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.timeoutedit
Maximum duration after which events are available to the outputs,
if the number of events stored in the queue is < flush.min_events.
Default value is 1 second.
Configuration options: max_procsedit
max_procsedit
Sets the maximum number of CPUs that can be executing simultaneously. The default is the number of logical CPUs available in the system.