Как бороться с ярлыками prometheus и prometheus_replica?

В иерархической федеративной настройке prometheus с моделью Pull для метрик я вижу метки «prometheus» и «prometheus_replica» в захваченных метриках. Система отслеживает развертывание Kubernetes StatefulSet.

При запросе или предупреждении я вижу повторяющиеся данные, включенные из-за этих меток, то есть я вижу метрику с этими метками, а также без них. Эффективно вызывает неправильные подсчеты и предупреждения.

Я вижу метки «prometheus» и «prometheus_replica», используемые в запросах на prometheus, который извлекает метрики из объединенной конечной точки.

Я использую ServiceMonitor с оператором Prometheus на каждом кластере куба. Все показатели объединены в один другой Prometheus, где и наблюдается эта проблема.

Есть ли документация о том, как создаются эти ярлыки? Следует ли рассматривать эти показатели как повторяющиеся или игнорировать?


person Neeraj Krishna    schedule 26.09.2018    source источник


Ответы (2)


Я тоже столкнулся с этой проблемой, просто добавив для всех, кто попадает в этот комментарий, параметры конфигурации, которые влияют на это, в соответствии с документацией здесь https://github.com/prometheus-operator/prometheus-operator/blob/ca400fdoc8prometheus-operator/blob/ca400fdc8prometheus-operator/blob/ca400fdc8prodoc2d3d3d3dd08d3d3d3d5d8d8ddd5dd3d8ddd3ddddddddddddddddddc8dd3ddddddfdc8dddfddc8d3d3dddddd8dddddddc8dd8dddddddddddddddddddddddddddddddddddddddddddddddddddddddddc8 ссылка на код здесь //github.com/prometheus-operator/prometheus-operator/blob/ca400fdc3edd0af0df896a338eca270e115b74d7/pkg/prometheus/promcfg.go#L95-L132

replicaExternalLabelName: имя внешней метки Prometheus, используемой для обозначения имени реплики. По умолчанию используется значение prometheus_replica. Внешняя метка не будет добавлена, если установлено значение пустой строки ().
prometheusExternalLabelName: Имя внешней метки Prometheus, используемой для обозначения имени экземпляра Prometheus. По умолчанию значение prometheus. Внешняя метка не будет добавлена, если установлено значение пустой строки ().

Поэтому, если вы хотите удалить эти дубликаты, просто установите для этих параметров пустые строки в пользовательском ресурсе Prometheus в своем кластере.

person Shay Rybak    schedule 24.09.2020
comment
Или вы можете использовать сопроводительный файл Thanos, который является частью оператора Prometheus, а затем позволить Thanos Querier дедуплицировать метрики с помощью --query.replica-label="prometheus_replica" - person peetasan; 29.01.2021

Я наконец нашел эти ярлыки, исходящие от оператора прометея. Он был добавлен для требования, которое не прописано ни в каких документах. Я вижу, что в версии 0.17 это не работает. Работает в версии оператора 0.23.

person Neeraj Krishna    schedule 01.10.2018