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, мне требуется каждый из его таргетов добавить в свои таргеты?
Тогда в чем смысл федерации?

Буду признателен за совет.
  • Вопрос задан
  • 738 просмотров
Решения вопроса 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 которые будут создавать агрегированные метрики.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы