Комментарии 9
какая то очень нездоровая фигня, обучатся на таком опасно
в прометеус можно пушить и простыми http-запросами и используя grpc, самостоятельный сбор это только один из его вариантов использования (а не единственно возможный)
если затрагиваем агрегацию метрик то можно вспомнить про VictoriaMetrics как более легковесную базу в отличии от прожорливого прометеуса. Так же можно рассказать как вообще строится агрегация в высокнагруженных системах и почему луше кидать локально в что то легкое а от туда уже центральная база будет собирать оптимально
если же трогаем метрики то тогда обязательно нужно затронуть OpenTelemetry и все особенности (особенно те, которые говрят за совместимо-несовместимость с прометеус-форматом и прочие милости)
По факту в статье просто рассказали как связать выгрузку с кафки в прометеус с какими-то странными приседаниями. Как интересная задаа для развития джуна может и хороша, но в прод такое тянутьнельзя.
Но ведь документация прометеуса прямым текстом нескольких местах говорит, что он использует pull-модель, а push реализуется через сторонние костыли
А называть официальную библиотеку от разработчиков прометеуса «странными приседаниями» само по себе очень странно
прометеус написан на го
сколько лет в проде используем его же rpc что бы пушить в него
у него прям в конфигах отдельный раздел есть под тонкую настройку "входящих"
я последний год перешёл на otel, но до этого или прометеус или виктория. И с викторией таки http-лучше, rpc там или нет или не самый удачный (не помню уже)
Не думаю что они за год изменили настолько корневую архитекуру, оставив только pull-модель.
В документации прометеуса я вижу только remote write, который даже не gRPC, и в описании remote write прямым текстом написано, что он НЕ предназначен для сбора метрик с приложений. Или вы считаете, что разработчики прометеуса дурачки и пишут чушь в своей собственной документации?
я говорю факты из своего личного опыта
не думаю что "дурочки" заложили в конфиг то, что "не предназначено но пусть будет"
особенно если учитывать что rpc у прометеуса поднят по умолчанию и его вроде как даже нельзя выключить
remote write по умолчанию выключен (а у флага, который его включает, второй раз написано, что он НЕ предназначен для сбора метрик с приложений, что он вообще неэффективен и должен использоваться с осторожностью)
А о каком ещё rpc вы говорите, я всё ещё не знаю
По моему опыту обе модели применяются достаточно часто. Сомневаюсь, что push выпилят, настолько много "неправильного" народу его использует. Так что ИМХО лучше использовать тот подход, который удобнее.
Попробуйте для написания своего экспортера посмотреть либу от той же VictoriaMetrics https://github.com/VictoriaMetrics/metrics
Учимся писать свой Prometheus exporter на Go с нуля. Часть 1