Step 3: Start

In a production environment, you would put APM Server on its own machines, similar to how you run Elasticsearch. You can run it on the same machines as Elasticsearch, but this is not recommended, as the processes will be competing for resources.

To start APM Server, run:

./apm-server -e

The -e global flag enables logging to stderr and disables syslog/file output. Remove this flag if you’ve enabled logging in the configuration file. For linux systems, see APM Server status and logs.

You should see APM Server start up. It will try to connect to Elasticsearch on localhost port 9200 and expose an API to agents on port 8200. You can change the defaults in apm-server.yml or by supplying a different address on the command line:

./apm-server -e -E output.elasticsearch.hosts=ElasticsearchAddress:9200 -E apm-server.host=localhost:8200

Debian Package / RPM

For Debian package and RPM installations, we recommend the apm-server process runs as a non-root user. Therefore, these installation methods create an apm-server user which you can use to start the process. In addition, APM Server will only start if the configuration file is owned by the user running the process.

To start the APM Server in this case, run:

sudo -u apm-server apm-server [<argument...>]

By default, APM Server loads its configuration file from /etc/apm-server/apm-server.yml. See the deb & rpm default paths for a full directory layout.

Brew

To start APM Server, run:

apm-server -e

To have launchd start APM Server and restart it at login, run:

brew services start elastic/tap/apm-server-full