Standalone AppSignal Agent configuration options
The following list includes all configuration options with the name of the environment variable and the name of the key in the configuration file.
For more information on how to configure the Standalone AppSignal Agent with a configuration file or using environment variables, see our configuration section.
Available options
- Required options
- Options
- bind_address
- ca_file_path
- cpu_count
- dns_servers
- enable_host_metrics
- enable_http
- enable_nginx_metrics
- enable_opentelemetry_http
- enable_statsd
- filter_parameters
- filter_session_data
- host_role
- hostname
- http_proxy
- ignore_actions
- ignore_errors
- ignore_namespaces
- log_level
- nginx_port
- opentelemetry_port
- push_api_endpoint
- running_in_container
- send_environment_metadata
- send_params
- send_session_data
- statsd_port
- working_dir_path
app_name
| Config file key | app_name |
|---|---|
| System environment key | APPSIGNAL_APP_NAME |
| Required | yes |
| Type | String |
| Default value | nil (This is unset by default) |
Description
Name of your application as it should be displayed on AppSignal.com.
environment
| Config file key | environment |
|---|---|
| System environment key | APPSIGNAL_APP_ENV |
| Required | yes |
| Type | String |
| Default value | nil (This is unset by default) |
Description
The environment of the app to be reported to AppSignal.
push_api_key
| Config file key | push_api_key |
|---|---|
| System environment key | APPSIGNAL_PUSH_API_KEY |
| Required | yes |
| Type | String |
| Default value | nil (This is unset by default) |
Description
The organization-level authentication key to authenticate with our Push API.
Read more about the AppSignal Push API key.
bind_address
| Config file key | bind_address |
|---|---|
| System environment key | APPSIGNAL_BIND_ADDRESS |
| Required | no |
| Type | String |
| Default value | 127.0.0.1 |
| Available since version | 0.0.24 |
Description
A valid IPv4 address the AppSignal agent uses as a binding for its TCP and UDP servers. Use a specific address if you only want the agent to listen to requests made to that address. Set this option to 0.0.0.0 to allow to receive requests from hosts using any IP address. By default it only listens to requests made on the same host. This option is applied to all the agent servers (StatsD, OpenTelemetry and NGINX).
ca_file_path
| Config file key | ca_file_path |
|---|---|
| System environment key | APPSIGNAL_CA_FILE_PATH |
| Required | no |
| Type | String |
| Default value | Defaults to system CAs. |
Description
- Configure the path of the SSL certificate file.
Use this option to point to another certificate file if there's a problem connecting to our API.
cpu_count
| Config file key | cpu_count |
|---|---|
| System environment key | APPSIGNAL_CPU_COUNT |
| Required | no |
| Type | Float |
| Default value | undefined |
| Available since version | 0.34.1 |
Description
The available CPU capacity of the host, in number of CPUs. This is used to calculate the CPU usage percentage in the host metrics. If not set, the agent will attempt to automatically detect this from cgroups.
The number of CPUs can be a fraction, e.g. 0.5.
dns_servers
| Config file key | dns_servers |
|---|---|
| System environment key | APPSIGNAL_DNS_SERVERS |
| Required | no |
| Type | String |
| Default value | nil (This is unset by default) |
Description
Configure DNS servers for the AppSignal agent to use.
# /etc/appsignal-agent.conf dns_servers = "8.8.8.8,8.8.4.4"
If you're affected by our DNS timeouts, try setting a DNS server manually using this option that doesn't use more than 4 dots in the server name.
- Acceptable values:
8.8.8.8,my.custom.local.server. - Not acceptable values:
foo,my.awesome.custom.local.dns.server.
If the DNS server cannot be reached the agent will fall back on the host's DNS configuration and output a message in the appsignal.log file: A problem occurred while setting DNS servers.
enable_host_metrics
| Config file key | enable_host_metrics |
|---|---|
| System environment key | APPSIGNAL_ENABLE_HOST_METRICS |
| Required | no |
| Type | Boolean (true / false) |
| Default value | true / detected by system |
| Available since version | 0.0.1 |
|
Description
Set this option to false to disable host metrics collection.
On Heroku and Dokku host metrics are disabled by default. This is done because these systems will report inaccurate metrics from within the containers. Host metrics collection on these systems cannot be enabled. For Heroku, use the Heroku log drain instead.
enable_http
| Config file key | enable_http |
|---|---|
| Required | no |
| Type | Boolean (true / false) |
| Default value | false |
| Available since version | 0.0.23 |
|
Description
Set this option to true to enable the OpenTelemetry HTTP server.
When enabled, the AppSignal agent will listen to a localhost-bound server on port 8099. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
This is required for apps using the OpenTelemetry HTTP exporter to report data to AppSignal.
enable_nginx_metrics
| Config file key | enable_nginx_metrics |
|---|---|
| System environment key | APPSIGNAL_ENABLE_NGINX_METRICS |
| Required | no |
| Type | Boolean (true / false) |
| Default value | false |
| Available since version | 0.0.24 |
|
Description
Set to true to enable the NGINX metrics server. See the NGINX metrics documentation for details.
When enabled, the AppSignal agent will listen to a localhost-bound server on port 27649. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
enable_opentelemetry_http
| Config file key | enable_opentelemetry_http |
|---|---|
| System environment key | APPSIGNAL_ENABLE_OPENTELEMETRY_HTTP |
| Required | no |
| Type | Boolean (true / false) |
| Default value | false / detected by system |
| Available since version | 0.0.25 |
|
Description
Set this option to true to enable the OpenTelemetry HTTP server.
When enabled, the AppSignal agent will listen to a localhost-bound server on port 8099. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
This is required for apps using the OpenTelemetry HTTP exporter to report data to AppSignal.
enable_statsd
| Config file key | enable_statsd |
|---|---|
| System environment key | APPSIGNAL_ENABLE_STATSD |
| Required | no |
| Type | Boolean (true / false) |
| Default value | true |
| Available since version | 0.0.24 |
Description
Enables the StatsD server in the AppSignal agent.
When enabled, the AppSignal agent will listen to a localhost-bound server on port 8125. If you're running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
filter_parameters
| Config file key | filter_parameters |
|---|---|
| System environment key | APPSIGNAL_FILTER_PARAMETERS |
| Required | no |
| Type | Array<String> |
| Default value | [] |
| Available since version | 0.0.23 |
Description
List of parameter keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal.
# appsignal.conf filter_parameters = ["password", "confirm_password", "secret"]
Read more about parameter filtering.
filter_session_data
| Config file key | filter_session_data |
|---|---|
| System environment key | APPSIGNAL_FILTER_SESSION_DATA |
| Required | no |
| Type | Array<String> |
| Default value | [] |
| Available since version | 0.0.23 |
Description
List of session data keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal.
# appsignal.conf filter_session_data = ["secret_token_one", "secret_token_two"]
Read more about session data filtering.
host_role
| Config file key | host_role |
|---|---|
| System environment key | APPSIGNAL_HOST_ROLE |
| Required | no |
| Type | String |
| Default value | nil (This is unset by default) |
| Available since version | 0.0.28 |
Description
Group hosts by role and generate metrics based on this role. One such metric is the reporting_hosts counter metric. A good role indicates what the main role of the server is, like "webserver", "processor", "api", "database", "loadbalancer", etc.
hostname
| Config file key | hostname |
|---|---|
| System environment key | APPSIGNAL_HOSTNAME |
| Required | no |
| Type | String |
| Default value | detected from system |
Description
This overrides the server's hostname. Useful for when you're unable to set a custom hostname or when a nondescript id is generated for you on hosting services.
http_proxy
| Config file key | http_proxy |
|---|---|
| System environment key | APPSIGNAL_HTTP_PROXY |
| Required | no |
| Type | String |
| Default value | nil (This is unset by default) |
Description
If you require the agent to connect to the Internet via a proxy set the complete proxy URL in this configuration key.
ignore_actions
| Config file key | ignore_actions |
|---|---|
| System environment key | APPSIGNAL_IGNORE_ACTIONS |
| Required | no |
| Type | Array<String> |
| Default value | [] |
| Available since version | 0.0.26 |
Description
With this config option you can specify a list of actions that will be ignored by AppSignal. Everything that happens including exceptions will not be transmitted to AppSignal. This can be useful to ignore health check endpoints or other actions that you don't want to monitor.
Read more about ignoring actions.
ignore_errors
| Config file key | ignore_errors |
|---|---|
| System environment key | APPSIGNAL_IGNORE_ERRORS |
| Required | no |
| Type | Array<String> |
| Default value | [] |
| Available since version | 0.0.26 |
Description
List of error classes that will be ignored. Any exception raised with this error class will not be transmitted to AppSignal.
Read more about ignoring errors.
ignore_namespaces
| Config file key | ignore_namespaces |
|---|---|
| System environment key | APPSIGNAL_IGNORE_NAMESPACES |
| Required | no |
| Type | Array<String> |
| Default value | [] |
| Available since version | 0.0.26 |
Description
List of namespaces that will be ignored. Any error raised or slow request that occurs in this namespace will not be send to AppSignal.
Read more about namespaces.
log_level
| Config file key | log_level |
|---|---|
| System environment key | APPSIGNAL_LOG_LEVEL |
| Required | no |
| Type | String |
| Default value | info |
Description
Set the severity level of AppSignal's internal logger. If it is configured to "info" it will log all error, warning and info messages, but not log the debug messages.
Setting it to the levels "debug" or "trace" is usually only needed on request from support. Setting the level to "debug"/"trace" could have a slight impact on the disk usage and IO, especially on high-traffic sites. CPU overhead is minimal with the debug option enabled.
Accepted values:
- error
- warning
- info
- debug
- trace
nginx_port
| Config file key | nginx_port |
|---|---|
| System environment key | APPSIGNAL_NGINX_PORT |
| Required | no |
| Type | Integer |
| Default value | 27649 |
| Available since version | 0.36.6 |
Description
Configure the port on which the NGINX metrics server is exposed.
When AppSignal receives NGINX metrics, it listens on a localhost-bound server, by default on port 27649. If you're running several AppSignal-instrumented applications in the same server with NGINX metrics enabled, use this option to configure each application to listen on a different port.
opentelemetry_port
| Config file key | opentelemetry_port |
|---|---|
| System environment key | APPSIGNAL_OPENTELEMETRY_PORT |
| Required | no |
| Type | Integer |
| Default value | 8099 |
| Available since version | 0.0.28 |
Description
Set this option to configure the OpenTelemetry HTTP server port of the AppSignal agent process. Configure this port if another process is already running on the machine that is also using this port to avoid conflicts.
push_api_endpoint
| Config file key | push_api_endpoint |
|---|---|
| System environment key | APPSIGNAL_PUSH_API_ENDPOINT |
| Required | no |
| Type | String |
| Default value | https://push.appsignal.com |
Description
Configure the endpoint to send data to AppSignal. This setting will not have to be changed.
running_in_container
| Config file key | running_in_container |
|---|---|
| System environment key | APPSIGNAL_RUNNING_IN_CONTAINER |
| Required | no |
| Type | Boolean (true / false) |
| Default value | detected by agent |
| Available since version | 0.0.27 |
Description
AppSignal expects to be running on the same machine between different deploys. Set this key to true if the application is running in a container, such as with Docker.
Newer versions of the AppSignal integration automatically detect its container environment, so no manual configuration is necessary. If you're having trouble with the automatic detection, please contact support.
This option is set to true automatically on Heroku.
send_environment_metadata
| Config file key | send_environment_metadata |
|---|---|
| System environment key | APPSIGNAL_SEND_ENVIRONMENT_METADATA |
| Required | no |
| Type | Boolean (true / false) |
| Default value | true |
Description
Send environment metadata about the app.
For more information please read about environment metadata.
send_params
| Config file key | send_params |
|---|---|
| System environment key | APPSIGNAL_SEND_PARAMS |
| Required | no |
| Type | Boolean (true / false) |
| Default value | true |
| Available since version | 0.0.24 |
Description
Whether to skip sending request parameters to AppSignal.
For more information please read about send_params in filtering request parameters.
send_session_data
| Config file key | send_session_data |
|---|---|
| System environment key | APPSIGNAL_SEND_SESSION_DATA |
| Required | no |
| Type | Boolean (true / false) |
| Default value | true |
| Available since version | 0.0.24 |
Description
Set this option to false to not send any session data with exception traces and performance issue samples.
For more information please read about request session data filtering.
statsd_port
| Config file key | statsd_port |
|---|---|
| System environment key | APPSIGNAL_STATSD_PORT |
| Required | no |
| Type | Integer |
| Default value | 8125 |
| Available since version | 0.0.28 |
Description
Set this option to configure the StatsD HTTP server port of the AppSignal agent process. Configure this port if another process is already running on the machine that is also using this port to avoid conflicts.
working_dir_path
| Config file key | working_dir_path |
|---|---|
| System environment key | APPSIGNAL_WORKING_DIRECTORY_PATH |
| Required | no |
| Type | String |
| Default value | /var/lib/appsignal-agent |
Description
Override the location where the Standalone AppSignal Agent can store temporary files. Use this option if the default location is not suitable. See our how AppSignal operates page for more information about the purpose of this working directory.