29.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 в Нидерландах в рублях на счет российской компании. Оплата с помощью банковских карт, в том числе и картой МИР, банковского перевода и электронных денег.

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

01.06.2023

Сравниваем процессоры Ryzen 9 7950X и Ryzen 9 5950X в тестах

Сравниваем новый CPU Ryzen 9 7950X с Ryzen 9 5950X: рассказываем об их характеристиках и оцениваем эффективность в решении бизнес-задач.

27.05.2023

Сервер с собственным облаком

Мощный и удобный инструмент для хранения и обмена файлами, который обеспечит безопасность и конфиденциальность данных.

09.05.2023

Настройка автоматической установки TrueNAS

Частые проблемы при реализации автоматической установки TrueNAS SCALE на сервере и их решения.

09.05.2023

Настройка сервера для Rocket.Chat

Как быстро и удобно настроить свой собственный чат-сервер для коммуникации с коллегами, друзьями или бизнес-партнерами.

23.04.2023

Персональный VPN сервер в Европе, США и России

Закажите персональный VPN сервер в Нидерландах, Финляндии, США или России за рубли

HOSTKEY Выделенные серверы в Европе, России и США Готовые выделенные серверы и серверы индивидуальных конфигураций на базе процессоров AMD, Intel, карт GPU, Бесплатной защитой от DDoS -атак и безлимитный соединением на скорости 1 Гбит/с 30
4.3 48 48
Upload