База знаний/Архитектура

Почему push, а не pull (как Prometheus)

Pull-проблемы для нашего use case

  • Требует inbound port на хосте клиента — фаервол клиента надо открывать
  • Через NAT/cloud LB не работает без хитростей (Prometheus pushgateway = хак)
  • Edge-устройства с интермиттент-связью теряют scrape когда оффлайн

Push-плюсы

  • Outbound-only через mTLS на нашу сторону — клиент не открывает порты
  • Edge может буферизовать локально и пушить когда связь есть
  • Прямая identity через peer cert

Когда pull лучше

  • Service discovery в стабильном кластере (K8s) — там pull нормален
  • Нужны health-checks scrape-target отдельно от метрик (pull даёт это бесплатно)

Мы поддерживаем обе модели: push агенты как первичный, OTLP-pull (через Prometheus-compatible endpoint) как опция для существующих стэков.