Разрешения, которые необходимо назначить для пользователя мониторинга RabbitMQ - PullRequest
0 голосов
/ 24 августа 2018

Какие разрешения мне нужно назначить программному обеспечению, которое будет контролировать мой сервер RabbitMQ?Программный агент должен отслеживать большинство показателей, объясненных и рекомендованных в этом документе .

Я думаю, что мне нужно создать пользователя, например, monitoring, а затем дать этому пользователю доступ ко всем virtual hosts, содержащим ресурсы, которые необходимо отслеживать.

Я думаю, что при создании пользователяМне нужно присвоить ему тег monitoring, который является предопределенным тегом.

Что я делаю не понимаю, что RegEx мне нужно назначить configure, write и read.Документация содержит таблицу с разрешениями для ресурсов .

Я думаю, что программное обеспечение для мониторинга должно не иметь возможность создавать или удалять ресурсы (configure разрешение) и не должно иметь возможность ADD сообщения в очередь или READ и ACK сообщения из очереди.Но, например, он должен быть в состоянии прочитать число сообщений, ожидающих в очереди, чтобы предупредить, если в очереди есть ряд растущих сообщений, которые не извлекаются.

Может кто-нибудь объяснить, чторазрешения и настройки требуются для такого пользователя мониторинга?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вот краткое руководство от начала до конца при настройке мониторинга очередей RabbitMQ.

1) Создать аккаунт:

rabbitmqctl add_user monitoring password

2) Добавить тег мониторинга (подробнее о тегах RabbitMQ можно прочитать здесь https://www.rabbitmq.com/management.html)

rabbitmqctl set_user_tags monitoring monitoring

3) Теперь получите имена ваших виртуальных хостов:

rabbitmqctl list_vhosts

4) Добавить разрешение для мониторинга пользователя на виртуальном хосте:

rabbitmqctl set_permissions -p Some_Virtual_Host monitoring "" "" ""

5) Проверьте, успешно ли предоставлен доступ:

curl -s -u monitoring:password http://localhost:15672/api/queues | jq

Посмотрите на параметр "messages"

Необязательно) Вы можете опубликовать поддельное сообщение из командной строки:

rabbitmqadmin publish --vhost=Some_Virtual_Host exchange=some_exchange routing_key=outgoing_routing_key payload="hello world"

Посмотрите на "messages" снова!

Совет: убедитесь, что в вашей сборке RabbitMQ включен плагин rabbitmq_management для выполнения этих запросов.

0 голосов
/ 25 августа 2018

Разобрался сам с некоторым тестированием. Если кому-то интересно:

Создать учетную запись с тегом monitoring Добавьте эту учетную запись к КАЖДОМУ vhost, который необходимо отслеживать, и добавьте пустые строки ("") к разрешениям configure, write и read.

С помощью хорошего bash-скрипта вы можете, например, получить количество сообщений в каждой очереди:

curl -u username:password \
 --silent \
 http://<ServerOrIP>:15672/api/queues/<vhostname> | jq '.[] | .name, .messages'
...