После запуска 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 теперь графики тоже отображаются корректно:
Готово.