--- sort: 10 weight: 10 title: Relabeling menu: docs: parent: "operator" weight: 10 aliases: - /operator/relabeling.html --- # Relabeling ## VMAgent relabel `VMAgent` supports global relabeling for all metrics and per remoteWrite target relabel config. > Note in some cases, you don't need relabeling, > key=value label pairs can be added to the all scrapped metrics with `spec.externalLabels` for `VMAgent`. > ```yaml # simple label add config apiVersion: operator.victoriametrics.com/v1beta1 kind: VMAgent metadata: name: stack spec: externalLabels: clusterid: some_cluster ``` It supports relabeling with custom configMap or inline defined at CRD ## Configmap example Quick tour how to create `ConfigMap` with relabeling configuration ```yaml cat << EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: name: vmagent-relabel data: global-relabel.yaml: | - target_label: bar - source_labels: [aa] separator: "foobar" regex: "foo.+bar" target_label: aaa replacement: "xxx" - action: keep source_labels: [aaa] - action: drop source_labels: [aaa] target-1-relabel.yaml: | - action: keep_if_equal source_labels: [foo, bar] - action: drop_if_equal source_labels: [foo, bar] EOF ``` Second, add `relabelConfig` to `VMagent` spec for global relabeling with name of `Configmap` - `vmagent-relabel` and key `global-relabel.yaml`. For relabeling per remoteWrite target, add `urlRelabelConfig` name of `Configmap` - `vmagent-relabel` and key `target-1-relabel.yaml` to one of remoteWrite target for relabeling only for those target. ```yaml cat <