Управление модулями Runbook для автоматизации управления службами
Как администратор службы автоматизации управления службами (SMA) необходимо настроить и запустить модули Runbook. Действия, включая настройку рабочих ролей Runbook и планирование и отслеживание модулей Runbook. Есть два системных модуля Runbook, которые включены в SMA в дополнение к модулям Runbook, которые вы создаете:
- DiscoverAllLocalModules: выполняется сразу после установки рабочей роли Runbook. Этот модуль Runbook обнаруживает все собственные модули в системе Windows Server, в которой установлена рабочая роль Runbook. Он извлекает действия и метаданные действий для этих модулей, чтобы их действия можно было использовать при создании модулей Runbook в Microsoft Azure Pack.
- SetAutomationModuleActivityMetadata: выполняется сразу после импорта модуля в SMA. Этот модуль Runbook извлекает действия и метаданные действий из недавно импортированного модуля, чтобы его действия можно было использовать при создании модулей Runbook в Microsoft Azure Pack.
Настройка рабочих ролей Runbook
По умолчанию при запуске задания Runbook в SMA он выбирается случайным рабочим рабочая роль Runbook. Однако может потребоваться использовать определенную рабочую роль Runbook. Для этого используйте свойство RunbookWorker . Дополнительные сведения о выполнении модуля Runbook.
Назначьте рабочую роль Runbook надстройкой ISE PowerShell.
- В конфигурации надстройки >SMA ISE войдите с помощью учетной записи SMA. После входа вы увидите модули Runbook на вкладке Runbooks .
- На вкладке Runbooks выберите один или несколько модулей Runbook для выполнения с определенной рабочей ролью Runbook.
- Выберите настройку и в разделе "Настройка свойств Runbook" выберите рабочую роль Runbook в раскрывающемся меню.
- Выберите " Внести изменения".
Назначение рабочей роли Runbook с помощью модуля SMA PowerShell
Вы также можете задать свойство рабочей роли Runbook с помощью следующей команды командной строки:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
$workerName = "Worker1"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -RunbookWorker $workerName
Список всех рабочих ролей Runbook, развернутых следующим образом:
$webServer = 'https://MyServer'
$port = 9090
Get-SmaRunbookWorkerDeployment -WebServiceEndpoint $webServer -Port $port
Примечание.
В настоящее время нельзя использовать портал Microsoft Azure Pack для назначения рабочей роли Runbook. Используйте надстройку SMA ISE или командлеты PowerShell.
Планирование модулей Runbook
Чтобы запланировать запуск модуля Runbook в указанное время, необходимо связать его с одним или несколькими расписаниями. Расписание можно настроить для запуска один раз или задать для повторного выполнения. Один модуль Runbook может быть связан с несколькими расписаниями, и одно расписание может иметь несколько привязанных модулей Runbook.
Создание графика
Вы можете создать расписание с помощью портала управления или с помощью Windows PowerShell.
Создание расписания на портале управления
- На портале управления выберите пункт Автоматизация.
- На вкладке "Активы" выберите "Добавить параметр>", чтобы добавить расписание.
- Введите имя и описание нового расписания и выберите, будет ли он выполняться один раз или ежедневно.
- Укажите время начала и другие параметры по мере необходимости. Часовой пояс для времени начала будет соответствовать часовому поясу на локальном компьютере.
Создание расписания с помощью Windows PowerShell
Командлет Set-SmaSchedule можно использовать для создания расписания или изменения существующего расписания. Необходимо указать время начала расписания и выполнить его один раз или несколько раз.
В следующем примере создается новое расписание с именем "Мое ежедневное расписание". Он начинается в текущий день и продолжается в течение одного года каждый день в полдень.
$webServer = 'https://MyServer'
$port = 9090
$scheduleName = 'My Daily Schedule'
$startTime = (Get-Date).Date.AddHours(12)
$expiryTime = $startTime.AddYears(1)
Set-SmaSchedule -WebServiceEndpoint $webServer -Port $port -Name $scheduleName -ScheduleType OneTimeSchedule -StartTime $startTime -ExpiryTime $expiryTime -DayInterval 1
Связывание расписания с модулем runbook
Один модуль Runbook может быть связан с несколькими расписаниями, и одно расписание может иметь несколько привязанных модулей Runbook. Если модуль Runbook имеет параметры, можно указать значения, которые будут использоваться при запуске модуля Runbook. Необходимо указать значения для всех обязательных параметров.
Связывание расписания на портале управления
- На портале управления выберите модули Runbook службы автоматизации>.
- Выберите имя модуля Runbook для планирования и перейдите на вкладку "Расписание ".
- Если модуль Runbook в настоящее время связан с расписанием, выберите ссылку. Затем выберите ссылку на новое расписание и создайте новую или выберите ссылку на существующее расписание и выберите расписание.
- Если модуль Runbook имеет параметры, их необходимо будет заполнить.
Расписание связывания с Помощью Windows PowerShell
Чтобы связать расписание с модулем Runbook, можно использовать команду Start-SmaRunbook с параметром ScheduleName . Значения можно указать с параметром Parameters . Дополнительные сведения о значениях параметров.
В примерах команд ниже показано, как связать расписание с модулем Runbook.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scheduleName = "Sample-DailySchedule"
Start-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -ScheduleName $scheduleName -Parameters $params
Отслеживание модулей Runbook
При запуске модуля Runbook в SMA создается задание. Задание — это одиночный выполняемый экземпляр модуля Runbook. Один модуль Runbook может иметь несколько заданий, каждый из которых содержит собственный набор значений для параметров runbook.
- Если свойство RunbookWorker модуля Runbook заполняется, рабочий сервер будет обслуживать задание.
- Если рабочий сервер недоступен, задание завершится ошибкой.
- Если свойство RunbookWorker не заполнено, SMA случайно выберет доступный рабочий сервер для обслуживания запроса.
На следующей схеме показан жизненный цикл задания Runbook для модулей Runbook рабочего процесса PowerShell.
На следующей схеме показан жизненный цикл задания Runbook для модулей Runbook скриптов PowerShell.
Состояние задания
Следующая таблица содержит описание различных состояний задания.
Состояние | Description |
---|---|
Завершено | Задание успешно выполнено. |
Неудачно | Задание завершено с исключением. |
В очереди | Задание ожидает появления доступных ресурсов в очереди автоматизации, которые позволят запустить задание. |
Запуск | Задание было назначено рабочему процессу, и система скоро его запустит. |
Возобновление | Система находится в процессе возобновления задания после его приостановки. |
Выполняется | Задание выполняется. |
Остановлено | Задание было остановлено пользователем до его завершения. |
Остановка | Система находится в процессе остановки задания. |
Приостановлена | Задание было приостановлено пользователем, системой или с помощью команды в модуле Runbook. Задание, которое приостановлено, можно запустить снова. Он возобновляется с последней контрольной точки или с начала модуля Runbook, если он не имеет контрольных точек. Модуль Runbook приостановлен только системой в случае исключения, имеющего возможность возобновить работу. По умолчанию параметр ErrorActionPreference имеет значение "Продолжить", то есть задание продолжает выполняться при возникновении исключения. Если для этой переменной задано значение Stop, задание приостанавливается при возникновении исключения. |
Приостановка | Система пытается приостановить задание по запросу пользователя. Модуль Runbook должен достичь следующей контрольной точки, прежде чем задание может быть приостановлено. Если она уже прошла последнюю контрольную точку, она завершится до его приостановки. |
Просмотр состояния задания на портале управления
Панель мониторинга автоматизации содержит сводку по всем модулям Runbook в среде SMA.
- Сводный график отображает общее количество заданий для всех модулей Runbook, которые прошли все состояния в течение определенного количества дней или часов.
- Временной диапазон можно выбрать в правом верхнем углу графика.
- Ось времени диаграммы изменяется в соответствии с типом выбранного диапазона времени.
- Вы можете выбрать, следует ли отображать строку для определенного состояния, щелкнув ее в верхней части экрана.
Отображение панели мониторинга следующим образом:
- На портале управления выберите пункт Автоматизация.
- Перейдите на вкладку Панель мониторинга .
Отображение панели мониторинга
На панели мониторинга модуля Runbook отображается сводка для отдельного модуля. Сводный график отображает общее количество заданий для модуля Runbook, которые прошли все состояния в течение определенного количества дней или часов. Вы можете выбрать диапазон времени в правом верхнем углу графа. Ось времени диаграммы изменяется в соответствии с типом выбранного диапазона времени. Вы можете выбрать, следует ли отображать строку для определенного состояния, щелкнув ее в верхней части экрана.
Отображение панели мониторинга следующим образом:
- На портале управления выберите пункт Автоматизация.
- Выберите имя модуля Runbook.
- Перейдите на вкладку Панель мониторинга .
Просмотреть сведения о задании
Вы можете просмотреть список всех заданий, созданных для конкретного модуля Runbook, и их последнее состояние.
- Список можно отфильтровать по состоянию задания и диапазону дат последнего изменения задания.
- Выберите имя задания, чтобы просмотреть подробные сведения и выходные данные.
- Подробное представление задания содержит значения параметров Runbook, которые были указаны для этого задания.
- В журнале задания содержатся выходные данные, предупреждения и сообщения об ошибках с метками времени создания записей.
- Дополнительные сведения о выходных данных и сообщениях Runbook.
- Источник для задания представляет собой исходный код рабочего процесса на момент запуска задания. Он может не совпадать с текущей версией модуля Runbook, если модуль был обновлен после запуска задания.
Чтобы просмотреть задания для модуля Runbook, выполните следующие шаги.
- На портале управления выберите пункт Автоматизация.
- Выберите имя модуля Runbook и перейдите на вкладку "Задания ".
- Выберите столбец "Создано задание" для задания, чтобы просмотреть сведения и выходные данные.
- Чтобы отобразить журнал задания, откройте вкладку Журнал . Выберите запись журнала и выберите "Просмотреть сведения" в нижней части экрана для подробного просмотра записи.
- На вкладке "Журнал" выберите "Вид источника".
Получение состояния задания с помощью Windows PowerShell
Для получения заданий, созданных для модуля Runbook, и сведений о конкретном задании можно воспользоваться командой Get SmaJob .
- Если запустить модуль Runbook с Windows PowerShell с помощью Start-SmaRunbook, он возвращает результирующее задание.
- Используйте Get-SmaJobOutput , чтобы получить выходные данные задания.
Следующая пример команды извлекает последнее задание для примера runbook и отображает его состояние, значения, предоставленные для параметров runbook, и выходные данные задания.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$job = (Get-SmaJob -WebServiceEndpoint $webServer -Port $port -RunbookName $runbookName | sort LastModifiedDate -desc)[0]
$job.Status
$job.JobParameters
Get-SmaJobOutput -WebServiceEndpoint $webServer -Port $port -Id $job.Id -Stream Output
Настройка параметров runbook
Каждый модуль Runbook имеет несколько параметров. Эти параметры можно использовать для поиска модулей Runbook и управления ими. Вы также можете изменить ведение журнала Runbook, настроив эти параметры. Каждый из этих параметров описан ниже, а затем процедуры по изменению этих параметров.
Имя и описание
Вы не можете изменить имя модуля Runbook после его создания. Необязательный параметр Описание может иметь значение длиной до 512 символов.
Теги
Теги позволяют назначать отдельные слова и фразы для идентификации модуля Runbook. Вы можете указать несколько тегов модуля Runbook, разделив их запятой.
Ведение журнала
По умолчанию подробные записи и записи хода выполнения не записываются в журнал заданий. Вы можете изменить параметры для определенного модуля Runbook, чтобы записывать эти записи. Дополнительные сведения об этих записях см. в статье Выходные данные и сообщения Runbook в службе автоматизации Azure.
Назначенная рабочая роль Runbook
По умолчанию задание Runbook назначается случайной рабочей роли Runbook для выполнения. Вы можете изменить параметры для конкретного модуля Runbook, чтобы выполнить модуль Runbook в определенной рабочей роли Runbook.
Изменение параметров runbook на портале управления
Параметры модуля Runbook можно изменить на портале управления на странице настройки модуля Runbook.
На портале управления выберите пункт Автоматизация.
Выберите вкладку Модули Runbook .
Выберите имя модуля Runbook.
Перейдите на вкладку Настройка .
Изменение параметров модуля Runbook с помощью PowerShell
Командлет Set-SmaRunbookConfiguration можно использовать для изменения всех параметров модуля Runbook, за исключением тегов. Вы можете изменять и добавлять теги для существующих модулей Runbook с помощью портала управления. Теги модулей Runbook можно задать только с помощью PowerShell при импорте модуля Runbook с помощью Import-SmaRunbook.
Приведенные образцы команд показывают, как установить свойства для модуля Runbook. В этом примере добавляется описание и указывается, что подробные записи должны быть записаны в журнал:
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Sample-TestRunbook"
Set-SmaRunbookConfiguration -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Description "Sample runbook" -LogVerbose $true
Шифрование подключения к рабочей роли Runbook и SQL Server
Защитите подключение между рабочими процессами Runbook и SQL Server с помощью SSL.
Следующие шаги
- Ознакомьтесь с сведениями об управлении глобальными ресурсами.
- Узнайте о роли SMA в реализации Microsoft Azure Pack.