Как создать распределенные приложения, состояние которых зависит только от конкретных мониторов
В данной статье речь пойдет о том, как создать распределенное приложение, но только так, чтобы его состояние зависело только от конкретных мониторов, и не зависело от состояния всего объекта.
В данном примере будет создано распределенное приложение (далее DA), которое включает в себя объект WindowsOperatingSystem. При этом состояние этого приложения будет зависеть только от состояния основных служб операционной системы, которое передается с помощью агрегированного монитора CoreWindowsServices.
Для решения данной задачи необходимо выполнить следующие действия:
1. Открыть консоль Operations Manager -> Authoring -> Distributed applications
2. В правой консоли задач нажать Create a New Distributed Application
3. В открывшемся окне указать имя DA, в поле Template выбрать Blank, и выбрать пакет управления для сохранения DA. Нажать OK:
4. В окне Distributed Application Designer нажать гиперссылку Advanced Search:
5. В окне поиска объектов, в поле Searchfor: выбрать класс WindowsOperatingSystem и нажать Search. После того как объекты будут найдены, они отобразятся в поле Availableitems. Выбрать нужные объект и нажать Add и затем OK:
6. Далее, в окне AdvancedSearchResults, правой кнопкой мыши кликнуть по объекту и в контекстном меню выбрать AddTo -> NewComponentGroup:
7. В открывшемся окне CreateNewComponentGroup указать имя компоненты и нажать OK.
8. После создания компоненты необходимо нажать Save для сохранения DA:
9. После того, как DA было сохранено, в консоли Operations Manager перейти на вкладку Authoring -> ManagementPacksObjects -> Monitors
10. Для того, чтобы отобразить список мониторов для созданного DA, а точнее для его компоненты, нажать кнопку Scope (если кнопка ещё не нажата) или нажать ссылку Change Scope... (если кнопка Scope уже нажата).
11. В появившемся окне нажать кнопку Clear All, в поле Look For ввести имя компоненты распределенного приложения, отметить параметр Viewalltargetsи выбрать компоненту. Обращаю внимание, что нужно выбрать именно компоненту (в данном примере это OperatingSystemState), а не распределенное приложение. Нажать ОК :
12. Далее необходимо отключить все стандартные зависимые мониторы, которые автоматически создаются при создании DA. Для этого нужно раскрыть агрегирующие мониторы для каждой категории, выбрать зависимый монитор, который был создан по умолчанию, и отключить его с помощью кнопки Disable в правой панели задач:
Замечу, что количество зависимых мониторов будет зависеть от количества классов, которые были отмечены при создании компоненты. Не рекомендуется удалять эти мониторы, так как при новом сохранении DA они заново создадутся.
13. Настало время создать собственный монитор, который будет передавать состояние от выбранного нами монитора созданному DA. В правой панели задач нажать Create a Monitor -> Dependency Rollup Monitor:
14. В открывшемся окне указать следующие данные:
· Name - имя зависимого монитора
· MonitorTarget - ранее созданная компонента DA
· Parent Monitor – Availability
· ManagementPack – пакет управления, в котором было сохранено DA
15. На вкладке MonitorDependency раскрыть агрегирующий монитор класса и выбрать монитор, от которого будет зависеть состояние DA. В данном примере таким классом является Windows Server 2008 R2 Full Operating system, а монитором – Core Windows Services Rollup:
Как вы видите, можно указать любой монитор, который привязан к классу Windows Server 2008 R2 Full Operating system. Если при создании компоненты мы бы отметили несколько классов, то была бы возможность указать мониторы, привязанные и к этим классам.
16. На вкладке HealthRollupPolicy выбрать логику передачи состояния:
17. На вкладке ConfigureAlert выбрать, хотите ли вы генерировать алерт в консоли Operations Manager и нажать Create.
18. После сохранения зависимого монитора, он отобразится в модели здоровья:
19. Для того, чтобы проверить модель здоровья созданного DA, нужно в консоли Operations Manager перейти в папку Monitoring -> DistributedApplications, открыть HealthExplorer созданного DA и убедиться, что его состояние зависит только от монитора CoreWindowsServices:
Как видно на скриншоте выше, при создании DA создается большое количество агрегирующих и зависимых мониторов. Среди них есть зависимый монитор AllContainedObjects. Он не влияет на логику передачи состояния, поэтому его можно отключить для данного DA с помощью переопределения (Override).
В итоге, модель здоровья созданного DA будет выглядеть следующим образом:
Данная статья носит информационный характер, ссылки на веб-сайты предоставляются для удобства пользователей. Корпорация Майкрософт не несет никакой ответственности за содержание веб-сайтов, не предоставляет никаких гаран т ий относительно точности, полноты или законности их содержания, ссылки на которые используются в данной статье. Ссылка на внешний узел не подразумевает одобрения мнений, информации или продукции представленной на таких веб-сайтах.
Comments
- Anonymous
August 09, 2015
В основе обнаружения любого компонента в распределенном приложении лежит модуль Microsoft.SystemCenter