понедельник, 19 ноября 2007 г.

SCOM2007: как создавать мониторы/правила, основанные на скриптах.

Тем, кто уже порядочно покрутил SCOM, думаю, стало вполне очевидным, что стандартные возможности мониторов и правил отнюдь не везде могут помочь. И рано или поздно приходится прибегать к помощи скриптов. Однако, любого более менее неопытного скриптера (посмотрите на меня, например) ждет разочарование и куча вопросов: получить данные в скрипт не проблема, а вот как вытащить их из скрипта на свет дневной, то есть в монитор - не ясно вовсе. Предприняв некоторые не слишком долгие исследования, я могу Вам теперь поведать вкратце, как это сделать.

Перво-наперво: в SCOM есть некий объект, который и позволяет, собственно, вытащить нужные нам цифры/строки/etc... Он называется сумкой oBag. Ну, если быть точнее, то PropertyBag. То есть сумкой, в которую складываются нужные нам значения. Создается он так:

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag
()

А положить в него данные и вернуть их в SCOM можно так:

Call oBag.AddValue("Status","Ok")
Call oBag.AddValue("StatusString","It's Ok")

Call oAPI.Return(oBag)

Осталось только получить эти данные в SCOM и что-то с ними сделать. Не проблема. Для этого нужно всего лишь использовать, например, вот такую строку:

Property[@Name='Status'] 

Где ее использовать? Ну я, например, использовал ее в Healthy/Unhealthy Events монитора. Любого монитора, который работает со скриптом. И это дает весьма не малую гибкость. Вообще говоря, первое, для чего я использовал эту функцию - это MP, работающий с Windows Update Agent на компьютерах. Понятно, что есть MP для WSUS, но иной раз нужно знать о проблемах клиента.

Комментариев нет: