[role="xpack"]
[[agent-configuration]]
=== APM Agent central configuration

++++
<titleabbrev>Configure APM agents with central config</titleabbrev>
++++

APM Agent configuration allows you to fine-tune your agent configuration from within the APM app.
Changes are automatically propagated to your APM agents, so there's no need to redeploy.

To get started, choose the services and environments you wish to configure.
The APM app will let you know when your agents have applied your configurations.

[role="screenshot"]
image::apm/images/apm-agent-configuration.png[APM Agent configuration in Kibana]

[float]
==== Precedence

Configurations set from the APM app take precedence over configurations set locally in each Agent.
However, if APM Server is slow to respond, is offline, reports an error, etc.,
APM agents will use local defaults until they're able to update the configuration.
For this reason, it is still essential to set custom default configurations locally in each of your agents.

[float]
==== Supported configurations

Each Agent has a list of supported configurations.
After selecting a Service name and environment in the APM app,
a list of all supported configuration options,
including descriptions and default values, will be displayed.

Supported configurations are also tagged with the image:./images/dynamic-config.svg[] badge in each Agent's configuration reference:

[horizontal]
Go Agent:: {apm-go-ref}/configuration.html[Configuration reference]
iOS agent:: _Not yet supported_
Java Agent:: {apm-java-ref}/configuration.html[Configuration reference]
.NET Agent:: {apm-dotnet-ref}/configuration.html[Configuration reference]
Node.js Agent:: {apm-node-ref}/configuration.html[Configuration reference]
PHP Agent:: {apm-php-ref}/configuration.html[Configuration reference]
Python Agent:: {apm-py-ref}/configuration.html[Configuration reference]
Ruby Agent:: {apm-ruby-ref}/configuration.html[Configuration reference]
Real User Monitoring (RUM) Agent:: {apm-rum-ref}/configuration.html[Configuration reference]
