2024-05-24 16:09:35 +08:00
---
labels:
products:
- enterprise
- oss
title: 'How label matching works'
---
{{< collapse title = "How label matching works" > }}
2024-12-13 23:26:45 +08:00
Use [labels ](ref:shared-alert-labels ) and label matchers to link alert rules to [notification policies ](ref:shared-notification-policies ) and [silences ](ref:shared-silences ). This allows for a flexible way to manage your alert instances, specify which policy should handle them, and which alerts to silence.
2024-05-24 16:09:35 +08:00
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:
| Operator | Description |
| -------- | -------------------------------------------------- |
| `=` | 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. |
2025-06-20 00:31:13 +08:00
{{< admonition type = "note" > }}
2024-05-24 16:09:35 +08:00
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.
2025-06-20 00:31:13 +08:00
{{< / admonition > }}
2024-05-24 16:09:35 +08:00
**Label matching example**
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.
| Label | Operator | Value |
| ------ | -------- | ----- |
| `team` | `=` | `""` |
| `team` | `!~` | `.+` |
| `team` | `=~` | `^$` |
{{< / collapse > }}