30.11.2022

Использование брокера сообщений RabbitMQ для мониторинга с Prometheus и Grafana

server one
HOSTKEY
Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

Автор: Senior Devops. Ведущий специалист по инфраструктуре Hostkey Никита Зубарев

В прошлых статьях мы рассказывали об архитектуре ELK-RabbitMQ и сервисе Invapi, который тоже использует брокер сообщений для общения с бэкэндом. В любой отказоустойчивой архитектуре необходим правильный мониторинг со всеми нотификациям. Кроме того, требуется не только мониторить работу кластера RabbitMQ, но и собирать метрики, проверять количество непрочитанных сообщений. Эти данные могут своевременно определить сбой в работе consumer — пользовательском приложении, которое получает сообщения. С версии 3.8.0 RabbitMQ поставляется со встроенной поддержкой Prometheus и Grafana.

Поддержка сборщика метрик Prometheus поставляется в плагине rabbitmq_prometheus. Плагин предоставляет все показатели RabbitMQ на выделенном TCP-порту в текстовом формате Prometheus. Для активации на кластере выполняем:

rabbitmq-plugins enable rabbitmq_prometheus

Появится открытый порт:

http/promethe: 15692
us:

Проверяем метрику:

Добавляем конфигурацию для Prometheus и Alertmanager:

 - job_name: 'RABBIT MQ Prod NL'
	static_configs:
		- targets: ['rabbitnl-app01a.infra.hostkey.ru:15692','rabbitnl-app01b.infra.hostkey.ru:15692','rabbitnl-app01c.infra.hostkey.ru:15692']

Самое главное — целостность кластера и количество непрочитанных сообщений в очереди.

Если в очереди больше одного непрочитанного сообщения, отдаем алерт:

  - alert: rabbitmq_queue_messages
			expr: rabbitmq_queue_messages{job="RABBIT MQ Dev"} > 1
			for: 1m
			labels:
				severity: page
			annotations:
				summary: Critical rabbitmq_queue_messages
	 - alert: unacknowledged messages
			expr: rabbitmq_queue_messages_unacked{job="RABBIT MQ Prod NL"} > 1
			for: 1m
			labels:
				severity: page
			annotations:
				summary: Critical rabbitmq_queue_messages_unacked

Аналогично выставляем алерты на целостность кластера.

Как было рассказано в первой статье по мониторингу, в Grafana есть возможность импортирования дашборда, добавляем id 10991.

Отображаемые показатели:

  • Идентификация узла, в том числе версии RabbitMQ и Erlang/OTP.
  • Память узла и диск доступны до блокировки издателей (триггеры тревоги).
  • Доступны дескрипторы файлов узлов и сокеты TCP.
  • Готовые и ожидающие сообщения.
  • Частота входящих сообщений: опубликовано / перенаправлено в очереди / подтверждено / не подтверждено / возвращено / отброшено.
  • Оценка исходящего сообщения: доставлено с автоматическим или ручным подтверждением / подтверждено / доставлено повторно.
  • Операция опроса с автоматическим или ручным подтверждением, а также с пустыми операциями.
  • Очереди, в том числе скорость объявления и удаления.
  • Каналы, в том числе уровни открытия и закрытия.
  • Соединения, в том числе открытые и закрытые курсы.

При необходимости недостающие параметры можно добавить (как создавать шаблоны, расскажем в следующих статьях).

Таким образом, инструменты мониторинга RabbitMQ позволяют проверять общие показатели узла, а также ready и unacknowledged messages. Важным преимуществом нашего решения является многоаспектный и оперативный контроль состояния оборудования.

Арендуйте выделенные и виртуальные серверы с моментальным деплоем в надежных дата-центрах класса TIER III в Москве и Нидерландах. Принимаем оплату за услуги HOSTKEY в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

Другие статьи

29.10.2025

Осенние будни DevOps: Debian 13 и Proxmox VE 9.0 в продакшене HOSTKEY

Новая версия Debian 13 и релиз Proxmox VE 9.0 пришли почти одновременно, вызвав ажиотаж у клиентов. В статье рассказываем, как команда HOSTKEY адаптировала свои процессы, автоматизировала деплой и подготовила инфраструктуру под свежие релизы.

22.10.2025

Чек-лист: 5 признаков, что вашему бизнесу пора переезжать с облака на выделенный сервер

Платите за облако, но всё делаете сами? При бюджете от 5 000 ₽ выделенный сервер выгоднее. Смотрите чек-лист и тесты cloud vs bare metal.

29.09.2025

Что делать, если ваш ноутбук сломался? Как Kasm превратит даже старый планшет в рабочую станцию

Когда технические сбои прерывают работу, Kasm Workspaces становится спасением, превращая устаревшие устройства в полноценные рабочие станции через браузер. В статье рассматривается, как платформа решает проблемы сломанных ноутбуков и дефицита оборудования, сравниваются версии (Community, Starter, Enterprise, Cloud), анализируются требования к ресурсам и результаты тестирования на VPS.

24.09.2025

Замена Google Meet в условиях блокировок: Jitsi Meet и другие альтернативы для бизнеса

Когда Google Meet внезапно начал «тормозить» в России, мы оказались перед выбором: Zoom, Яндекс Телемост, NextCloud или self-hosted решения. После тестов мы остановились на Jitsi Meet на VPS и проверили его в боевых условиях. Делимся опытом и подводными камнями.

18.09.2025

Мониторинг SSL-сертификатов в oVirt Engine: как мы научились спать спокойно благодаря Go и Prometheus

Как избежать простоев и сбоев из-за просроченных SSL-сертификатов? Мы в HOSTKEY разработали простой, но надёжный инструмент на Go для oVirt Engine, интегрированный с Prometheus и Grafana. Теперь система сама предупреждает о проблемах — задолго до их возникновения.

Upload