APM Server and systemd

edit

The DEB and RPM packages include a service unit for Linux systems with systemd. On these systems, you can manage APM Server by using the usual systemd commands.

Start and stop APM Server

edit

Use systemctl to start or stop APM Server:

systemctl start apm-server
systemctl stop apm-server

By default, the APM Server service starts automatically when the system boots. To enable or disable auto start use:

systemctl enable apm-server
systemctl disable apm-server

APM Server status and logs

edit

To get the service status, use systemctl:

systemctl status apm-server

Logs are stored by default in journald. To view the Logs, use journalctl:

journalctl -u apm-server.service

The unit file included in the packages sets the -e flag by default. This flag makes APM Server log to stderr and disables other log outputs. Systemd stores all output sent to stderr in journald.

Customize systemd unit for APM Server

edit

The systemd service unit file includes environment variables that you can override to change the default options.

Variable Description Default value

BEAT_LOG_OPTS

Log options

-e

BEAT_CONFIG_OPTS

Flags for configuration file path

-c /etc/apm-server/apm-server.yml

BEAT_PATH_OPTS

Other paths

-path.home /usr/share/apm-server -path.config /etc/apm-server -path.data /var/lib/apm-server -path.logs /var/log/apm-server

To override these variables, create a drop-in unit file in the /etc/systemd/system/apm-server.service.d directory.

For example a file with the following content placed in /etc/systemd/system/apm-server.service.d/debug.conf would override BEAT_LOG_OPTS to enable debug for Elasticsearch output.

[Service]
Environment="BEAT_LOG_OPTS=-e -d elasticsearch"

To use settings from the APM Server file, empty the environment variable. For example:

[Service]
Environment="BEAT_LOG_OPTS="

To apply your changes, reload the systemd configuration and restart the service:

systemctl daemon-reload
systemctl restart apm-server

It is recommended that you use a configuration management tool to include drop-in unit files. If you need to add a drop-in manually, use systemctl edit apm-server.service.