Configure APM instrumentationedit

Libbeat uses the Elastic APM Go Agent to instrument its publishing pipeline. Currently, only the Elasticsearch output is instrumented. To gain insight into the performance of APM Server, you can enable this instrumentation and send trace data to APM Server.

Example configuration with instrumentation enabled:

instrumentation:
  enabled: true
  environment: production
  hosts:
    - "http://localhost:8200"
  api_key: L5ER6FEvjkmlfalBealQ3f3fLqf03fazfOV

Configuration optionsedit

You can specify the following options in the instrumentation section of the apm-server.yml config file:

enablededit

Set to true to enable instrumentation of APM Server. Defaults to false.

environmentedit

Set the environment in which APM Server is running, for example, staging, production, dev, etc. Environments can be filtered in the APM app.

hostsedit

The APM Server hosts to report instrumentation data to. Defaults to http://localhost:8200.

api_keyedit

API key used to secure communication with the APM Server(s). If api_key is set then secret_token will be ignored.

secret_tokenedit

Secret token used to secure communication with the APM Server(s).

profiling.cpu.enablededit

Set to true to enable CPU profiling, where profile samples are recorded as events.

This feature is experimental.

profiling.cpu.intervaledit

Configure the CPU profiling interval. Defaults to 60s.

This feature is experimental.

profiling.cpu.durationedit

Configure the CPU profiling duration. Defaults to 10s.

This feature is experimental.

profiling.heap.enablededit

Set to true to enable heap profiling.

This feature is experimental.

profiling.heap.intervaledit

Configure the heap profiling interval. Defaults to 60s.

This feature is experimental.