Почти все системные администраторы относятся к перспективе заняться составлением сценариев с таким же энтузиазмом, с каким мой девятилетний сын отправляется на прививку в медицинский кабинет. Разумеется, я понимаю, что ИТ-специалисты всей душой за автоматизацию всех процессов, которые только поддаются автоматизации. Но когда такой энтузиаст, открыв интегрированную среду сценариев Windows PowerShell, осознает, что ему предстоит написать сценарий, не укладывающийся в пару-тройку строк кода, его рвение куда-то улетучивается, и он быстро находит занятие, которое гораздо милее его сердцу, — например, приступает к просмотру записей журналов регистрации событий.
И это весьма прискорбно, поскольку если и существует некая универсальная закономерность в эволюции роли системных администраторов, то она состоит в следующем: с течением времени для управления все большим числом систем будет требоваться все меньшее число ИТ-специалистов. А специалисты, не обладающие навыками в сфере автоматизации сложных задач системного администрирования, не смогут конкурировать на рынке с коллегами, которые освоили технологии автоматизации. Умение быстро автоматизировать типичные задачи приобретает особое значение.
. Если потребуется определить, зафиксировано ли в журнале событий Windows то или иное тревожное оповещение, вам не придется составлять несколько строк кода PowerShell. Воспользуйтесь вместо этого Orchestrator. На нем вы можете расположить тот или иной элемент, имеющий отношение к отслеживаемому событию, настроить этот элемент, чтобы он инициировал определенное оповещение, и подключить к другому элементу, который будет выполнять заданное действие применительно к упомянутой задаче. Таким образом, вместо того чтобы писать несколько строк кода PowerShell, который нередко бывает понятен только посвященным, вы сможете решить те же задачи методом drag-and-drop, и это займет не более 30 секунд!
Orchestrator — полноценное решение, обеспечивающее выполнение не только базовых задач автоматизации. Наборы операций (runbooks) пакета Orchestrator можно настроить таким образом, чтобы они запускались в случае появления в журналах событий тех или иных записей или, что еще важнее, после выдачи оповещений диспетчером Microsoft Systems Center Operations Manager. Вам уже не придется ждать, пока конечный пользователь обратит внимание на отключение одной из служб или пока член группы технической поддержки составит задание в соответствии с оповещением Ops Manager. Вы можете автоматизировать процесс от начала до конца, воспользовавшись процедурой Orchestrator, которая запускается через оповещение, отыскивает задание в системе отслеживания заданий, выполняет сложные операции для устранения проблемы, инициировавшей оповещение, добавляет данные к заданию в системе отслеживания заданий и затем закрывает задание. Оповещение разрешается, задание регистрируется и закрывается — и все это происходит без непосредственного участия администратора.
Надо сказать, что не все оповещения, генерируемые диспетчером Ops Manager, могут быть разрешены средствами автоматизации, однако многие элементы содержат особый процесс, следуя которому вы можете решить возникшую проблему. Если вы в состоянии предложить процедуру, способную решить конкретную проблему, значит, вы можете предложить способ автоматизации этого решения.
Чтобы лучше понять механизм функционирования пакета Orchestrator, нужно иметь представление о таких концепциях, как операции (Activities), стандартные задания (Runbooks), шина данных (Data Bus) и пакеты интеграции (Integration Packs).
Операции Activities
Пакет Orchestrator обеспечивает выполнение автоматизации на основе графического интерфейса. Элементы, с которыми работает пользователь в процессе создания средств автоматизации, именуются операциями. Для буксировки и размещения операций, для их связывания в логические цепочки, для организации ветвления операций в соответствии с логикой решений используется конструктор runbook designer. Выделяют два базовых типа операций — операции отслеживания (monitoring activities) и операции действия (action activities).
- Операции отслеживания инициируются внешним источником и применяются для запуска процедур runbooks. Так, операция отслеживания может быть запущена тем или иным оповещением диспетчера Ops Manager.
- Операции действия инициируются другими операциями и выполняют заданные процедуры, которые могут быть самыми разными — от завершения того или иного процесса, запуска приложения Microsoft.NET или перезагрузки диспетчера System Center Configuration Manager (SCCM) до развертывания модуля программного обновления, активации диспетчера виртуальных машин System Center Virtual Machine Manager (SCVMM), создания виртуальной машины или обновления диспетчера System Center Service Manager (SCSM).
Стандартные конфигурации Runbooks
Конфигурации Runbooks — это наборы операций, объединенных логически. Стандартная конфигурация, представленная на экране 1, обеспечивает включение с помощью диспетчера System Center Data Protection Manager (DPM) всех размещенных на заданном сервере защищаемых источников данных, включая тома, сведения о состоянии системы и базы данных, в защищаемую группу DPM. По завершении процедуры добавления упомянутых данных в группу runbook инициирует создание точки восстановления.
Экран 1. Образец набора операций runbook |
В рассматриваемом примере пользователю остается только указать целевой сервер и целевую группу защиты. Стандартные конфигурации могут выполняться с консоли Orchestrator — веб-приложения на базе Microsoft Silverlight, выполняемого на сервере Orchestrator Runbook. Это относительно простое задание, однако в случае организации такого типа DPM-защиты в ручном режиме пользователю пришлось бы подключаться с помощью клиентского модуля Remote Desktop Connection к заданному серверу DPM, запускать консоль DPM (которая в системе DPM 2010 не допускает дистанционного управления) и настраивать средства защиты с помощью мастера. Но после настройки конфигурации runbook для выполнения той же задачи достаточно будет ввести имя сервера, а также имя группы защиты в одном-единственном веб-окне. Задача, на выполнение которой в ручном режиме у ИТ-специалиста ушло бы 5 минут (а то и больше), теперь может быть решена автоматически, причем для ее решения потребуется ровно столько времени, сколько уходит на загрузку консоли Orchestrator.
Шина данных
Шина данных, которая содержит все сведения о выполнении, поступающие от объектов внутри коллекции runbook, дает возможность передавать информацию от одной операции другой. Допустим, в качестве первой операции мы рассматриваем мониторинг оповещения Ops Manager, генерируемого в случае отказа некоторой службы. Сведения о том, какая именно служба вышла из строя, передаются шине для того, чтобы при выполнении последующих заданий, таких как проверка состояния службы и инициирование ее повторного запуска, этой информацией можно было воспользоваться. Далее я расскажу о том, как с помощью шины данных извлекать выходные данные утилиты командной строки и присоединять их к концу текстового файла.
Пакеты интеграции
Пакеты интеграции представляют собой наборы операций, относящиеся к определенному продукту. К примеру, в продукте Orchestrator 2012 будут содержаться пакеты интеграции для всех остальных продуктов семейства System Center 2012. Поскольку пакет Orchestrator был изначально разработан сторонним поставщиком, для него выпускаются пакеты интеграции не только с решениями Microsoft, но и с продуктами других разработчиков, такими как CA Technologies Service Desk, HP Operations for UNIX, Windows, Solaris, HP Service Desk, IBM Tivoli Enterprise Console, а также VMware Infrastruture и vSphere.
Использовать Orchestrator с тем или иным продуктом можно и без пакета интеграции. Если изготовитель интересующего пользователя Orchestrator продукта не предоставляет пакета интеграции, выполнять различные операции, включая такие, как Run Program, Query Database, Run SSH Command, Query WMI, Invoke Web Services, Run.NET Script, а также Get/Monitor/Create SNMP Trap, можно с помощью одного из базисных объектов Orchestrator.
Все эти элементы могут использоваться для установления универсального соединения с системой. Ваши достижения могут быть более или менее значительными — это зависит от того, какими возможностями располагает продукт, который вы пытаетесь автоматизировать. Пакет Orchestrator поставляется с инструментом, известным как Quick Integration Kit (QIK). Этот набор представляет собой комплект разработчика, позволяющий ИТ-специалисту своими руками создавать операции и пакеты интеграции с помощью утилит командной строки или составных команд PowerShell. Комплект QIK все чаще используется для создания членами сообщества пакетов интеграции.
Консоль пакета Orchestrator
Консоль Orchestrator позволяет в режиме реального времени просматривать состояние коллекций runbook, а также запускать или останавливать их работу. Консоль можно использовать в качестве инструмента, обеспечивающего другим ИТ-специалистам возможность выполнения операций runbooks. Так, вы можете создать runbook на базе пакета интеграции DPM с целью создания резервных моментальных снимков того или иного источника данных. Далее можно, как показано на экране 2, с помощью консоли Orchestrator предоставить данный runbook в распоряжение других пользователей. Эти пользователи, скажем, разработчики, занятые формированием базы данных, могут использовать консоль для запуска резервного снимка перед тем, как вносить в базу данных те или иные изменения. Кроме того, консоль Orchestrator используется в диспетчере SCSM 2012 в качестве средства для запуска операций runbooks. SCSM позволяет создавать более функционально насыщенные порталы самообслуживания, где пользователи могут формулировать запросы, которые будут инициировать процедуры Orchestrator runbooks напрямую или после санкционирования последних в рамках соответствующего процесса утверждения.
Экран 2. Работа с консолью Orchestrator |
Системные требования
Все компоненты пакета Orchestrator могут выполняться на системах Windows Server 2008 R2. Для работы Orchestrator требуется 1 Гбайт оперативной памяти (рекомендуется 2 Гбайт), 200 Мбайт свободного дискового пространства, а также двухъядерный (минимум) процессор. Подобно другим продуктам семейства System Center 2012, пакет Orchestrator может выполняться на виртуальной машине. Компоненты Runbook Designer и Runbook Tester также могут выполняться на системах Windows 7 Enterprise Edition или Ultimate Edition.
Для хранения данных конфигурации пакету Orchestrator требуется доступ к базе данных SQL Server 2008 R2. Для обеспечения функционирования консоли Orchestrator нужно будет также установить Microsoft.NET Framework 4 и Silverlight 4.
Создание базового набора операций
В этой статье я дал вам представление о том, как с помощью пакета Orchestrator автоматизировать выполнение даже самых простых задач. Давайте несколько углубимся в тему и посмотрим, каким образом можно использовать этот продукт при выполнении таких простых операций, как передача списка выполняемых на компьютере задач в текстовый файл tasks.txt. Указанный базовый набор операций я выбрал в качестве примера для того, чтобы дать вам представление о содержании данного процесса и показать, насколько просто осуществляется автоматизация этого задания. Следуйте приведенным ниже инструкциям.
- На сервере, где установлен продукт Orchestrator, в каталоге c:\temp создайте текстовый файл tasks.txt.
- Запустите конструктор Orchestrator Runbook Designer. На панели Menu правой кнопкой мыши щелкните на элементе Runbooks и затем щелкните на элементах New и Runbook.
- На панели Activities откройте раздел System и отбуксируйте элемент Run Program на рабочую область Runbook Designer. В ответ на вопрос, не желаете ли вы ознакомиться с данным набором операций, нажмите кнопку Yes.
- Щелкните на разделе Text File Management. Методом буксировки переместите задачу Append Line на рабочую область Runbook Designer. Расположите ее рядом с элементом Run Program.
- Наведите указатель мыши на первый элемент Run Program. Щелкните на стрелке, которая отображается по правую сторону от этого элемента, и поместите его поверх элемента Append Line.
- Дважды щелкните на элементе Run Program. В поле Program Path введите имя файла c:\windows\system32\tasklist.exe. Нажмите кнопку Finish.
- Дважды щелкните на элементе Append Line. В поле File введите имя файла c:\temp\tasks.txt.
- Щелкните на символе многоточия и затем выберите вариант с кодировкой ASCII.
- Правой кнопкой мыши щелкните на поле Append и в раскрывшемся меню выберите пункты Subscribe и Returned Data.
- В поле Returned Data щелкните на элементе Pure Output и нажмите кнопку OK. Удостоверьтесь, что диалоговое окно Append Line Properties напоминает окно, показанное на экране 3, и нажмите кнопку Finish.
Экран 3. Диалоговое окно Append Line Properties |
Для выполнения данного задания выберите элемент Runbook Tester и нажмите кнопку Run. Откройте файл tasks.txt и убедитесь, что сведения о списке задач присоединены к этому файлу.
Продукт Orchestrator — краеугольный камень System Center Suite
Скорее всего, после знакомства с продуктом Orchestrator вы сможете сразу использовать его для интеграции компонентов комплекта System Center. Конечно, у вас всегда есть возможность разрешения базовых оповещений с помощью функций диспетчера Ops Manager, но имейте в виду, что альтернативный вариант — применение наборов операций Orchestrator — представляет собой более прогрессивный способ разрешения оповещений Ops Manager.
Я рассказал о том, что средство Orchestrator позволяет создавать наборы операций, запускаемых с помощью оповещений Ops Manager. Но это еще не все. Вы можете, к примеру, использовать набор операций для того, чтобы с помощью диспетчера SCSM зарегистрировать то или иное задание в системе отслеживания заданий, в автоматическом режиме решить проблему, которая привела к генерации оповещения, выполнив задание в одном из диспетчеров DPM, VMM или SCCM, поручить набору операций выполнить тест для выяснения, решена ли проблема, вызвавшая первоначальное оповещение, и затем дать набору операций указание закрыть соответствующее задание в диспетчере SCSM. На экране 4 представлен набор операций, автоматически разрешающий проблемы, связанные с функционированием служб, и регистрирующий по мере необходимости этапы данной работы в диспетчере SCSM.
Экран 4. Автоматизация разрешения оповещений SCSM с помощью набора операций |
Вы можете не ограничиваться выполнением описанных задач с помощью продукта Orchestrator и задействовать его для совершенствования внутренних процессов, применяемых в вашей организации. Так, используя пакет интеграции DPM, вы можете возложить на диспетчер SCSM задачу генерации автоматического резервного снимка в случаях, когда сотрудник отдела ИТ приступает к реализации запроса на изменение. Аналогичным образом вы можете применять средства интеграции пакетов SCSM, SCCM и Orchestrator для облегчения процесса подготовки к эксплуатации новых пользовательских настольных систем. Для этого достаточно настроить компоненты таким образом, чтобы требования к новым настольным системам вводились в систему через веб-форму SCSM, а пакет Orchestrator доводил эти требования до соответствующих операционных систем и задач развертывания приложений в диспетчере SCCM.
Орин Томас (orin@windowsitpro.com) — редактор Windows IT Pro