Share via


Skript-Monitore und Regeln

 

Betrifft: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Überwachungsskripts werden verwendet, wenn benötigte Daten nicht durch andere Standardmethoden, wie einen Ereigniszähler oder Leistungsindikator, erfasst werden können. Das Skript werden Daten aus den Informationen auf dem Agent erfasst und erstellt eine Eigenschaftensammlung mit MOM. ScriptAPI-Objekt, das mit installierten der Operations Manager Agent.

Überwachungsskripts kann in jeder beliebigen Skriptsprache geschrieben werden, die die MOM zugreifen können. ScriptAPI-Objekt, das auf alle installierten Operations Manager Agents. Sie können die Betriebskonsole verwenden, zum Erstellen von Skripts in VBScript oder JScript. Verwenden einer Windows PowerShell Skript müssen Sie ein anderes Authoring Tools, wie z. B. Verwenden der Konfigurationskonsole von System Center Operations Manager 2007 R2 oder Management Pack-Autor.

Eigenschaftenbehälter

Überwachungsskripts senden alle Ausgabedaten als Eigenschaftenbehälter, damit für einen Monitor in einem Ausdruck ausgewertet oder Leistungsdaten oder ein Ereignis für eine Sammlungsregel zugeordnet werden können. Eine Eigenschaftensammlung ist eine Gruppe von Werten, die jeweils einen Namen verfügt. Obwohl es eine bewährte Methode, die einen bestimmten Wert aussagekräftigen Namen zu verwenden ist, kann einen beliebigen Namen zugewiesen werden. Eine Eigenschaftensammlung ist nur während der Lebensdauer des Workflows vorhanden. Das nächste Mal an, dem der Workflow ausgeführt wird, das Skript wird ausgeführt und erstellt eine neue Eigenschaftensammlung mit neuen Werten.

Eine Eigenschaftensammlung kann eine beliebige Zahlenwerte, besitzen die Gesamtmenge der Daten 4 MB nicht überschreiten darf. Die meisten Skripts müssen nur einige Werte mit einer Gesamtgröße weit unter diesem Grenzwert. Es ist nicht erforderlich, dass alle Werte, die vom Workflow verwendet werden.

Skripts erstellen Eigenschaftensammlungen mithilfe der CreatePropertyBag-Methode in der MOM. ScriptAPI-Objekt. Der Workflow verwendet Werte aus dem Eigenschaftenbehälter mit einer $Data-Variablen, die die folgende Syntax verwendet:

$Data/Property[@Name="PropertyName"]

Beispielsweise kann ein Skript, das Erstellen von Leistungsdaten eine Eigenschaftensammlung mit Werten in der folgenden Tabelle erstellen. Diese Tabelle zeigt den Namen des Werts erstellt, indem das Skript und die entsprechenden $Data-Variable, die zum Zuordnen von Daten der Behälter auf Leistungsdaten verwendet werden würde.

Eigenschaftsname Bag-Wert

Beispielwert

Variable

Objektname

MyObject

$Data/Property[@Name='ObjectName']$

CounterName

MyCounter

$Data/Property[@Name='CounterName']$

Instanzname

MyInstance

$Data/Property[@Name='InstanceName']$

Wert

10

$Data/Property[@Name='Value']$

Skriptstruktur

Der folgende Code zeigt ein Beispiel für monitoring-Skript, um die grundlegende Struktur eines Überwachungsskripts zu veranschaulichen. Dieses Beispielskript weist folgende Merkmale auf.

  • Akzeptiert die Argumente für den Namen des Computers, auf dem das Skript ausgeführt wird und einen Pfad für den Speicherort der Anwendung.

  • Erstellt eine Eigenschaftensammlung mit den Werten, die mit dem Namen ComputerName und Instanzname PerfValue.

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)

Die Details jedes Abschnitts des Skripts werden hier beschrieben.

sComputerName = WScript.Arguments(0) 
sApplicationPath = WScript.Arguments(1)

Die ersten beiden Zeilen des Skripts akzeptieren Argumente. Es wird erwartet diese Werte im Argumente-Parameter der Regel oder des Monitors, die das Skript ausgeführt werden. Das Skript kann eine beliebige Anzahl von Argumenten verwenden, die für die Logik des Skripts erforderlich sind.

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

Die nächsten beiden Zeilen erstellen eine Eigenschaftensammlung. Diese Zeilen werden auch in den meisten Überwachungsskripts nicht verändert werden. Der Hauptzweck der Rest des Skripts werden Werte der Eigenschaftensammlung hinzufügen, mit Daten, die von dem Agent-Computer gesammelt werden.

oBag.AddValue "ComputerName", sComputerName
oBag.AddValue "InstanceName", "MyInstance"
oBag.AddValue "Value", 1.0

Nach der Erstellung der Eigenschaftensammlung kann eine beliebige Anzahl von Werten hinzugefügt werden. Sie tun dies mit der AddValue Methode für das Property-Bag-Objekt mit dem Namen des Elements gefolgt sein Wert. In diesem Beispiel wird die explizite Werte verwendet. In der tatsächlichen Überwachungsskript würde zusätzlicher Code erwartet werden, die Informationen aus dem Agent-Computer einschließt, diese Werte erfassen würde.

oAPI.Return(oBag)

Nachdem alle Werte der Eigenschaftensammlung hinzugefügt haben, wird er in den Workflow zurückgegeben. Diese Zeile ist erforderlich, und ohne der Eigenschaftenbehälter bei Beendigung des Skripts verworfen. Diese Methode wird nur verwendet, wenn das Skript nur einen einzigen Eigenschaftenbehälter erstellt. Weitere Informationen zu Skripts, die mehrere Eigenschaftensammlungen und Geschäftsbedingungen zurückgeben, wenn eine solche Strategie verwendet wird, finden Sie in der Cookdown Teil der Konfigurationshandbuch für System Center Operations Manager 2007 R2.

Skriptargumente

Die meisten Skripts verwenden Argumente, d. h. Werte, die an das Skript von der Befehlszeile aus gesendet werden, wenn das Skript ausgeführt wird. Mithilfe von Argumenten können ein Skript für mehrere Szenarien verwendet werden, ohne das Skript selbst zu ändern.

In einem Skript Überwachung sind Argumente kritisch, da möglicherweise Informationen, die das Skript erfordert, die abweichen wird für jeden Agent ausgeführt wird, in dem das Skript. Jede Eigenschaft des Zielobjekts für den Monitor oder die Regel kann für den Wert eines Arguments Skript verwendet werden. Dieser Wert wird für jeden Agent einzeln zum Zeitpunkt aufgelöst, die das Skript ausgeführt wird.

Argumente werden in der Betriebskonsole aus Zugriff auf die Parameter Schaltfläche. Einzelne Argumente müssen in der Reihenfolge von Leerzeichen getrennt werden, in das Skript darauf zugegriffen werden. Dies ist identisch mit der Befehlszeile, die bereitgestellt wird, wenn das Skript auf einer Befehlszeile ausgeführt wurden.

Jedes Argument kann entweder ein expliziter Wert oder eine $Target-Variable den Wert einer Eigenschaft für das Zielobjekt zu verwenden. Alle $Target Variablen werden aufgelöst, wenn das Skript ausgeführt wird, damit das Skript die aufgelösten Werte in der Befehlszeile angegeben wird. Sie können in der Variablen $Target eingeben, wenn Sie wissen, dass die richtige Syntax. Es jedoch einfacher ist, wählen Sie die Eigenschaft aus Ziel Schaltfläche, die alle Eigenschaften des Zielobjekts und übergeordneten aufgeführt wird.

System_CAPS_importantWichtig

Jede $Target-Variable, die zu einem Wert mit Leerzeichen aufgelöst wird, muss in Anführungszeichen angegeben werden. Wenn Wert Leerzeichen enthält und keine Anführungszeichen, wird dann das Skript als zwei getrennte Argumente angezeigt. Die Anführungszeichen werden Stellen Sie sicher, dass der Wert als ein einzelnes Argument betrachtet wird. Wenn Sie die Eigenschaft auswählen Ziel Menü es berücksichtigt keine Anführungszeichen für Sie. Sie müssen diese nach der Auswahl der Eigenschaft eingeben.

Beispielsweise erwartet, dass das Beispielskript früher zwei Argumente für den Computernamen und den Pfad der Anwendung. Vorausgesetzt, das Teil eines Monitors oder einer Regel auf eine Klasse, die von gehosteten ausgerichtet war die Windows-Computer Klasse, den Computer Name konnte aus der Eigenschaft ' PrincipalName ' abgerufen werden. Wäre der Anwendungspfad eine Eigenschaft für die Zielklasse, könnte die Argumente ähnlich wie im folgenden Beispiel aussehen. Beachten Sie die Eigenschaft ApplicationPath in Anführungszeichen ein, da dies auf einen Wert, der ein Leerzeichen enthält, auflösen konnte.

$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$ "$Target/Property[Type="MyApp.MyClass"]/ApplicationPath$"

Vorausgesetzt, dass Sie dem Skript einen Namen gegeben haben MyScript.vbs, wurde der Computername MyServer01, und der Pfad der Anwendung wurde C:\Program Files\Contoso\My Application, die Befehlszeile, die ausgeführt wird, für dieses Skript wäre:

MyScript.vbs MyServer01 "C:\Program Files\Contoso\My Application"

Skript-Monitore und Regeln – Themen

  • Skript Sammlungsregeln

    Erstellen einer Regel, verwendet ein Skript zum Sammeln von Leistung oder Ereignisdaten.

  • Skript überwacht

    Erstellen einen Monitor, wertet die Ergebnisse eines Skripts, das seinen Integritätsstatus festlegen.

  • Monitore für UNIX/Linux-Shell-Befehl

    Erstellen einen Monitor, wertet die Ausgabe der Ausführung eines UNIX/Linux-Befehl, Skript oder eine einzeilige Befehlsfolge (mithilfe von Pipeline-Operatoren).