Loading

Grant privileges and roles needed for monitoring

Elasticsearch security features provides built-in users and roles for monitoring. The privileges and roles needed depend on the method used to collect monitoring data.

Important note for Elastic Cloud users

Built-in users are not available when running our hosted Elasticsearch Service on Elastic Cloud. To send monitoring data securely, create a monitoring user and grant it the roles described in the following sections.

  • If you’re using internal collection to collect metrics about Metricbeat, Elasticsearch security features provides the beats_system built-in user and beats_system built-in role to send monitoring information. You can use the built-in user, if it’s available in your environment, or create a user who has the privileges needed to send monitoring information.

    If you use the beats_system user, make sure you set the password.

    If you don’t use the beats_system user:

    1. Create a monitoring role, called something like metricbeat_monitoring, that has the following privileges:

      Type Privilege Purpose
      Cluster monitor Retrieve cluster details (e.g. version)
      Index create_index on .monitoring-beats-* indices Create monitoring indices in Elasticsearch
      Index create_doc on .monitoring-beats-* indices Write monitoring events into Elasticsearch
    2. Assign the monitoring role, along with the following built-in roles, to users who need to monitor Metricbeat:

      Role Purpose
      kibana_admin Use Kibana
      monitoring_user Use Stack Monitoring in Kibana to monitor Metricbeat
  • If you’re using Metricbeat to collect metrics about Metricbeat, Elasticsearch security features provides the remote_monitoring_user built-in user, and the remote_monitoring_collector and remote_monitoring_agent built-in roles for collecting and sending monitoring information. You can use the built-in user, if it’s available in your environment, or create a user who has the privileges needed to collect and send monitoring information.

    If you use the remote_monitoring_user user, make sure you set the password.

    If you don’t use the remote_monitoring_user user:

    1. Create a user on the production cluster who will collect and send monitoring information.

    2. Assign the following roles to the user:

      Role Purpose
      remote_monitoring_collector Collect monitoring metrics from Metricbeat
      remote_monitoring_agent Send monitoring data to the monitoring cluster
    3. Assign the following role to users who will view the monitoring data in Kibana:

      Role Purpose
      monitoring_user Use Stack Monitoring in Kibana to monitor Metricbeat