Collect APM Server monitoring data with internal collectors

edit

The following method involves sending the metrics to the production cluster, which ultimately routes them to the monitoring cluster. For an alternative method, see Metricbeat collection.

To learn about monitoring in general, see Monitoring the Elastic Stack.

  1. Create a user that has appropriate authority to send system-level monitoring data to Elasticsearch. For example, you can use the built-in apm_system user or assign the built-in apm_system role to another user. For more information, see Setting Up User Authentication and Built-in Roles.
  2. Add the monitoring settings in the APM Server configuration file. If you configured the Elasticsearch output and want to send APM Server monitoring events to the same Elasticsearch cluster, specify the following minimal configuration:

    monitoring:
      enabled: true
      elasticsearch:
        username: apm_system
        password: somepassword

    If you configured a different output, such as Logstash or you want to send APM Server monitoring events to a separate Elasticsearch cluster (referred to as the monitoring cluster), you must specify additional configuration options. For example:

    monitoring:
      enabled: true
      elasticsearch:
        hosts: ["https://example.com:9200", "https://example2.com:9200"] 
        username: apm_system
        password: somepassword

    This setting identifies the hosts and port numbers of Elasticsearch nodes that are part of the monitoring cluster.

  3. Start APM Server.
  4. View the monitoring data in Kibana.