Ни один разговор о Microsoft System Center 2012 не будет полон без упоминания о компоненте Orchestrator, который связывает воедино другие компоненты или интегрирует их с какой-нибудь внешней системой. System Center 2012 Orchestrator — новое название продукта, ранее известного как Opalis и приобретенного компанией Microsoft в конце 2009 года.

Говоря коротко, Orchestrator – это набор инструментов для автоматизации ИТ-процессов. Он обеспечивает соединение практически с любой ИТ-системой в компании, а затем выполняет действия (activity) на этих системах. Различные действия объединяются, чтобы определить полный процесс выполнения заданий, известный как Runbook.

Рассмотрим задачу, требующую интенсивной ручной работы, при том что для управления большим числом систем используется несколько консолей. С помощью Orchestrator можно создать единый набор заданий Runbook с действиями, выполняемыми на всех этих системах; таким образом можно автоматизировать всю задачу. Более того, процессы данного набора можно вызывать из интернет-портала Orchestrator; из таких компонентов, как System Center 2012 Service Manager, как части центрального каталога услуг, и даже из других продуктов и интерфейса командной строки, через Windows PowerShell и API-механизмы. Благодаря такой гибкости функциональность Orchestrator доступна и из других сред.

Архитектура Orchestrator

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

  • Сервер управления. Этот компонент обеспечивает связь между базой данных Orchestrator и серверами наборов заданий. Сервер управления также развертывает наборы заданий и пакеты интеграции на серверах с наборами заданий. В каждом развертывании Orchestrator может существовать только один сервер управления. Если сервер управления недоступен, то инструменты для развертывания и управления наборами заданий (например, Runbook Designer) не функционируют. Используйте виртуализацию, чтобы сделать сервер управления устойчивым к отказам сервера.
  • Сервер Runbook. Выполняет размещенные на нем процессы наборов заданий. Серверы наборов заданий взаимодействуют напрямую с хранилищами данных Orchestrator, чтобы определить, нужно ли запустить набор заданий. Для запуска процессов набора заданий сервер управления необязателен. В экземплярах с высокой доступностью обычно имеется несколько серверов заданий. На каждом сервере заданий может одновременно выполняться 50 процессов наборов заданий. Если требуется более 50 процессов, то понадобится несколько серверов заданий.
  • Хранилище данных. Для хранения данных в Orchestrator используется Microsoft SQL Server. В хранилище содержатся все развернутые наборы заданий, настройки, файлы журналов и данные о состоянии системы. В схеме с высокой доступностью хранилище данных должно быть частью кластеризованного экземпляра SQL Server. В лабораторной среде серверы управления и наборов заданий могут быть установлены на одном экземпляре операционной системы, таком как одна виртуальная машина. В производственной среде эти серверы обычно распределяются по нескольким экземплярам операционной системы. Системные требования Orchestrator такие же, как у остальных компонентов System Center 2012 SP1:
  • Windows Server 2012 или Windows Server 2008 R2;
  • SQL Server 2012 или SQL Server 2008 R2.

В отличие от других компонентов System Center 2012, Orchestrator по-прежнему остается 32-разрядным приложением. Это не вызывает затруднений, так как 32-разрядные программы выполняются в 64-разрядных операционных системах. Однако в некоторых случаях при вызове 64-разрядного компонента необходимо пускаться на хитрости, чтобы добиться слаженной работы. При этом благодаря 32-разрядной архитектуре инструментарий Orchestrator можно запускать как на 32-, так и на 64-разрядных клиентских операционных системах.

Размер базовой установки Orchestrator — всего около 1000 Мбайт. По сравнению с остальными частями System Center, Orchestrator невелик и не требует большого количества памяти и ресурсов процессора. Однако это зависит от сложности процессов наборов заданий, выполняемых на серверах заданий.

Инструментарий Orchestrator

Несколько инструментов используются для создания набора заданий, настройки серверов и контроля среды. Эти инструменты могут быть развернуты в Windows 7, Windows 8, Windows Server 2008 R2 или Windows Server 2012. О них я расскажу, когда с их помощью мы создадим и будем использовать первый набор заданий. Будем исходить из того, что все компоненты и инструменты Orchestrator установлены на одном сервере, пользователь выполнил регистрацию и имеет доступ к ним.

Создание набора заданий

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

  • системные действия;
  • планирование;
  • мониторинг;
  • управление файлами;
  • электронная почта;
  • уведомления;
  • утилиты;
  • управление текстовыми файлами;
  • управление набором заданий.

Используя только встроенные действия в этих категориях, можно создать мощные наборы заданий. Например, действие Run. Net Script в категории System позволяет вызвать PowerShell и выполнять из оболочки почти любые операции. Но цель Orchestrator заключается в том, чтобы сделать процесс создания набора заданий как можно более простым и интуитивно понятным. Поэтому вместо постоянного создания сценариев PowerShell лучше воспользоваться пакетами интеграции Orchestrator.

Пакет интеграции представляет собой коллекцию действий, имеющих некоторые общие черты: все они относятся к конкретному продукту или обеспечивают определенные возможности. Например, существуют пакеты интеграции для каждого компонента System Center 2012, Windows Azure, VMware, Microsoft Exchange, Active Directory (AD), HP Service Manager и т.д. Несколько бесплатных пакетов интеграции предоставляет компания Microsoft. Другие созданы сообществом Orchestrator, а некоторые поставщики выпускают пакеты интеграции для своих решений, чтобы их можно было использовать в наборе заданий. Ряд компаний, в частности Kelverion, предоставляют как платные, так и бесплатные пакеты интеграции.

Следующий шаг после загрузки пакета интеграции — зарегистрировать его в Orchestrator. Затем пакет интеграции размещается в экземплярах Runbook Designer (чтобы пакет интеграции можно было использовать как часть набора заданий) и серверах заданий. Инструмент Deployment Manager используется для выполнения этой функции.

Launch Deployment Manager. Инструмент делится на три раздела, показывая пакеты интеграции, доступные для развертывания Orchestrator, развернутые экземпляры Runbook Designer и размещенные серверы заданий, как показано на экране 1.

 

Диспетчер развертывания
Экран 1. Диспетчер развертывания

Таким образом, Deployment Manager — полезный инструмент не только для развертывания пакетов интеграции, но и для экземпляров Runbook Designer и новых серверов заданий. Кроме того, инструмент обеспечивает единый вид всего состояния развертывания Orchestrator.

Итак, Runbook Designer и сервер заданий размещены на локальном сервере. С помощью Deployment Manager будет загружен новый пакет интеграции и развернут на Runbook Designer и экземпляре сервера заданий. В этом примере загружается и будет развернут пакет интеграции Activities for Active Directory.

  1. Щелкните правой кнопкой мыши узел навигации Integration Packs и выберите Register IP with the Orchestrator Management Server («Регистрация IP-адреса на сервере Orchestrator Management Server»).
  2. Нажмите кнопку Next на странице приветствия.
  3. Нажмите кнопку Add («Добавить») в мастере выбора пакета интеграции, выберите файл OIP и нажмите кнопку Open («Открыть»). Если загружается более одного пакета, то эти действия нужно повторить для каждого. Нажмите кнопку Next.
  4. Нажмите кнопку Finish («Готово»).

Пакет интеграции импортирован в экземпляр Orchestrator и зарегистрирован на сервере управления. Следующий шаг — развернуть пакет интеграции на Runbook Designer и сервере заданий.

  1. Выделите пакет интеграции из списка, отображаемого в узле Integration Packs и выберите действие Deploy IP to Runbook Server or Runbook Designer («Развертывание IP-адреса на сервере заданий или Runbook Designer»), как показано на экране 2.
  2. Нажмите кнопку Next на вводной странице мастера развертывания пакета интеграции.
  3. Выберите пакет интеграции, который нужно развернуть, затем нажмите кнопку Next. При развертывании нескольких пакетов можно выбрать более одного пакета.
  4. Укажите компьютеры, на которых следует разместить пакет (или пакеты) интеграции; это могут быть компьютеры Runbook Designer или серверы заданий. Нажмите кнопку Next.
  5. Укажите, следует ли выполнить развертывание немедленно или запланировать на определенное время. Нажмите Next.
  6. Просмотрите список действий, которые будут выполнены, затем нажмите кнопку Finish.

 

Развертывание пакетов интеграции
Экран 2. Развертывание пакетов интеграции

Пакет интеграции доступен для включения в набор заданий и использования на серверах заданий. При перемещениях по Deployment Manager обратите внимание, что если щелкнуть правой кнопкой мыши узел навигации Runbook Servers или Runbook Designers, то появится вариант для развертывания нового экземпляра. В результате упрощается расширение развертывания Orchestrator.

Теперь пришло время воспользоваться Runbook Designer для создания и тестирования набора заданий. Обратите внимание на область навигации слева, в которой показаны существующие наборы заданий, а также варианты для создания групп компьютеров и развертывания заданий на серверах заданий. В правой части окна показаны все доступные пакеты интеграции и встроенные действия. Основная часть инструмента состоит из поля, на которое переносятся действия для создания набора заданий.

Первый шаг — создать новую папку для набора заданий. Затем следует создать новый набор заданий Runbook в этой папке.

  1. Щелкните правой кнопкой мыши узел навигации Runbooks и выберите New, Folder.
  2. Введите имя (например, ITPRO), затем нажмите клавишу Enter.
  3. Щелкните правой кнопкой новую папку и выберите New, Runbook.
  4. Будет создана вкладка New Runbook. Щелкните эту вкладку правой кнопкой мыши, выберите пункт Rename («Переименовать») и назначьте вкладке понятное имя (например, NewUser). Чтобы завершить процесс переименования, необходимо оформить набор заданий. Это происходит автоматически.

В данном примере создается набор заданий, который будет использован для формирования учетных записей пользователей. Для этого применим пакет интеграции Active Directory.

В некоторых пакетах интеграции используются настройки, которые нужно выполнить, прежде чем можно будет применить действия. Для пакета Active Directory необходимо сделать настройки для экземпляра AD, с которым предстоит взаимодействовать. Для этого требуется имя контроллера домена (DC), учетные данные и контейнер по умолчанию, в котором будут создаваться объекты.

  1. В меню Options в Runbook Designer показаны все пакеты интеграции, требующие созданных настроек. Выберите Choose Active Directory.
  2. Нажмите кнопку Add.
  3. Заполните имеющиеся поля. Родительский контейнер должен иметь формат различающегося имени (DN). Например, контейнер по умолчанию Users для домена savilltech.net будет CN=Users,DC=Savilltech,DC=Net. Заполнив все поля, нажмите кнопку OK.

Теперь можно создать Runbook.

  1. Runbook уже должен быть оформлен из процесса переименования. Если это не сделано, выберите действие Check Out на главной панели меню.
  2. В области Activities выберите Runbook Control («Управление Runbook»), затем перенесите действие Initialize Data в поле, на левый край. С помощью этого действия определяются переменные, используемые во всем наборе заданий.
  3. Дважды щелкните действие Initialize Data на поле; выберите Details.
  4. Нажмите кнопку Add, чтобы создать новые параметры, затем щелкните имя-местозаполнитель каждого созданного параметра и дайте ему уникальное имя. В нашем примере нужно ввести три параметра; назовите их CommonName, FirstName и Surname, затем нажмите кнопку OK. Эти значения требуются при запуске набора заданий и будут помещены в шину данных Orchestrator, доступную всем действиям в наборе заданий и предоставляющую очень удобный способ передачи данных.

Следующий шаг — добавить действие для создания учетной записи нового пользователя.

  1. В списке Activities («Действия») выберите Active Directory, затем переместите действие Create User на поле, справа от действия Initialize Data.
  2. Проведите курсором мыши над полем, непосредственно справа от действия Initialize Data. Появится маленькая стрелка. Щелкните и удерживайте стрелку, затем проведите ею над действием Create User. В результате будет создана связь между двумя действиями.
  3. Дважды щелкните действие Create User, затем нажмите кнопку справа от имени конфигурации и выберите конфигурацию, созданную для пакета интеграции Active Directory.
  4. В разделе Properties («Свойства») показан параметр CommonName. Щелкните правой кнопкой мыши в пустом пространстве рядом со значением CommonName. Мы будем использовать значение из действия Initialize Data, подписываясь на его данные на шине данных Orchestrator.
  5. Из контекстного меню выберите Subscribe («Подписаться»), Published Data («Опубликованные данные»). Действие Initialize Data выбирается по умолчанию. Выберите показанное значение CommonName и нажмите OK.
  6. В этом примере также задаются имя и фамилия нового пользователя. Нажмите кнопку Optional Properties («Дополнительные свойства»), выберите имя и фамилию и щелкните правую стрелку, чтобы добавить свойство.
  7. Вновь воспользуйтесь действием Subscribe для каждого значения, чтобы выбрать соответствующее значение из действия Initialize Data так же, как для CommonName на шаге 5. Нажмите кнопку Finish.
  8. В результате этих действий создается отключенная учетная запись пользователя. Чтобы активировать учетную запись пользователя, нужно добавить действие Enable User. Переместите действие Enable User из пакета интеграции Enable User в поле, справа от действия Create User. Создайте связь из действия Create User к действию Enable User, как описано на шаге 2. Если щелкнуть связь правой кнопкой мыши, то вы увидите выбираемый по умолчанию режим Include. Это означает, что ссылка используется, если действие Create User завершается успешно. Если Create User завершается неудачей, то можно связать другие действия.
  9. Дважды щелкните действие Enable User и выберите конфигурацию AD. Щелкните правой кнопкой мыши в любом месте в пространстве значения и выберите Subscribe, Published Data. Для Activity выберите Create User, затем значение Distinguished Name (заполняется автоматически при создании учетной записи пользователя).
  10. Нажмите кнопку Finish. Завершенный набор заданий должен выглядеть так, как показано на экране 3.

 

Создание пользовательского Runbook
Экран 3. Создание пользовательского Runbook

Теперь можно использовать созданный набор заданий. Для проверки нового набора заданий нажмите кнопку Runbook Tester, которая запускает утилиту Runbook Tester. Нажмите кнопку Run («Выполнить»). Будет выдан запрос на ввод значений, необходимых для действия Initialize Data. После ввода этих значений набор заданий будет выполняться и можно увидеть состояние каждого действия в нем.

В этом примере используются только действия из пакетов интеграции Runbook Control и Active Directory. Действительно широкие возможности открываются при использовании действий из многих пакетов интеграции, чтобы автоматизировать процессы, требующие работы многих систем. Можно задействовать различные уровни протоколирования, чтобы отслеживать применение наборов заданий и устранять возможные неисправности.

Созданные наборы заданий по умолчанию доступны для использования серверами заданий. Новый набор заданий также доступен в разделе Properties каждого сервера заданий. Можно указать серверы, которые будут использованы для запуска заданий. Хотя наборы заданий можно запускать различными способами, Orchestrator обеспечивает разнообразные интернет-варианты, такие как веб-консоль Microsoft Silverlight, по умолчанию доступная через порт 82 сервера управления. Консоль можно запустить из Runbook Designer с помощью кнопки Orchestration Console. Консоль обеспечивает отслеживание и инициацию набора заданий, как показано на экране 4.

 

Веб-консоль Silverlight
Экран 4. Веб-консоль Silverlight

Лучше всего начать работу с Orchestrator с небольших шагов. Выберите процесс, связанный с некоторыми выполняемыми вручную операциями, и создайте набор заданий для автоматизации задачи. Можно даже преобразовать сценарий PowerShell в Orchestrator Runbook. Начав работать с Orchestrator, вы быстро обнаружите, как просто автоматизировать даже очень сложный процесс. Наборы заданий можно интегрировать в другие компоненты, такие как Service Manager, чтобы сделать их доступными.

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