Администрирование через веб-консоль администратора#

В данном разделе описаны сценарии работы пользователя с ролью «Администратор сопровождения» (роль artemis_admin).

Администратор кластера SMBX может просматривать через UI топологию кластера, адреса и очереди, количество сообщений в них, просматривать количество задействованной памяти, подключенных пользователей (producer и consumer) к адресам/очередям. Дополнительно администратор имеет возможность удалять сообщения из очереди.

Вход в UI SMBX#

Вход в UI осуществляется на каждом брокере по адресу, например: https://<IP брокера>:<порт>/console/ по сертификату либо с использованием proxy.

Способ определяется на этапе установки при задании параметров в конфигурационном файле vars.yml. По умолчанию используется способ аутентификации и авторизации с помощью сертификата.

Для настройки входа через proxy необходимо в vars.yml задать блок настроек:

artemis:
  keycloak:
    enabled: false
    configs:
      realm: "my_realm" # Пространство с конфигурациями доступа
      resource: # Ресурс, к которому предоставляется доступ в формате словаря inventory_hostname: resource. В случае использования k8s/os - указать "cloud" вместо inventory_hostname
        "my_hostname_0": "my_resource_name_0"
        "my_hostname_1": "my_resource_name_1"
        "cloud": "my_cloud_resource_name"
      bearer-only: true # Клиент принимает только bearer-токены в заголовках авторизации
      auth-server-url: "my_keycloak_instance" # Адрес инстанса Кейклока
      use-resource-role-mappings: false # Использование маппингов ролей ресурса для доступа к нему (настройки внутри Кейклока)
      principal-attribute: "preferred_username" # username|email|user ID|custom attribute. Уникальный идентификатор, на основании которого предоставляется доступ к ресурсу
      ssl-required: "external" # none|external|all. Использование ssl при интеграции с Кейклок

После заполнения vars.yml необходимо запустить Jenkins job artemis_custom, playbook artemis.yml с tags keycloak, restart.

После завершения работы Jenkins job авторизация в веб-консоль администратора будет осуществляться через proxy по адресу, указанному в параметрах auth-server-url и resource следующим образом: auth-server-url/my_resource_name_0 для host, соответствующего my_resource_name_0 в списке resource.

Вход по сертификату администратора#

Для входа по сертификату по умолчанию используется порт 8161, поменять порт можно при установке SMBX, задав его в параметре artemis.console_port в файле vars.yml.

Для аутентификации пользователя используются сертификаты, администратору необходимо выпустить сертификат, сконвертировать его в формат p12:

keytool -importkeystore -srckeystore <mycert>.jks -destkeystore <mycert>.p12 -deststoretype PKCS12

После чего импортировать его в браузер (обычно, Настройки→Безопасность→Управление сертификатами).

Для возможности подключения к UI, DN сертификата пользователя должен быть прописан в файле cert-users.properties, и у соответствующего пользователя должна быть добавлена роль artemis_admin в файле cert-roles.properties.

Примечание: В случае наличия в DN сертификата кириллицы, все символы кириллицы в файле cert-users.properties будут заданы в кодировке UNICODE. Например, DN сертификата «CN=Егор, C=RU» будет отображено в конфигурационном файле cert-users.properties в виде «CN=\u0415\u0433\u043e\u0440, C=RU».

Вход через proxy#

В случае, если была настроена авторизация в UI через proxy (например, IAM Proxy), на входе будет выдаваться окно аутентификации, в котором необходимо ввести логин и пароль.

IAM Proxy Authorization

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

Работа в UI администрирования#

Просмотр топологии брокера#

  • Вкладка Broker diagram, показывает список объектов на конкретном брокере и подключения к брокерам кластера. Нажатие на элемент выводит его свойства.

Broker diagram

  • Вкладка Addresses, показывает список адресов с возможностью фильтрации. Нажатие на ссылку в виде количества очередей перенаправляет к списку очередей данного адреса.

Addresses

  • Древовидный список слева, объекты под addresses.

Addresses + attributes

Основные атрибуты адреса:

  • Address size - размер хранимых сообщений во всех очередях адреса в байтах;

  • Number of messages - количество сообщений во всех очередях адреса;

  • Roles as json - права на адрес.

Основные атрибуты очереди:

  • Consumer count - количество подключенных читателей;

  • Message count - количество сообщений в очереди.

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

Просмотр подключений к адресу/очереди#

  • Вкладка Consumers - перечень подключений на чтение.

  • Вкладка Producers - перечень подключений на запись.

Работа с сообщениями в очереди#

В древовидном списке слева выбрать очередь, после чего станет доступна вкладка Browse queue.

Browse_queue

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

Перечень отображаемых заголовков можно редактировать с помощью окна, вызываемого по кнопке Columns.

С использованием данной вкладки можно удалять сообщения, для этого необходимо выбрать нужные сообщения с помощью чекбокса слева и нажать на кнопку Delete Messages.

Просмотр сообщений из очереди#

В древовидном списке слева выбрать очередь, после чего станет доступна вкладка Operations. В ней необходимо нажать browse(), после чего можно будет просмотреть сообщения из очереди без вычитки.

Browse_messages