Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

RabbitMQ мониторинг

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Привет!

Ищу инструмент для мониторинга RabbitMQ воркеров (написанны на PHP).

Хочу чтоб можно было:
* видеть сколько и какие задачи сейчас обрабатываются воркерами
* какой из воркеров работает над какой задачей и сколько времени
* остановить воркер, удалить задачу (или перенести ее в другую очередь)

Я знаю о Management Plugin для RabbitMQ где можно видеть общую статистику, но этого мало для оперативных вмешательств в работу системы.

Может вы знакомы с более удобными инструментами. Подскажите пожалуйста.

Спасибо!

С уважением,
Юрий Герасимов

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Остановился на мониторинге воркеров через supervisor. Пооткрывал XML-RPC на серверaх воркерах и агрегирую данные с помощью модифицированной github.com/...zarov/supervisord-monitor

Сейчас уже умею видеть какие задачи в работе и сколько времени они обрабатываются плюс возможсть останавливать процессы. Осталось прикрутить отображение содержимого очереди RabbitMQ что уже делал.

Нюанс это получить данные по каждому воркер процессу. Для этого в логе процессов оставляю pid и потом по нему отбираю уже в мониторе правильную запись для конкретного процесса.

Получилось monosnap.com/...GcsmcAuYAW1NI8RJjFzSNCPXW

может www.elastic.co/...gins-inputs-rabbitmq.html поможет? но мы еще не мониторили раббита через elk

да, я тоже думал об logstash’e, но вижу можно попробовать и без него обойтись. Спасибо что показали, что есть rabbitmq плагин.

там почти под все плагины есть :)
напишите, что у вас получится по итогу

Management Plugin
это не только WEB-морда, но и http API — может чем-то поможет
Но оно вам не поможет решить
какой из воркеров работает над какой задачей и сколько времени
мы свой велосипед сделали, тот же воркер, который ничего кроме мониторинга других воркеров не делает. И он уже и статистику отдает и управляет всем если нужно

Как у вас проходил мониторинг воркеров? Они просто писали в лог свою работу? У меня еще усложняется дело тем, что воркеры на разных серверах находятся.

На каждый сервер свой супервайзер, который в целом следит только за «зависанием\падением» воркеров и агрегирует инфу от воркеров в удобную(JSON) форму
Воркеры с внешним миром связаны через Rabbit MQ(при старте создает для себя две очереди — одна для комманд(убейся, обнови статус, еще чего-то), вторая для статусных сообщений)

Готовый инструмент не подскажу. Можно скрутить вместе Rabbit + Zabbix и будет мониторинг. На тригеры повесить обработчики, которые будут выполнять необходимые действия над очередью.

Ставите supervisord и у вас есть полный контроль над воркерами.
supervisord.org/introduction.html

Management Plugin
но там вроде полное управление над всей системой. Хотя могу ошибаться.

Воркеры запускаются через supervisord. Но это не более, чтоб держать их определенное колличество в системе. Мониторинга там нет насколько мне известно.

У supervisord есть морда его надо прописать inet_http_server supervisord.org/configuration.html

Огромное спасибо! Я как раз нашел github.com/luxbet/supervisorui web-ui для управления supervisor процессами. Думаю это хорошая стартовая точка. В любом случае нужно будет кастомизировать, потому можно начать с этого silex приложения и потом туда же добавить rabbitmq монитор через firehose очередь.
Вообщем направление понял. Осталось ерунда :)

Дуже глибоко у цьому питанні не копав.
Є трейсер, який можна «натравити» на певний тип повідомлень (шаблон «що», «куди» і «як» писати налаштовується через той же Management Plugin) — www.rabbitmq.com/firehose.html . Він буде дублювати всю активність сервера (месседж прийшов, ack підтвердженно і т.д.) у нову чергу, здається. Звісно, продуктивність сервера трохи просяде :)

Далі вже підписуєтесь на результати трейса і пишете свою імплементацію моніторинга.
Простіших варіантів не бачив, але працювати з цим трейсером не складно.

Дуже корисна порада. Дякую. Обов’язково спробую підписатися до цієї черги і дивитись що там і як приходить.

Підписатись на коментарі