Script Monitors en regels
Van toepassing op: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
U gebruikt bewakingsscripts als de vereiste gegevens niet op een gangbare manier kunnen worden verzameld, bijvoorbeeld met een gebeurtenis of prestatiemeteritem. Het script verzamelt gegevens van gegevens op de agent en een eigenschappenverzameling maakt met behulp van de MOM. ScriptAPI-object dat is geïnstalleerd met de Operations Manager agent.
Bewakingsscripts kan worden geschreven in een willekeurige scripttaal die toegang de MOM tot. ScriptAPI-object dat is geïnstalleerd op alle Operations Manager agents. U kunt de Operations-console gebruiken om scripts te maken in VBScript of JScript. Gebruik een Windows PowerShell script, moet u een andere Authoring tool, zoals de System Center Operations Manager 2007 R2 Authoring-Console of MP auteur.
Eigenschappenverzamelingen
Bewakingsscripts verzenden uitvoergegevens als een eigenschap zak zodat kan worden geëvalueerd in een expressie voor een monitor of toegewezen aan prestatiegegevens of een gebeurtenis voor een verzamelingsregel voor een. Een eigenschappenverzameling is een reeks waarden die elk een naam. Elke naam kan worden toegewezen, hoewel u het beste een van de specifieke waarde beschrijvende naam te gebruiken. Een eigenschappenverzameling bestaat alleen tijdens de levensduur van de werkstroom. De volgende keer dat de werkstroom wordt uitgevoerd, het script wordt uitgevoerd en maakt u een nieuwe eigenschappenverzameling met nieuwe waarden.
Een eigenschappenverzameling kan alle numerieke waarden hebben, maar de hele set gegevens mag niet meer dan 4 MB. De meeste scripts slechts vereist enkele waarden met een totale grootte ver onder deze limiet. Er is geen vereiste voor de waarden moeten worden gebruikt door de werkstroom.
Eigenschappenverzamelingen maken scripts met behulp van de methode CreatePropertyBag op de MOM. ScriptAPI-object. De werkstroom maakt gebruik van waarden in een eigenschappenverzameling met een variabele $Data die gebruikmaakt van de volgende syntaxis:
$Data/Property[@Name="PropertyName"]
Een script maken van prestatiegegevens kan bijvoorbeeld een eigenschappenverzameling maken met de waarden in de volgende tabel. Deze tabel bevat de naam van de waarde die is gemaakt door het script en de bijbehorende $Data-variabele die de eigenschappenverzamelinggegevens om toe te wijzen prestatiegegevens worden gebruikt.
Waarde van de eigenschapsnaam eigenschappenverzameling |
Voorbeeldwaarde |
Variabele |
---|---|---|
Objectnaam |
MyObject |
$Data/Property[@Name='ObjectName']$ |
CounterName |
MyCounter |
$Data/Property[@Name='CounterName']$ |
InstanceName |
MyInstance |
$Data/Property[@Name='InstanceName']$ |
Waarde |
10 |
$Data/Property[@Name='Value']$ |
Script-structuur
De volgende code toont een voorbeeld van een script ter illustratie van de basisstructuur van een bewakingsscript bewaking. In dit voorbeeld van een script heeft de volgende kenmerken.
Accepteert argumenten voor de naam van de computer waarop het script wordt uitgevoerd en een pad naar de locatie van de toepassing.
Hiermee maakt een eigenschappenverzameling met de computernaam, InstanceName en PerfValue waarden.
sComputerName = WScript.Arguments(0)
sApplicationPath = WScript.Arguments(1)
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0
oAPI.Return(oBag)
Details van elke sectie van het script worden hier besproken.
sComputerName = WScript.Arguments(0)
sApplicationPath = WScript.Arguments(1)
De eerste twee regels van het script accepteert argumenten. Deze waarden worden verwacht dat zich in de parameter argumenten van de regel of monitor wordt het script wordt uitgevoerd. Het script kunt een willekeurig aantal argumenten die vereist voor de logica van het script zijn gebruiken.
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
De volgende twee regels maken van een eigenschappenverzameling. Deze regels worden ook in de meeste bewakingsscripts ongewijzigd. De belangrijkste doel van de rest van het script zijn waarden toevoegen aan de eigenschappenverzameling met behulp van de gegevens die worden verzameld van de agentcomputer.
oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0
Nadat de eigenschappenverzameling is gemaakt, kan een willekeurig aantal waarden worden toegevoegd. U dit doen met de AddValue methode voor het object met de naam van het item eigenschappenverzameling gevolgd de waarde ervan. In dit voorbeeld gebruikt expliciete waarden. In de werkelijke bewakingsscript aanvullende code verwacht wordt dat zou die informatie verzamelen van de agentcomputer in deze waarden op te nemen.
oAPI.Return(oBag)
Nadat alle waarden worden toegevoegd aan de eigenschappenverzameling, wordt het teruggestuurd naar de werkstroom. Deze regel is vereist en zonder de eigenschappenverzameling wordt verwijderd wanneer het script is beëindigd. Deze methode wordt alleen gebruikt als het script wordt slechts één eigenschappenverzameling gemaakt. Raadpleeg voor meer informatie over scripts die meerdere Eigenschappenverzamelingen en voorwaarden worden geretourneerd als een dergelijke strategie wordt gebruikt, de Cookdown sectie van de ontwerphandleiding voor System Center Operations Manager 2007 R2.
Scriptargumenten
De meeste scripts gebruiken argumenten die aan het script vanaf de opdrachtregel worden verzonden waarden wanneer het script wordt uitgevoerd. Argumenten kunt één script moet worden gebruikt voor meerdere scenario's zonder dat het script zelf worden gewijzigd.
Argumenten zijn in een bewakingsscript kritiek omdat er mogelijk informatie die het script is vereist die worden verschillende op elke agent waar het script wordt uitgevoerd. Elke eigenschap van het doelobject voor de monitor of regel kan worden gebruikt voor de waarde van een scriptargument. Deze waarde is afzonderlijk opgelost op elke agent op het moment dat het script wordt uitgevoerd.
Argumenten worden gebruikt in de Operations-console uit de Parameters knop. Afzonderlijke argumenten moeten worden gescheiden door spaties in de volgorde waarin ze worden gebruikt in het script. Dit is gelijk aan de opdrachtregel zou worden opgegeven als het script wordt uitgevoerd op de opdrachtregel.
Elk argument kan een expliciete waarde of een variabele $Target gebruik van de waarde van een eigenschap van het doelobject zijn. Alle $Target variabelen worden omgezet als het script wordt uitgevoerd, zodat het script wordt verstrekt met de omgezette waarden op de opdrachtregel. U kunt typen in de variabele $Target als u de juiste syntaxis. Het is makkelijker via de eigenschap selecteren doel knop die een met alle van de eigenschappen van het doelobject en de bovenliggende items lijst wordt.
Belangrijk |
---|
Een $Target-variabele die kan worden omgezet in een waarde met een spatie moet tussen aanhalingstekens worden gezet. Als een waarde spaties bevat en geen aanhalingstekens heeft, zal klikt u vervolgens het worden gezien door het script als twee afzonderlijke argumenten. De aanhalingstekens zorgt ervoor dat de waarde wordt weergegeven als één argument. Als u de eigenschap van de optie doel menu bevat niet de aanhalingstekens voor u. U moet deze in wanneer u de eigenschap selecteert. |
Bijvoorbeeld verwacht script in het voorbeeld hierboven voor twee argumenten voor de computernaam en het pad van de toepassing. Als dit script deel uitmaakt van een monitor of regel voor een klasse die wordt gehost door de Windows-Computer klasse, de computer kan worden opgehaald uit de eigenschap primaire naam. Als het toepassingspad een eigenschap van de doelklasse, klikt u vervolgens eruit de argumenten als in het volgende voorbeeld. Let op de aanhalingstekens rond de eigenschap ApplicationPath, omdat dit kan worden omgezet in een waarde met een spatie.
$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ "$Target/Property[Type="MyApp.MyClass"]/ApplicationPath$"
Mits u een naam van het script gegeven MyScript.vbs, de naam van de computer is MyServer01, en het toepassingspad is C:\Program Files\Contoso\My Application, de opdrachtregel die wordt uitgevoerd voor dit script zou zijn:
MyScript.vbs MyServer01 "C:\Program Files\Contoso\My Application"
Script Monitors en regels onderwerpen
Regels voor het verzamelen van script
Maken van een regel die een script gebruikt voor het verzamelen van prestaties of gebeurtenisgegevens.
-
Maken van een monitor die wordt geëvalueerd als de resultaten van een script op de status ingesteld.
UNIX/Linux-Shell-opdracht Monitors
Maken van een monitor die wordt geëvalueerd als de uitvoer van de uitvoering van een UNIX/Linux-opdracht, script of één regel reeks van meerdere opdrachten (met behulp van de pipeline-operators).