После запуска Prometheus в виде трёх подов, см. Prometheus: ошибки «federation failed: broken pipe» и «Received SIGTERM, exiting gracefully» — постоянные рестарты — метрики начали дублироваться:
Одна метрика получена от инстанса prometheus_replica="prometheus-prometheus-prometheus-oper-prometheus-1", вторая — от prometheus_replica="prometheus-prometheus-prometheus-oper-prometheus-2", так как запущено три пода:
[simterm]
$ kubectl -n monitoring get pod | grep oper-prometheus prometheus-prometheus-prometheus-oper-prometheus-0 3/3 Running 1 2m50s prometheus-prometheus-prometheus-oper-prometheus-1 3/3 Running 1 3m40s prometheus-prometheus-prometheus-oper-prometheus-2 3/3 Running 0 3m40s
[/simterm]
И в Grafana потом неправильно рисуются графики — вместо одного получаем три:
Для решения — уберём добавление лейбл prometheus и prometheus_replica вообще.
В values.yaml нашлись две опции — replicaExternalLabelNameClear и prometheusExternalLabelNameClear:
...
## Name of the external label used to denote replica name
##
replicaExternalLabelName: ""
## If true, the Operator won't add the external label used to denote replica name
##
replicaExternalLabelNameClear: false
## Name of the external label used to denote Prometheus instance name
##
prometheusExternalLabelName: ""
## If true, the Operator won't add the external label used to denote Prometheus instance name
##
prometheusExternalLabelNameClear: false
...
Добавляем их в Helm-чарт в блок prometheusSpec:
Деплоим, и теперь получаем метрики из одного источника, и лейблы prometheus_replica больше нет:
В Grafana теперь графики тоже отображаются корректно:
Готово.




