camel' тоже отдавал метрики, есть такая же реализация но для заббикса
Для заббикса работает так:
Есть бин в камеле для отправки метрик в топик который вызывается другими маршрутами камела.
т.е маршруты вызывают у бина метод для записи в топик и передают туда данные, любые, хоть carName.
Дальше есть отдельный бин с шедулером который читает из топика через заданное время, собирает метрики и пушит их в заббикс
Как отдавать такие же метрики прометеусу когда он подключается к эндпоинту?
Как идея, Думаю, будет хорошо если создать отдельного консьюмера который будет читать из топика И сделать слушатель на ендпоинт который после вызова эндпоинта пойдёт читать из топика - Но ведь для этого надо выставлять отдельный ендопоинт а не использовать реализованный от jmx
Скорее не пойдёт читать из топика, а куда то класть будет консьюмер при появлении новых данных в топике, и после того как отдаст метрики будет очищать хранилище
а можно поинтересоваться, для чего метрики из разных роутов кэмела вообще класть в кафку?
Из одного роута кладутся в топик
выглядит со стороны как то криво конечно, но как вариант перед сохранением в топик кафки сохранять вашу кастомную метрику в actuator, чтобы она попадала в /prometheus эндпоинт, из которого прометеус соберет
Есть jmx_exporter в планах туда сохранять, как тебе идея?
выглядит более правильно, единственное, я как то работал c jmx trans, и вот конфиги для него писать для сбора с jmx не очень приятное удовольствие.
Посморим, сделать то надо
У меня вот есть jmx_prometheus агент, я его подключаю и как бы системные логи есть, но оказывается есть ещё jmx-exporter, не ясно как перекинуть данные в jmx ендпоинт, может есть гайд какой нибудь?
ты ссылку смотрел, что я кидал?
По этим инструментам не подскажу. Ни экспортером ни jmx prometheus не пользовался.
Jmx агент по yaml конфигу возьмёт jmx метрики нужные, и создаст эндпоинт metrics в стандарте прометеуса, чтобы он мог с него собирать метрики.
Смотрел, там для camel'а, у меня метрики маршрутов обрабатываются типа "в ручном режиме", то что мы хотим мы отдаём другому нашему функционалу, который кладёт в кафку Нужно чтобы эти данные и вручную класть в jmx ендпоинт, так как камел не знает об их существовании
Camel и Кафка можно выбросить из ТЗ) . Вопрос сводится к публикации jmx метрик в prometheus эндпоинт
спасибо, сделал
Обсуждают сегодня