Menu
Grafana Cloud Enterprise Open source

How label matching works

Use labels and label matchers to link alert rules to notification policies and silences. This allows for a very flexible way to manage your alert instances, specify which policy should handle them, and which alerts to silence.

A label matchers consists of 3 distinct parts, the label, the value and the operator.

  • The Label field is the name of the label to match. It must exactly match the label name.

  • The Value field matches against the corresponding value for the specified Label name. How it matches depends on the Operator value.

  • The Operator field is the operator to match against the label value. The available operators are:

OperatorDescription
=Select labels that are exactly equal to the value.
!=Select labels that are not equal to the value.
=~Select labels that regex-match the value.
!~Select labels that do not regex-match the value.

If you are using multiple label matchers, they are combined using the AND logical operator. This means that all matchers must match in order to link a rule to a policy.

Example scenario

If you define the following set of labels for your alert:

{ foo=bar, baz=qux, id=12 }

then:

  • A label matcher defined as foo=bar matches this alert rule.
  • A label matcher defined as foo!=bar does not match this alert rule.
  • A label matcher defined as id=~[0-9]+ matches this alert rule.
  • A label matcher defined as baz!~[0-9]+ matches this alert rule.
  • Two label matchers defined as foo=bar and id=~[0-9]+ match this alert rule.

Exclude labels

You can also write label matchers to exclude labels.

Here is an example that shows how to exclude the label Team. You can choose between any of the values below to exclude labels.

LabelOperatorValue
team=""
team!~.+
team=~^$