Specify general settings

You can specify settings in the metricbeat.yml config file to control the general behavior of Metricbeat. This includes:

  • Global options that control things like the maximum random delay to apply to the startup of a metricset.
  • General options that are supported by all Elastic Beats.

Global Metricbeat configuration options

These options are in the metricbeat namespace.

metricbeat.max_start_delay

The maximum random delay to apply to the startup of a metricset. Random delays ranging from [0, max_start_delay) are applied to reduce the thundering herd effect that can occur if a fleet of machines running Metricbeat are restarted at the same time. Specifying a value of 0 disables the startup delay. The default is 10s.

metricbeat.max_start_delay: 10s

General configuration options

These options are supported by all Elastic Beats. Because they are common options, they are not namespaced.

Here is an example configuration:

name: "my-shipper"
tags: ["service-X", "web-tier"]

name

The name of the Beat. If this option is empty, the hostname of the server is used. The name is included as the beat.name field in each published transaction. You can use the name to group all transactions sent by a single Beat.

Example:

name: "my-shipper"

tags

A list of tags that the Beat includes in the tags field of each published transaction. Tags make it easy to group servers by different logical properties. For example, if you have a cluster of web servers, you can add the "webservers" tag to the Beat on each server, and then use filters and queries in the Kibana web interface to get visualisations for the whole group of servers.

Example:

tags: ["my-service", "hardware", "test"]

fields

Optional fields that you can specify to add additional information to the output. Fields can be scalar values, arrays, dictionaries, or any nested combination of these. By default, the fields that you specify here will be grouped under a fields sub-dictionary in the output document. To store the custom fields as top-level fields, set the fields_under_root option to true.

Example:

fields: {project: "myproject", instance-id: "574734885120952459"}

fields_under_root

If this option is set to true, the custom fields are stored as top-level fields in the output document instead of being grouped under a fields sub-dictionary. If the custom field names conflict with other field names, then the custom fields overwrite the other fields.

Example:

fields_under_root: true
fields:
  instance_id: i-10a64379
  region: us-east-1

processors

A list of processors to apply to the data generated by the beat.

See Filter and enhance the exported data for information about specifying processors in your config.

max_procs

Sets the maximum number of CPUs that can be executing simultaneously. The default is the number of logical CPUs available in the system.