План обслуживания ‑ процедура, предназначенная для автоматизации массовых операций с объектами JMS, а также для выявления и устранения неполадок в работе JMS.

Подробное описание планов обслуживания JMS и порядка работы с ними из консоли управления JMS приведено во второй части руководства администратора [2], в разделе «Планы обслуживания».

В данном документе приводятся дополнительные сведения для запуска планов обслуживания из командной строки операционной системы (команда консольного агента Aladdin.EAP.Agent.Terminal maintenance run, подробнее см. в разделе «Приложение 2. Справочник команд консольного агента Aladdin.EAP.Agent.Terminal», с. 120), либо с помощью стандартных утилит-планировщиков заданий (см. «Настройка автоматического регулярного запуска планов обслуживания», ниже).

Автоматическая организация очередей выполнения заданий планов обслуживания

Команда Aladdin.EAP.Agent.Terminal maintenance run позволяет организовывать очередь выполнения заданий планов обслуживания. Очередь организуется в порядке поступления заявок на выполнение (в порядке последовательных запусков команды maintenance run).

При этом в очередь могут быть поставлены несколько заданий на выполнение одного и того же плана обслуживания (например с разными параметрами).

Настройка автоматического регулярного запуска планов обслуживания

Для чтобы настроить автоматический запуск плана обслуживания по расписанию следует воспользоваться утилитой планирования заданий (например стандартным демоном cron ОС Linux).

В настройках планировщика заданий (например, в файле crontab) следует указывать команду консольного агента Aladdin.EAP.Agent.Terminal maintenance run (описание параметров приведено в разделе «Приложение 2. Справочник команд консольного агента Aladdin.EAP.Agent.Terminal», с. 120).

Пример добавления задания в crontab на выполнение плана обслуживания

Запуск планов обслуживания JMS в cron рекомендуется осуществляется посредством bash-скриптов, в которых обеспечивается аутентификация пользователя JMS с ролью Запуск планов обслуживания.

Для добавления задания на выполнение плана обслуживания произведите следующие действия.

  1. Создайте файл пароля пользователя JMS, имеющего права на Запуск планов обслуживания, разместив его в защищённом каталоге, например в личном каталоге пользователя данного хоста (сервера JMS). Данную операцию можно выполнить, например, следующей командой (из личного каталога пользователя, например /home/user)
echo PASSWORD > ./secret_password

где:

PASSWORD -- значение доменного пароля пользователя JMS с ролью Запуск планов обслуживания;

secret_password -- файл со строкой пароля.

      2. Создайте файл bash-сценария (например /var/jms_scripts/script.sh), для выполнения плана обслуживания, например, следующего содержания:

#!/bin/bash
# строка выше это шебанг который среда использует для автоопределения оболочки, в которой запускать скрипт.
# В переменную PASS устанавливаем содержимое файла с паролем, который создали ранее
PASS=$(cat /home/user/secret_password)
# Через консольный агент JMS вызываем команду аутентификации доменного пользователя с правами JMS на запуск планов обслуживания
Aladdin.EAP.Agent.Terminal auth --login 'FQDN\USERLOGIN' --password $PASS
# Вызываем запуск плана обслуживания согласно полученной команде из UI WebAdmin.
eap-agent maintenance run -g 553aa527-94c4-40ef-84be-1de5b4bfb7a7 -p Operations="EAP_CLEAR_GROUP_CACHE, EAP_ACCOUNT_SYNCHRONIZATION, EAP_CHECK_LICENSE, EAP_CHECK_PROFILES, EAP_CHECK_ROLES, EAP_CHECK_TEMPORARY_USER_ACCESS, EAP_SECURE_PROFILES, EAP_CHECK_CRYPTO_DEVICE, EAP_CHECK_TOKEN_DOCUMENTS, EAP_LOG_ROTATION, EAP_REFRESH_TOKEN_CLEANER"

где:

/home/user/secret_password -- файл с паролем пользователя, созданным на шаге 1;

FQDN\USERLOGIN -- доменное имя пользователя JMS c ролью Запуск планов обслуживания в формате <FQDN-имя_домена>\<логин_пользователя>, например: jms4.local\admin

Примечание. В приведенном примере подсказки-UI WebAdmin для запуска плана обслуживания с помощью команды консольного агента maintenance run используется алиас eap-agent, который в некоторых конфигурациях операционных систем Linux может интерпретироваться с ошибками. В этом случае его следует заменить полной командой вызова консольного агента Aladdin.EAP.Agent.Terminal (в приведенном примере это будет: Aladdin.EAP.Agent.Terminal maintenance run ...)

      3. Присвойте права на выполнение созданного скрипта для пользователя, от имени которого он был создан (в нашем случае локальный пользователь user), для возможности его запуска из планировщика cron:

chmod u+x /var/jms_scripts/script.sh

      4. В файл /etc/crontab добавьте правило (строку в конец файла) с запуском подготовленного сценария script.sh, например такое:

0 */12 * * * sudo user /var/jms_scripts/script.sh

Примечания:

  1. Для запуска приведенного в примере правила необходимо, чтобы пользователь, от имени которого запускается задание (в нашем примере -- user), состоял в группе astra-admin.
  2. В самом правиле, как указано в примере, сценарий должен запускаться с повышением привилегий пользователя с помощью sudo.
  3. Приведенное в качестве примера crontab-правило означает следующее: запускать bash-сценарий от имени локального пользователя user раз в 12 часов, независимо от числа, месяца и дня недели).

Автоматическая генерация параметров запуска команды maintenance run

При работе с консолью управления JMS (см. руководство по функциям управления JMS [2]) в некоторых планах обслуживания, предусматривающих выбор ресурсной системы и ее контейнера, администратору предоставляется сервис автоматической генерации параметров запуска команды консольного агента Aladdin.EAP.Agent.Terminal maintenance run.

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

  1. Запустите план обслуживания на выполнение. Для этого в разделе Планы обслуживания выберите соответствующий план (например, План обслуживания пользователей), нажмите на нём правой кнопкой мыши и выберите Запустить. Отобразится окно следующего вида:

Рис. 37 – Окно выбора контейнера ресурсной системы для применения плана обслуживания

      2. Выберите контейнер ресурсной системы (например, Users) и нажмите Показать параметры запуска.

Отобразится окно следующего вида.

Рис. 38 – Окно c готовыми параметрами запуска команды Aladdin.EAP.Agent.Terminal maintenance run

Предложенную строку параметров команды консольного агента Aladdin.EAP.Agent.Terminal maintenance run можно скопировать в буфер обмена и использовать для запуска выбранного плана обслуживания из командной строки или с помощью утилиты-планировщика заданий.

Примечание. В указанном примере (Рис. 38) вместо вызова терминального агента (Aladdin.EAP.Agent.Terminal) используется его псевдоним (eap-agent). Если в вашей операционной системе или среде исполнения не поддерживается использование псевдонима, то команду eap-agent maintenance run следует заменить на Aladdin.EAP.Agent.Terminal maintenance run.