Jak zapewne wiecie, SCOM bardzo łatwo radzi sobie z monitorowaniem wszystkiego, co się da. Gdy zawodzą metody typowe jak czytanie logów, badanie serwisów, portów itp., trzeba zabrać się za VBS. W najbliższym czasie przedstawię możliwości i przykładowe skrypty VBS, które można użyć do monitorowania elementów systemu Windows. Zacznijmy jednak od początku:
Aby stworzyć monitor skryptowy, należy przejść do zakładki
Authoring i wybrać cel. Dla testów wybierzmy
Windows Computer. Co zatem należy zrobić? Z prawej strony wybrać w drzewie
Monitoring Objects -> Monitors i prawym kliknięciem rozwinąć menu podręczne, a następnie wybrać
Create a monitor -> Unit Monitor. Teraz zaczynają się ciekawsze rzeczy. Należy w oknie rozwinąć
Scripting -> Generic -> Timed Two State Script Monitor.

Na dole okna mamy możliwość umieszczenia monitora do Management Packa. Jeśli nie mamy takiego do testowania, wciśnijmy New i stwórzmy taki np. o nazwie "
Test MP". Na upartego można wrzucić go do
Default Management Pack, ale nie jest to zalecane (wbrew Best Practices). Klikamy Next i wpisujemy nazwę -
"Test Two State Monitor".

Poniżej wybieramy przyciskiem Select pozycję
Windows Computer. Tym samym nasz monitor będzie działać na wszystkich komputerach z systemem Windows. Tego jednak nie chcemy, dlatego poniżej odznaczamy pole
Monitor is enabled.

Next. Dalej ustawiamy, co ile ma się monitor uaktywniać oraz jaka ma być godzina, od której wskazane X minut będzie liczone. Ustawmy co 2 minuty i synchronizacja od 12:00. Next. Zakładka
Script.
Teraz wpiszmy poniższy kod:
Randomize
Dim oAPI, oBag, intRandomNumber
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
intRandomNumber = Int(100 * rnd())
Call oBag.AddValue("Value",intRandomNumber)
Call oAPI.Return(oBag)
Po krótce - tworzymy obiekt API SCOMa oraz paczkę (
oBag), która to jest używana do zwracania przez API par typu "parametr -> wartość". Następnie tworzymy sobie dowolną wartość poprzez wygenerowanie liczby od 0 do 100. Wartość wygenerowana dopisywana jest jako wartość parametru
Value w paczce. Na koniec paczka zwracana jest od API. Skrypt ten ma to do siebie, że łatwo przetestować, czy nasz monitor działa. Wartości będą losowe, więc raz monitor będzie palił się na czerwono, raz na zielono. Zapamiętajmy sposób tworzenia się takiego monitora, gdyż w następnych częściach przykładów będę podawał jedynie skrypty i wartości, które paczka będzie zwracać do API.
W oknie wklejamy ten skrypt i nazywany go
RandomMonitor.vbs.

Next. Unhealthy Expression. Wciskamy przycisk
Insert.
Pole Parameter:
Property[@Name='Value']Pole Operator:
Greater ThanPole Value:
51
Klikamy Next. To samo robimy w oknie
Healthy Expression, z tym że zamiast
Greater Than wpisujemy
Less or equal to.
Next.
Configure Health służy nam do sprecyzowania jaki stan będzie przedstawiał monitor gdy złapie się na Healthy lub Unhealthy Expression. W Unhealthy zmieńmy
Health State na
Critical. Next.
Na koniec włączamy pole
Generate alerts for this monitor. W polu
Description spróbujmy podać stan monitora zwrócony przez skrypt. Chodzi nam o to, aby w treści alarmu pojawiła się zwrócona liczba. W polu Description wpiszmy:
$Data/Context/Property[@Name='Value']$Zatwierdzamy klawiszem
Create. Teraz wchodzimy do zakładki
Authoring ponownie. Przyciskiem Scope zawężamy widok monitorów tylko do klasy
Windows Computer. Rozwijamy drzewko
Availability i prawym przyciskiem wybieramy nasz monitor. Wybieramy
Overrides -> Override The Monitor -> For a specific object of type: Windows Computer i wybieramy komputer, na którym będziemy testować nasze rozwiązanie. W oknie
Overrides w pierwszej opcji (
Enabled) zmieniamy wartość wpisu
False na
True i zapisujemy zmianę do wybranego na dole Management Packu. Zatwierdzamy i czekamy na pojawianie się błędów w konsoli SCOMa.
Działa:

komentarze (0) | dodaj komentarz