Load the Elasticsearch index template

edit

Load the Elasticsearch index template

edit

The setup.template section of the metricbeat.yml config file specifies the index template to use for setting mappings in Elasticsearch. If template loading is enabled (the default), Metricbeat loads the index template automatically after successfully connecting to Elasticsearch.

A connection to Elasticsearch is required to load the index template. If the output is Logstash, you must load the template manually.

You can adjust the following settings to load your own template or overwrite an existing one.

setup.template.enabled
Set to false to disable template loading. If set this to false, you must load the template manually.
setup.template.name
The name of the template. The default is metricbeat. The Metricbeat version is always appended to the given name, so the final name is metricbeat-%{[beat.version]}.
setup.template.pattern

The template pattern to apply to the default index settings. The default pattern is metricbeat-*. The Metricbeat version is always included in the pattern, so the final pattern is metricbeat-%{[beat.version]}-*. The wildcard character -* is used to match all daily indices.

Example:

setup.template.name: "metricbeat"
setup.template.pattern: "metricbeat-*"
setup.template.fields
The path to the YAML file describing the fields. The default is fields.yml. If a relative path is set, it is considered relative to the config path. See the Directory layout section for details.
setup.template.overwrite
A boolean that specifies whether to overwrite the existing template. The default is false.
setup.template.settings

A dictionary of settings to place into the settings.index dictionary of the Elasticsearch template. For more details about the available Elasticsearch mapping options, please see the Elasticsearch mapping reference.

Example:

setup.template.name: "metricbeat"
setup.template.fields: "fields.yml"
setup.template.overwrite: false
setup.template.settings:
  index.number_of_shards: 1
  index.number_of_replicas: 1
setup.template.settings._source

A dictionary of settings for the _source field. For the available settings, please see the Elasticsearch reference.

Example:

setup.template.name: "metricbeat"
setup.template.fields: "fields.yml"
setup.template.overwrite: false
setup.template.settings:
  _source.enabled: false
setup.template.append_fields
A list of of fields to be added to the template and Kibana index pattern. [preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

With append_fields only new fields can be added an no existing one overwritten or changed. This is especially useful if data is collected through the http/json metricset where the data structure is not known in advance. Changing the config of append_fields means the template has to be overwritten and only applies to new indices. If there are 2 Beats with different append_fields configs the last one writing the template will win. Any changes will also have an affect on the Kibana Index pattern.