Задать вопрос
gremlintv2
@gremlintv2

Можно ли через node_exporter отправлять данные на указанный prometheus server?

Упрощенная схема сбора метрик:
(server1:9100) node_exporter<-(server2)prometheus <- (server2)grafana

Мне нужно:
(server1) node_exporter -> ??some storage?? (9100)<-(server2)prometheus <- (server2)grafana

Какая связка юзаются при разворачивании kubernetes чтобы мониторить состояние (системы, службы) в каждом контейнере или это не актуально?

Спасибо
  • Вопрос задан
  • 168 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Stqs
senior software developer
gremlintv2,

вообще чисто идеологически prometheus работает через pull данных
но, бывает так что сущности которые мы собираемся мониторить:
1) являются эфемерными, то есть, являются смертными сущностями, которые могут восстать позже, в другом месте и с другим адресом например
2) могут быть просто job'ами которые естественно живут какой-то определенный промежуток времени
3) просто не доступны для prometheus сервера

Хороших вариантов на самом деле 2 как по мне
1) если промитеус сидит внутри того же кластера - то мы просто добавляем в конфиг секцию типа такой
job_name: ${appName}
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
  regex: ${appName}
  source_labels:
  - __meta_kubernetes_pod_container_name
metrics_path: ${path}
scrape_interval: ${interval}s

тогда промитеус через нативный кубернет DNS сможет получить информацию о подах, отфильтрует по __meta_kubernetes_pod_container_name все нужные и все будет заебись

2) этот вариант подойдет для обоих вариантов когда промитеус сидит внутри или снаружи кластера
https://github.com/prometheus/pushgateway
если вкратце то 1) вы создаете пушгейтвей эндпоинт для вашего сервиса, 2) туда по хттп пушите свои метрики 3) в конфиге промитеус-сервер вы добавляете `scrape_configs` секцию как обычно, которая пулит данные с пушгейтвей эндпоинта

PS
node_exporter в этом случае не особо помогает потому что по сути создает эндпоинт который должен мониторить промитеус, если само приложение не доступон для промитеуса то и node_exporter тоже не будет доступен что очевидно
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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