[6] RabbitMQ – rabbitmqadmin

22 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Istnieje możliwość skonfigurowania RabbitMQ do używania polecenia rabbitmqadmin.

[1] Pobierz [rabbitmqadmin] przez Web UI (aby dowiedzieć się, jak włączyć Web UI, zobacz tutaj).

Zaloguj się do interfejsu internetowego i przejdź do [(nazwa hosta lub adres IP):15672/cli], a następnie pojawi się następujący ekran, możesz pobrać [rabbitmqadmin] tutaj.

[2] Wgraj [rabbitmqadmin] na serwer RabbitMQ i ustaw odpowiednie uprawnienia.

W tym przykładzie wygląda to następująco. Ponadto zmień ustawienia Pythona w następujący sposób.

(najpierw zainstaluj Pythona 3, tak jak tutaj)

[root@vlsr01 ~]# ll /usr/local/bin/rabbitmqadmin
-rwxr-xr-x. 1 root root 41433 03-21 19:34 /usr/local/bin/rabbitmqadmin

[root@vlsr01 ~]# alternatives --config python
2 programów dostarcza „python”.
  Wybór    Polecenie
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
Proszę nacisnąć klawisz Enter, aby zachować bieżący wybór[+] lub podać numer wyboru: 2

[3] To jest podstawowe zastosowanie polecenia [rabbitmqadmin].

# pokaż listę podkomend
# dla listy opcji, wpisz tylko [help]
[root@vlsr01 ~]# rabbitmqadmin help subcommands
Usage
=====
  rabbitmqadmin [options] subcommand
  where subcommand is one of:
Display
=======
  list connections [<column>...]
  list channels [<column>...]
  list consumers [<column>...]

# pokaż listę użytkowników
[root@vlsr01 ~]# rabbitmqadmin list users
+-----------+--------------------------------+--------------------------------------------------+---------------+
|   name    |       hashing_algorithm        |                  password_hash                   |     tags      |
+-----------+--------------------------------+--------------------------------------------------+---------------+
| guest     | rabbit_password_hashing_sha256 | HiYQP7EY8QbErxHvfJuwemXVcd1Cids02ApNlL1gA1YC2+35 | administrator |
| zicherlab | rabbit_password_hashing_sha256 | diHXqhl/HfAhQXau3ztyyniYOvQoXUbTDisuFlYEN5YEoYja | administrator |
+-----------+--------------------------------+--------------------------------------------------+---------------+

# pokaż listę wirtualnych hostów
[root@vlsr01 ~]# rabbitmqadmin list vhosts
+-----------+----------+
|   name    | messages |
+-----------+----------+
| /         |          |
| /my_vhost | 4        |
+-----------+----------+

# dodaj użytkownika
[root@vlsr01 ~]# rabbitmqadmin declare user name=zicher password=TajneHasło tags=administrator
user declared

# dodaj wirtualnego hosta
[root@vlsr01 ~]# rabbitmqadmin declare vhost name=/vhost01
vhost declared

# przydziel prawa dostępu
[root@vlsr01 ~]# rabbitmqadmin declare permission vhost=/vhost01 user=zicher configure=".*" write=".*" read=".*"
permission declared

# dodaj kolejkę
[root@vlsr01 ~]# rabbitmqadmin -V /vhost01 -u zicher -p TajneHasło declare queue name=my_queue01
queue declared

# wyślij wiadomość
[root@vlsr01 ~]# rabbitmqadmin -V /vhost01 -u zicher -p TajneHasło publish routing_key=my_queue01 payload='Hello RabbitMQ World!' exchange=amq.default
Message published

# odbierz wiadomość
[root@vlsr01 ~]# rabbitmqadmin -V /vhost01 -u zicher -p TajneHasło get queue=my_queue01
+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+
| routing_key | exchange | message_count |        payload        | payload_bytes | payload_encoding | properties | redelivered |
+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+
| my_queue01  |          | 0             | Hello RabbitMQ World! | 21            | string           |            | False       |
+-------------+----------+---------------+-----------------------+---------------+------------------+------------+-------------+