Архитектура оркестратора
На следующей схеме показаны все функции Orchestrator и взаимодействие между ними.
База данных оркестрации является центром установки Orchestrator, содержащей все модули Runbook, параметры конфигурации и журналы. Сервер Management — это необходимый связующий слой между Runbook Designer и базой данных Orchestration. Один или несколько серверов Runbook взаимодействуют напрямую с базой данных, получая для запуска модули Runbook, и хранят информацию о заданиях, создаваемых из модулей Runbook. Веб-служба также взаимодействует непосредственно с базой данных Orchestration и обеспечивает подключение веб-браузера для консоли Orchestration.
Как Orchestrator обрабатывает модули Runbook
После создания модуля Runbook вы зафиксируйте его в базе данных оркестрации, зарегистрировав его. Затем можно использовать Runbook Designer или консоль Orchestration для запуска и остановки модуля Runbook.
Запрос на запуск Runbook создает задание , которое сохраняется в базе данных Orchestration. Каждый модуль Runbook может определить основной сервер Runbook и один или несколько резервных серверов, обрабатывающих модуль Runbook, если основной модуль недоступен. Служба на каждом сервере Runbook непрерывно отслеживает в базе данных Orchestration задания, которые сервер может обработать. Когда сервер Runbook обнаруживает задание, он регистрирует, что он работает над заданием, копирует модуль Runbook локально, регистрирует, что на нем запущен экземпляр runbook, а затем начинает обработку модуля Runbook. Для любого модуля Runbook, не содержащего монитора, можно создать несколько запросов runbook, что означает, что один модуль Runbook может иметь несколько заданий.
Когда сервер Runbook обрабатывает задание, он создает экземпляр Runbook, создавая его локальную копию, и затем выполняет действия, определенные в Runbook согласно логике его рабочего процесса. Информация о состоянии, результаты действия и данные записываются в базу данных Orchestration, поэтому можно отслеживать состояние Runbook в режиме реального времени и исторические данные состояния.
Установка веб-службы Orchestrator
-
На сервере, на котором требуется установить веб-службу Orchestrator, запустите мастер установки Orchestrator.
Чтобы запустить мастер на носителе или сетевом ресурсе продукта, дважды щелкните SetupOrchestrator.exe.
Примечание
Перед началом установки веб-службы Orchestrator закройте все открытые программы и убедитесь, что на компьютере нет ожидающих перезапусков. Затем войдите на компьютер с той же учетной записью пользователя, чтобы завершить установку роли сервера или обновления системы безопасности.
-
На главной странице установки в разделе » Автономные установки» щелкните «Консоль оркестрации» и «Веб-служба».
Предупреждение
Если среда Microsoft .NET Framework 3.5 с пакетом обновления 1 (SP1) на компьютере не установлена, откроется диалоговое окно, в котором можно подтвердить необходимость установки .NET Framework 3.5 с пакетом обновления 1 (SP1). Нажмите кнопку Да для продолжения установки.
-
На странице Регистрация продукта укажите имя и организацию для регистрации продукта и затем нажмите Далее.
Примечание
Для этого ознакомительного выпуска ключ продукта не требуется.
-
На странице «Условия лицензионного соглашения» просмотрите и примите условия лицензионного соглашения на использование программного обеспечения Майкрософт, а затем нажмите кнопку «Далее».
На странице данных диагностики и использования просмотрите уведомление о данных диагностики и использования и нажмите кнопку «Далее».
-
Компьютер проверяется на наличие необходимого оборудования и программного обеспечения. Если компьютер отвечает всем требованиям, откроется страница Все необходимые компоненты установлены . Нажмите Далее и перейдите к следующему шагу.
Если необходимый компонент отсутствует, на странице будет указано, какой компонент не установлен и как разрешить проблему. Чтобы устранить проблемы проверки необходимых компонентов, выполните следующие действия:
-
Просмотрите элементы, которые не прошли проверку на наличие необходимых компонентов. Для некоторых требований, например для Microsoft .NET Framework 4, можно воспользоваться ссылкой, которую предоставляет мастер установки, и установить недостающий компонент. Мастер установки может установить или настроить другие необходимые компоненты, например роль Internet Information Services (IIS).
Предупреждение
Если включить необходимые компоненты, такие как Microsoft .NET Framework 4, во время установки, может потребоваться перезагрузить компьютер. После перезагрузки компьютера необходимо запустить установку с начала.
-
После устранения проблем с отсутствующими компонентами нажмите Проверить необходимые компоненты снова.
-
Чтобы продолжить, нажмите кнопку Далее .
-
-
На странице «Настройка учетной записи службы» введите имя пользователя и пароль для учетной записи службы Orchestrator. Нажмите кнопку Проверить , чтобы проверить учетные данные учетной записи. Если учетные данные приняты, нажмите кнопку Далее.
-
На странице «Настройка сервера базы данных» введите имя сервера базы данных , связанного с сервером управления Orchestrator. Можно также указать, какую проверку подлинности следует использовать: Windows или SQL Server, и следует ли создать новую базу данных или использовать существующую. Нажмите кнопку Проверить подключение к базе данных , чтобы проверить учетные данные базы данных. Если учетные данные приняты, нажмите кнопку Далее.
-
На странице «Настройка базы данных» выберите базу данных Orchestrator для развертывания и нажмите кнопку «Далее».
-
На странице «Настройка порта для веб-службы » проверьте номера портов для веб-службы Orchestrator и консоли оркестрации и нажмите кнопку «Далее».
-
На странице «Выбор расположения установки » проверьте расположение установки Orchestrator и нажмите кнопку «Далее».
-
На странице Центр обновления Майкрософт при необходимости укажите, использовать ли службы Центра обновления Майкрософт для проверки наличия обновлений, и затем нажмите Далее.
-
На странице справки по улучшению Microsoft System Center Orchestrator при необходимости укажите, хотите ли вы участвовать в отчете об ошибках, а затем нажмите кнопку «Далее».
-
Просмотрите страницу Сводка по установке и затем нажмите Установить.
Откроется страница Установка компонентов , на которой будет отображаться ход процедуры установки.
-
На странице «Установка завершена успешно » (необязательно) укажите, нужно ли запустить runbook Designer, а затем нажмите кнопку «Закрыть «, чтобы завершить установку.
Панель мониторинга
На панели мониторинга отображаются активные задания вверху, за которыми следует таблица всех завершенных заданий (журнал). Панель завершенных заданий (журнала) свернута по умолчанию, что позволяет сосредоточиться на активных заданиях.
Каждая строка на обеих панелях соответствует уникальному заданию. Задание может иметь один или несколько экземпляров runbook. В каждой строке показано:
- Идентификатор задания: ссылка на модуль Runbook
- Метки времени: количество успешных и неудачных экземпляров отображается в одном из столбцов для всех строк.
- Кнопки действий: остановка задания или просмотр сведений о задании
Можно щелкнуть и развернуть каждую строку задания и просмотреть экземпляры задания.
Включить сетевое обнаружение
-
На рабочем столе компьютера под управлением Windows Server нажмите кнопку «Пуск», щелкните панель управления, выберите «Сеть» и «Интернет», «Сеть» и «Центр управления доступом», выберите «Главная группа» и «Параметры общего доступа», а затем нажмите кнопку «Изменить дополнительные параметры общего доступа».
-
Чтобы изменить профиль домена , щелкните значок со стрелкой , чтобы развернуть параметры раздела и внести необходимые изменения.
-
Выберите «Включить обнаружение сети» и нажмите кнопку «Сохранить изменения».
Если вам будет предложено ввести пароль администратора или подтверждение, введите пароль или укажите подтверждение.
Software
The following software is required for a full installation of Orchestrator on a single computer:
¨Microsoft SQL Server 2008 R2 or Microsoft SQL Server 2012– Orchestrator requires only the basic SQL Server features found in the Database Engine Service. No additional features are required. Orchestrator supports SQL_Latin1_General_CP1_CI_AS for collation. The installation wizard uses SQL_Latin1_General_CP1_CI_AS as the default collation to create the orchestration database.
Note : |
Management servers and runbook servers installed on the same computer must use the same database. The management server must run as a 32-bit application. |
¨Microsoft Internet Information Services (IIS) – Orchestrator Setup enables IIS if it is not enabled.
¨Microsoft .NET Framework 3.5 Service Pack 1 – Orchestrator Setup installs and enables .NET Framework 3.5 SP1 if it is not installed and enabled.
¨Microsoft .NET Framework 4
Installing Orchestrator
Double-click SetupOrchestrator.exe.
Click Install.
Provide the name and company for the product registration, and then click Next
On the Select features to install page, select all features are and then click Next.
For some requirements, such as Microsoft .NET Framework 4, you can use the link provided in the Setup Wizard to install the missing requirement. The Setup Wizard can install or configure other prerequisites, such as the Internet Information Services (IIS) role.
On the Configure the service account page, enter the user name and password for the Orchestrator Management Service account.
On the Configure the database server page, enter the name of the server Click Test Database Connection to verify the account credentials. If the credentials are accepted, click Next.
On the Configure the database page, click Next.
On the Configure Orchestrator management group page, accept the default configuration or enter the name of the user group to manage Orchestrator permissions, and then click Next.
On the Configure the port for the web service page and then click Next.
Review the Installation summary page, and then click Install.
Setup completed successfully
Расширение Оркестратора
В следующей таблице показано несколько доступных стратегий для расширения функциональных возможностей, предоставляемых стандартной установкой Orchestrator.
Компонент Orchestrator | Описание |
---|---|
Пакет интеграции (IP) | Пакет интеграции — это коллекция настроенных действий, разработанных для продукта или технологии. Майкрософт и другие компании предоставляют пакеты интеграции с действиями для взаимодействия со своим продуктом из модуля Runbook Orchestrator. |
Orchestrator Integration Toolkit | Набор средств интеграции Orchestrator позволяет расширить библиотеку действий за пределы коллекции стандартных действий и пакетов интеграции. Набор средств интеграции содержит средства на основе мастера для создания новых действий и пакетов интеграции для Orchestrator. Разработчики также могут использовать набор средств интеграции для создания пакетов интеграции из пользовательских действий, которые они создают с помощью пакета SDK Orchestrator. |
Resources ^
- Overall list of Integration Packs available for Orchestrator 2012
- List of System Center (both earlier and 2012 versions) Integration Packs available for Orchestrator 2012
- Detailed Data Manipulation functions descriptions
- Orchestrator open source Integration Pack projects on Codeplex
- SC2012 Solution Runbook Examples on Codeplex
- Orchestrator Integration Pack projects on TechNet
- Orchestrator Jump Start by Pete Zerger – in five parts
- TechNet Virtual Lab: Opalis: Incorporating Advanced Logic into Your Policies
- TechNet Virtual Lab: Opalis: Building Advanced Policies
Articles in series
Orchestrator 2012
- System Center 2012 – Orchestrator Review
- System Center 2012 – Orchestrator – Installation
- System Center 2012 – Orchestrator – Creating Runbooks
- System Center 2012 – Orchestrator 2012 – Runbooks best practices
- System Center 2012 – Orchestrator 2012 – Integration Packs
Architectural diagram
The following diagram illustrates each of the Orchestrator features and the communication between each.
The orchestration database is the center of the Orchestrator installation containing all runbooks, configuration settings, and logs. The management server is required as a communication layer between the Runbook Designer and the orchestration database. One or more runbook servers communicate directly with the database to retrieve runbooks to run and store information about the jobs created from the runbooks. The web service also communicates directly with the orchestration database and provides a web browser connection for the Orchestration console.
Запуск и остановка модулей Runbook
Кроме просмотра текущего состояния Runbook, можно также запускать и останавливать Runbook из консоли Orchestration. При запуске Runbook создается задание, которое ожидает появления доступного сервера Runbook для обработки Runbook. Если первое действие модуля Runbook — монитор, задание непрерывно выполняется, потенциально создавая несколько экземпляров Runbook, до тех пор пока Runbook или задание не будут остановлены. Если сервер Runbook доступен, задание предоставляет экземпляр Runbook для обработки серверу Runbook. Для выполняющегося Runbook имеется по крайней мере одно задание и один или несколько связанных с ним экземпляров.
При остановке Runbook, данный модуль Runbook, все задания и все экземпляры, связанные с Runbook, останавливаются.
Как запустить Runbook
-
Нажмите Модули Runbook , чтобы открыть рабочую область Модули Runbook .
-
Если Runbook хранится в папке, выберите соответствующую папку на панели Модули Runbook .
-
Откройте вкладку Модули Runbook на панели результатов.
-
Выберите модуль Runbook и затем на панели Действия нажмите Запустить Runbook.
-
Если Runbook требует параметров, они перечисляются на панели Параметры Runbook . Для каждого Runbook щелкните столбец Значение и введите значение, которое будет использоваться для Runbook.
-
Чтобы запустить Runbook не на его сервере по умолчанию, а на другом сервере, щелкните сервер на панели Доступные серверы Runbook и затем щелкните стрелку вправо, чтобы добавить сервер на панель Выбранные серверы Runbook .
Примечание
Если на панель Выбранные серверы Runbook добавлено несколько серверов, Runbook работает только на первом сервере (если он доступен). Другие серверы являются резервными серверами, на которых Runbook запускается только если основной сервер недоступен.
-
Нажмите Запуск.
Остановка модуля Runbook
-
Нажмите Модули Runbook , чтобы открыть рабочую область Модули Runbook .
-
Если Runbook хранится в папке, выберите соответствующую папку на панели Модули Runbook .
-
Откройте вкладку Модули Runbook на панели результатов.
-
Выберите модуль Runbook и затем на панели Действия нажмите Остановить Runbook.
-
В окне сообщения нажмите кнопку ОК , чтобы подтвердить остановку задания.
-
Если модуль Runbook был успешно запущен, вы получите подтверждение того, что задание остановлено. Если для данного Runbook нет выполняющихся заданий, вы получите сообщение о том, что никакие задания не выполнялись.
Просмотр состояния Runbook в консоли Orchestration
-
Нажмите Модули Runbook , чтобы открыть рабочую область Модули Runbook .
-
Если Runbook хранится в папке, выберите соответствующую папку на панели Модули Runbook .
-
Откройте вкладку Модули Runbook на панели результатов.
-
Выберите Runbook.
-
Чтобы просмотреть все задания, созданные данным Runbook, на панели Действия выберите Просмотреть задания.
-
Чтобы просмотреть все экземпляры, созданные данным Runbook, на панели Действия выберите Просмотреть экземпляры.
Экземпляры
При выборе экземпляра (с помощью кнопки i) приложение переходит на этот экран. На верхней панели отображаются метаданные экземпляра (идентификатор задания, метки времени, параметры, сервер, который выполняет этот экземпляр).
На верхней панели также есть три кнопки навигации:
- Предыдущий: просмотр экземпляра, который выполнялся до этого.
- Далее: просмотр экземпляра, который выполнялся после этого.
- Последняя версия: просмотр самого текущего экземпляра
Обратите внимание, что идентификатор задания совпадает, и так как второй экземпляр все еще выполняется, задание также выполняется. Под панелью вы увидите схему runbook
Можно щелкнуть каждое действие Runbook, чтобы просмотреть выходные данные действий. Значок, выделенный для каждого действия, обозначает состояние этого действия. При щелчке любого действия наложение отображается справа, в списке выходных данных действия
Под панелью вы увидите схему runbook. Можно щелкнуть каждое действие Runbook, чтобы просмотреть выходные данные действий. Значок, выделенный для каждого действия, обозначает состояние этого действия. При щелчке любого действия наложение отображается справа, в списке выходных данных действия.
Так как действие может выполняться несколько раз в экземпляре (из-за циклов), каждое выполнение действия имеет уникальный порядковый номер. Наложение позволяет выбрать последовательности # с помощью раскрывающегося списка вверху.
Примечание
Чтобы обеспечить быстрое время загрузки, для действия загружаются только первые 10 выходных данных действия. Кнопка «Загрузить больше » показывает, сколько раз было выполнено это действие, и вы можете щелкнуть его, чтобы загрузить дополнительные выходные данные.
Состояние экземпляра и действия соответствует тому же формату, что и состояние задания.
Выполнение модулей Runbook
Перейдите на экран Runbook нужного модуля Runbook и нажмите кнопку «Выполнить «. Форма наложения откроется справа, где вам будет предложено:
- Задайте значения для всех входных параметров (обязательно)
- Выберите набор серверов Runbook, на которых можно запланировать это задание.
Только один из этих серверов фактически выполнит это задание. Чтобы выполнить модуль Runbook на многих серверах, вам придется запустить это количество заданий и явно задать серверы по одному.
Примечание
Введите параметры в форме, в противном случае форма не будет рассматриваться.
При отправке формы в правом верхнем углу отображается исчезающее всплывающее окно, уведомляющее о том, было ли задание успешно поставлено в очередь.
Автоматизация с помощью модулей Runbook
Чтобы автоматизировать задачу или процесс в Orchestrator, используйте Runbook Designer для создания модуля Runbook. Путем перетаскивания действий с панели Действия они добавляются к модулю Runbook. Затем действия связываются в нужном порядке для создания рабочего процесса.
На следующем рисунке показан простой модуль Runbook.
Этот Runbook отслеживает журнал событий. Когда Runbook обнаруживает заданное событие, он проверяет состояние определенного процесса в Windows на определенном компьютере. Если обнаруживается, что процесс выполняется, он останавливается. Затем Runbook запускает процесс и отправляет по электронной почте уведомление об изменении состояния процесса.
Каждое действие Runbook перед переходом к следующему действию завершается. Кроме того, возможны действия, которые содержат сложную логику, например требующую, чтобы для продолжения работы Runbook было выполнено несколько действий. С помощью комбинации логики в действиях и интеллектуальных связей можно реализовать любую логику, которую требует определенный сценарий автоматизации.
Conclusion ^
System Center 2012 is a major revamp of the whole suite, and whilst the components are still separate, Orchestrator and the SC 2012 IPs bring them closer than ever before. For this reason alone, adding Orchestrator to your list of must have skills for the future is a good idea but when you take into account the extensive reach of Orchestrator to automate across many other disparate systems my conclusion is that getting the hang of it is crucial for the future.
Playing with Orchestrator 2012 is a lot of fun, and I must say that the visual part of me is certainly picking up how to do things quicker than when struggling in the light blue sea of PowerShell.
System Center 2012 SP1 – Orchestrator and Disk Maintenance
With my trusted friend Orchestrator, I have taken the opportunity to delegate this task to its ever-capable hands. To save time, Orchestrator is willing to help by running this process for me on a nightly basis, reducing the impact even further. In addition, the list of servers that require maintenance never appears to shrink, so instead of updating the runbook for each new server, I have chosen to create a central list to work from. Not every file should be archived while we are implementing, so I have also added the ability to simply purge files from the system.
Configuration Database
Let’s being with the central list. For this I have decided to use SQL, with a database specifically for my MIS Activities.
- In the SQL Management Studio, expand the Object Explorer, and select the Databases Node.
-
Right-click and select the option New Database, to launch the New Database dialog.
- In the Database name field, type the name for your MIS Database, e.g. ITServices.
- For the Owner, I am going to set this to the Orchestrator Service account, as it will be the Primary user of this database, at least for now. E.g.
- Click OK to create our database.
Storage Maintenance Plan
I plan to use this database for a number of different projects and tasks, including logging my Runbook activity status, and of course the list of disks that I need to maintain. Let’s begin first by creating the table for our disk maintenance work.
- In the SQL Management Studio, expand the Object Explorer, Databases, ITServices, and select the Tables Node.
- Right-click and select the option New Table, to present the table designer.
- Populate the table design with the following information:
Column Name | Data Type | Allow Nulls |
SourcePath | nvarchar(1024) | No |
SourceMask | nvarchar(50) | No |
Action | nvarchar(50) | No |
Age | numeric(18,0) | Yes |
TargetPath | nvarchar(1024) | Yes |
- After you have defined your table design, from the toolbar click Save to commit the table.
- You will be prompted for a table name; for example, ITStorageMaintenacePlan.
Finally, lets seed the table with some initial pruning and archive work which we will have Orchestrator process for us.
- In the SQL Management Studio, expand the Object Explorer, Databases, ITServices and select the Tables Node.
- Right-click and select Refresh, which should add our new ITStorageMaintenancePlan to the view.
- Select our new table dbo.ITStorageMaintenancePlan. Right-click it and select the option Edit Top 200 Rows.
- The table editor will now be presented, ready for us to add some sample data.
- Populate the table with some suitable sample paths; for example, I am using the following for my Exchange Server.
SourcePath | SourceMask | Action | Age | TargetPath |
\\pdc-ex-svr01\c$\inetpub\logs\LogFiles\W3SVC1\ | *.log | Archive | 10 | \\pdc-fs-smb01\archives |
\\pdc-ex-svr01\C$\Windows\ | *.evtx | Purge | 5 |
Enable network discovery for the Runbook Designer
Network and Sharing Center, click Choose Home group and Sharing Options, and then click Change advanced sharing settings.
NOTE: Make sure these services are running first – DNS Client – Function Discovery Resource Publication – SSDP Discovery – UPnP Device Host |
For the Domain profile Turn on network discovery, and then click Save changes.
Install an Integration Pack
System Center 2012 – Orchestrator includes a set of standard activities that are automatically installed with Orchestrator. You can expand functionality and ability of Orchestrator to integrate platforms and products by Microsoft and other companies by installing integration packs. Each integration pack contains activities that provide unique functions. Microsoft provides integration packs for all of the System Center products, a number of other Microsoft products, and technologies and products from other companies.
Integration packs are available from the Microsoft Download Center.
Note:
System Center 2012 – Orchestrator supports integration packs designed for System Center 2012 -Orchestrator. Integrations packs for Opalis or pre-release versions of System Center 2012 – Orchestrator are not supported.
After we download the integration pack, we now are going to register the integration pack file with the Orchestrator management server, and then deploy it to runbook servers and computers that have the Runbook Designer installed.
Software
The following software is required for a full installation of Orchestrator on a single computer:
Microsoft SQL Server 2012, 2014, or 2016 – Orchestrator requires only the basic SQL Server features found in the Database Engine Service. No additional features are required. Orchestrator supports SQL_Latin1_General_CP1_CI_AS for collation. The installation wizard uses SQL_Latin1_General_CP1_CI_AS as the default collation to create the orchestration database. For more information, see the section on SQL Server.
Note
Management servers and runbook servers installed on the same computer must use the same database. The management server must run as a 32-bit application.
-
Microsoft Internet Information Services (IIS) – Orchestrator Setup enables IIS if it is not enabled.
-
Microsoft .NET Framework 3.5 Service Pack 1 — Orchestrator Setup installs and enables .NET Framework 3.5 SP1 if it is not installed and enabled.
-
Microsoft .NET Framework 4
We recommend the following software for a full installation of Orchestrator on a single computer:
Join the computer to an Active Directory domain.
Note
On first use of the Orchestration console, you are prompted to install Microsoft Silverlight on the computer, if it is not already installed. Install Silverlight 5.0.
Orchestrator Runbooks
With our database now ready, we can proceed to use orchestrator to create a set of four runbooks for our project. Of course we could achieve all that we need in a single runbook, but segregating the runbooks into smaller jobs ensures that we can unit test the solution in bite-size chunks.
Let’s begin by creating a new folder for our solution. In my case, I am calling this 2. Storage Maintenance.
Archive Files Runbook
The first runbook I create will be called 2.2 Archive Files. This runbook will accept the details of the archive job, including the Source, Target, and Age of the files for archival.
On the canvas I will place, and hook up the following:
- I add an Initialize Data activity to accept in the parameters for the job.
- Next, I use a Move Files activity to do the actual archival, which I rename to Archive Files.
-
And finally, I will add two Return Data activities.
- First, for a successful execution, which I rename Success.
- Second, for a failed execution, which I also rename, this time Failure.