Path: blob/main/docs/sources/shared/flow/reference/components/rule-block.md
5327 views
------The rule block contains the definition of any relabeling rules that can be applied to an input metric. If more than one rule block is defined, the transformations are applied in top-down order.
The following arguments can be used to configure a rule. All arguments are optional. Omitted fields take their default values.
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
source_labels | list(string) | The list of labels whose values are to be selected. Their content is concatenated using the separator and matched against regex. | no | |
separator | string | The separator used to concatenate the values present in source_labels. | ; | no |
regex | string | A valid RE2 expression with support for parenthesized capture groups. Used to match the extracted value from the combination of the source_label and separator fields or filter labels during the labelkeep/labeldrop/labelmap actions. | (.*) | no |
modulus | uint | A positive integer used to calculate the modulus of the hashed source label values. | no | |
target_label | string | Label to which the resulting value will be written to. | no | |
replacement | string | The value against which a regex replace is performed, if the regex matches the extracted value. Supports previously captured groups. | $1 | no |
action | string | The relabeling action to perform. | replace | no |
Here's a list of the available actions, along with a brief description of their usage.
replace- Matchesregexto the concatenated labels. If there's a match, it replaces the content of thetarget_labelusing the contents of thereplacementfield.keep- Keeps metrics whereregexmatches the string extracted using thesource_labelsandseparator.drop- Drops metrics whereregexmatches the string extracted using thesource_labelsandseparator.hashmod- Hashes the concatenated labels, calculates its modulomodulusand writes the result to thetarget_label.labelmap- Matchesregexagainst all label names. Any labels that match are renamed according to the contents of thereplacementfield.labeldrop- Matchesregexagainst all label names. Any labels that match are removed from the metric's label set.labelkeep- Matchesregexagainst all label names. Any labels that don't match are removed from the metric's label set.keepequal- Drop targets for which the concatenatedsource_labelsdo not matchtarget_label.dropequal- Drop targets for which the concatenatedsource_labelsdo matchtarget_label.
Finally, note that the regex capture groups can be referred to using either the $CAPTURE_GROUP_NUMBER or ${CAPTURE_GROUP_NUMBER} notation.