Configure index lifecycle management
editConfigure index lifecycle management
editUse the index lifecycle management (ILM) feature in Elasticsearch to manage your Metricbeat indices as they age. For example, instead of creating daily indices where index size can vary based on the number of Beats and number of events sent, use an index lifecycle policy to automate a rollover to a new index when the existing index reaches a specified size or age.
Starting with version 7.0, Metricbeat uses index lifecycle management by default when it connects to a cluster that supports lifecycle management. Metricbeat loads the default policy automatically and applies it to any indices created by Metricbeat.
You can view and edit the policy in the Index lifecycle policies UI in Kibana. For more information about working with the UI, see Index lifecyle policies.
Example configuration:
Date math is supported here. For more information, see Using date math with the rollover API. |
If index lifecycle management is enabled (which is typically the default), setup.template.name
and setup.template.pattern
are ignored.
Configuration options
editYou can specify the following settings in the setup.ilm
section of the
metricbeat.yml
config file:
setup.ilm.enabled
editEnables or disables index lifecycle management on any new indices created by
Metricbeat. Valid values are true
, false
, and auto
. When auto
(the
default) is specified on version 7.0 and later, Metricbeat automatically uses
index lifecycle management if the feature is enabled in Elasticsearch and has the
required license; otherwise, Metricbeat creates daily indices.
setup.ilm.rollover_alias
editThe index lifecycle write alias name. The default is
metricbeat-%{[agent.version]}
. Setting this option changes the alias name.
If you modify this setting after loading the index template, you must overwrite the template to apply the changes.
setup.ilm.pattern
editThe rollover index pattern. The default is %{now/d}-000001
.
Date math is supported in this setting. For example:
setup.ilm.pattern: "{now/M{yyyy.MM}}-000001"
For more information, see Using date math with the rollover API.
Before modifying this setting for an existing ILM setup, you must manually remove any aliases related to the previous pattern, then overwrite the policy. Existing indices that don’t match the new pattern might no longer be subject to index lifecycle management.
setup.ilm.policy_name
editThe name to use for the lifecycle policy. The default is
metricbeat
.
setup.ilm.policy_file
editThe path to a JSON file that contains a lifecycle policy configuration. Use this setting to load your own lifecycle policy.
For more information about lifecycle policies, see Set up index lifecycle management policy in the Elasticsearch Reference.
setup.ilm.check_exists
editWhen set to false
, disables the check for an existing lifecycle policy. The
default is true
. You need to disable this check if the Metricbeat
user connecting to a secured cluster doesn’t have the read_ilm
privilege.
If you set this option to false
, set setup.ilm.overwrite: true
so the
lifecycle policy can be installed.
setup.ilm.overwrite
editWhen set to true
, the lifecycle policy is overwritten at startup. The default
is false
.