Свой ServiceMonitor (или PodMonitor) не подхватывается Prometheus Deckhouse

Viewed 25

Создал ServiceMonitor (или PodMonitor) для своего приложения, но метрики не появляются в Prometheus, а цели (targets) не видны. Что нужно настроить?

1 Answers

Prometheus Deckhouse выбирает ServiceMonitor и PodMonitor не из всех пространств имён, а только по определённым лейблам.

  1. Пометьте пространство имён приложения лейблом:

    d8 k label ns <ns> prometheus.deckhouse.io/monitor-watcher-enabled=true
    
  2. Добавьте лейбл на сам ресурс:

    metadata:
      labels:
        prometheus: main
    
  3. Проверьте, что selector ServiceMonitor совпадает с лейблами Service, а port в endpoints указывает на имя порта Service (не на его номер). Для PodMonitor то же самое, только для подов и портов контейнера.

  4. Проверьте результат: в интерфейсе Prometheus откройте раздел Status → Targets (цель должна появиться в списке), а при её отсутствии посмотрите лог оператора:

    d8 k -n d8-operator-prometheus logs deploy/prometheus-operator --tail=200
    

Подробнее в документации: как настроить ServiceMonitor или PodMonitor для работы с Prometheus.

Related