slden
@slden

Как собирать метрики со стороннего сервера Prometheus?

Добрый день!
Прошу подсказать мне, в каком направлении искать решение.
Есть кластер Openshift, мониторинг которого представлен из коробки, насколько я понимаю (Prometheus).
Кластер находиться в контуре, в котором я не могу влиять на конфиг Прома и вообще что либо настраивать( но имею доступ к веб-морде их Prometheus).
Было принято решение, использовать функционал federation, что я собственно и сделал.
В качестве таргета на нашем Prom сервере появился адрес "кластерного прома".
Но если смотреть на метрики которые собирает наш Prom, мы увидим только prometheus_sd_kubernetes_events_total

Ок, я исходил из той логики, что если добавлю сторонний Prometheus сервер в федерацию, то соответственно смогу получить с него все метрики.

Посмотрел что прописано в таргетах на кластерном(стороннем) Prometheus:
alertmanager-main (3/3 up)
apiserver (3/3 up)
cluster-monitoring-operator (1/1 up)
kube-controllers (3/3 up)
kube-state-metrics (2/2 up)
kubelet (18/18 up)
node-exporter (9/9 up)
prometheus-k8s (2/2 up)
prometheus-operator (1/1 up)

Т.е. чтобы собирать все метрики, которые собирает сторонний Prometheus, мне требуется каждый из его таргетов добавить в свои таргеты?
Тогда в чем смысл федерации?

Буду признателен за совет.
  • Вопрос задан
  • 1091 просмотр
Решения вопроса 1
karabanov
@karabanov
Системный администратор
Цель федерации создать единое хранилище метрик.

Чтобы заработало, так как вы ожидаете и необходимо добавить в конфиг центрального Prometheus, например:
- job_name: federation
    honor_labels: true
    metrics_path: /federate
    params:
      match[]:
        - '{__name__=~"^[^go_].+"}'
    static_configs:
      - targets:
        - remote-prometheus:9090

__name__ это скрытый лейбл в котором храниться имя метрики, таким образом будут собираться все метрики за исключением go_ метрик.

В match можно записать и - '{job=~".+"}' тогда будут собираться все метрики со всех job и другие выражения.

На целевые Prometheus можно добавить recording rules которые будут создавать агрегированные метрики.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы