Перейти к содержимому
Перейти к основному содержимому

Проверка RabbitMQ

Проверка RabbitMQ создаётся в дашборде, выполняет её агент на вашем хосте. Чекер вызывает aliveness-test HTTP-API плагина rabbitmq_management. Пароль не хранится на сервере: в конфиге задания используется плейсхолдер {{secret:имя}}, который агент подставляет локально из секции secrets: в agent.yaml.

Предварительные требования

  • Агент Flaree установлен и в статусе Online.

  • Тариф Pro: проверки брокеров недоступны на Starter.

  • Включён плагин управления и создан пользователь с тегом monitoring:

    rabbitmq-plugins enable rabbitmq_management
    rabbitmqctl add_user flaree_ro '<пароль>'
    rabbitmqctl set_user_tags flaree_ro monitoring
    rabbitmqctl set_permissions -p / flaree_ro "^aliveness-test$" "^amq\.default$" "^aliveness-test$"

    Aliveness-test публикует и читает тестовое сообщение в очереди aliveness-test, поэтому права нужны именно на неё.

  • Сетевая доступность от хоста агента до management-порта (по умолчанию TCP 15672).

Минимальная конфигурация

Локально, в /etc/flaree-agent/agent.yaml, сохраните пароль:

secrets:
rmq_pass: "<пароль>"

В дашборде: Агенты → ваш агент → Назначенные проверки → Новая проверка, тип rabbitmq, конфиг:

{
"managementUrl": "http://10.0.0.9:15672",
"user": "flaree_ro",
"password": "{{secret:rmq_pass}}"
}

Полная конфигурация

Все поля чекера:

КлючТипПо умолчаниюОписание
managementUrlstringБазовый URL management-API без завершающего /. Обязателен.
userstringПользователь с тегом monitoring. Обязателен.
passwordstringПароль или плейсхолдер {{secret:имя}} из secrets: в agent.yaml. Обязателен.

Чекер запрашивает GET /api/aliveness-test/%2F (vhost /) с Basic-авторизацией и считает проверку успешной при HTTP 2xx и {"status":"ok"} в теле. Другой vhost сейчас не настраивается. Интервал и таймаут задаются в форме дашборда.

Проверка работы

  • Выполните aliveness-test с хоста агента теми же реквизитами вручную.
  • Убедитесь, что счётчик проверок с type="rabbitmq" растёт на локальных метриках агента.
  • В дашборде компонент перейдёт в Operational в течение одного-двух интервалов.
curl -u flaree_ro:'<пароль>' http://10.0.0.9:15672/api/aliveness-test/%2F
# {"status":"ok"}

curl -s http://127.0.0.1:9090/metrics | grep 'type="rabbitmq"'
# flaree_agent_checks_total{type="rabbitmq",ok="true"} 4

Troubleshooting

  • Данные не появляются — чек-лист нет данных.
  • missing_managementUrl / missing_user / missing_password — в JSON-конфиге задания нет соответствующего поля.
  • Ошибка http_401 — неверные реквизиты или у пользователя нет тега monitoring; {{secret:…}} с опечаткой в имени не подставляется и уходит как есть.

Связанные страницы: Kafka · Redis · концепция агента.