Script monitoraggi e regole

 

Si applica a: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

Gli script di monitoraggio sono utilizzati quando non è possibile raccogliere i dati richiesti tramite altri mezzi standard, ad esempio un contatore di eventi o prestazioni. Lo script raccoglie i dati dalle informazioni sull'agente e crea un elenco di proprietà utilizzando il MOM. Oggetto ScriptAPI che viene installato con il Operations Manager dell'agente.

Gli script di monitoraggio scritto in qualsiasi linguaggio di script che può accedere il MOM. Oggetto ScriptAPI che viene installato su tutti i Operations Manager gli agenti. È possibile utilizzare la console operatore per creare script in VBScript o JScript. Per utilizzare un Windows PowerShell script, è necessario utilizzare un altro strumento di creazione e modifica, ad esempio il Console di creazione e modifica di System Center Operations Manager 2007 R2 o Autore MP.

Contenitori di proprietà

Gli script di monitoraggio invia i dati di output come contenitore di una proprietà in modo che può essere valutata in un'espressione per un monitoraggio o mappato in dati sulle prestazioni o un evento per una regola di raccolta. Un contenitore di proprietà è un set di valori con un nome. Sebbene sia preferibile utilizzare un nome descrittivo del valore specifico, è possibile assegnare qualsiasi nome. Un contenitore di proprietà esiste solo durante il ciclo di vita del flusso di lavoro. La prossima volta che viene eseguito il flusso di lavoro, lo script viene eseguito e crea un nuovo contenitore di proprietà con i nuovi valori.

Un elenco di proprietà può avere qualsiasi valore numerici, anche se l'intero set di dati non può superare i 4 MB. La maggior parte degli script richiede solo alcuni valori con una dimensione totale molto in questo limite. Non esiste alcun requisito per tutti i valori da utilizzare per il flusso di lavoro.

Script di creano contenitori di proprietà utilizzando il metodo CreatePropertyBag su di MOM. Oggetto ScriptAPI. Il flusso di lavoro vengono utilizzati i valori da un elenco di proprietà con una variabile $Data che utilizza la sintassi seguente:

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

Ad esempio, uno script di creazione di dati delle prestazioni potrebbe creare un contenitore di proprietà con i valori nella tabella seguente. Questa tabella mostra il nome del valore creato lo script e la variabile $Data corrispondente utilizzato per associare i dati del contenitore delle proprietà ai dati delle prestazioni.

Nome del valore contenitore delle proprietà

Valore di esempio

Variabile

NomeOggetto

MyObject

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

CounterName

MyCounter

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

NomeIstanza

MyInstance

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

Valore

10

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

Struttura script

Il codice seguente viene illustrato un esempio di script per illustrare la struttura di base di uno script di monitoraggio per il monitoraggio. Questo script di esempio ha le caratteristiche seguenti.

  • Accetta gli argomenti per il nome del computer che esegue lo script e un percorso della posizione dell'applicazione.

  • Crea un elenco di proprietà con i valori denominati ComputerName, InstanceName e 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)

Qui verranno fornite informazioni dettagliate di ogni sezione dello script.

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

Le prime due righe dello script di accettare argomenti. Questi valori dovrebbe essere nel parametro degli argomenti della regola o del monitoraggio in esecuzione lo script. Lo script può utilizzare qualsiasi numero di argomenti necessari per la logica dello script.

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

Le due righe creano un contenitore di proprietà. Anche queste righe saranno modificate nella maggior parte degli script di monitoraggio. Lo scopo principale del resto dello script, è necessario aggiungere valori all'elenco di proprietà utilizzando i dati raccolti dai computer dell'agente.

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

Dopo aver creato il contenitore delle proprietà, è possibile aggiungere qualsiasi numero di valori a esso. Eseguire questa operazione con il AddValue metodo sull'oggetto contenitore della proprietà utilizzando il nome dell'elemento seguito il relativo valore. In questo esempio utilizza i valori espliciti. Nello script di monitoraggio effettivo, è quello previsto codice aggiuntivo che potrebbe raccogliere informazioni dai computer agente per includere tali valori.

oAPI.Return(oBag)

Dopo che tutti i valori vengono aggiunti all'elenco di proprietà, viene restituito nel flusso di lavoro. Questa riga è necessaria, e senza che il contenitore delle proprietà viene ignorato quando lo script termina. Questo metodo viene utilizzato solo quando lo script crea solo un elenco di proprietà singola. Per ulteriori informazioni sugli script che restituiscono più contenitori di proprietà e le condizioni quando viene utilizzato tale strategia, consultare la Cookdown sezione il System Center Operations Manager 2007 R2 Authoring Guide.

Argomenti script

La maggior parte degli script utilizzano argomenti, che sono valori che vengono inviati allo script dalla riga di comando quando viene eseguito lo script. Utilizzando gli argomenti consente a un singolo script da utilizzare per più scenari senza modificare lo script stesso.

In uno script di monitoraggio, gli argomenti sono importanti poiché possono essere presenti informazioni che lo script richiede che saranno diversi per ogni agente in cui viene eseguito lo script. Qualsiasi proprietà dell'oggetto di destinazione per il monitoraggio o la regola può essere utilizzata per il valore dell'argomento di script. Questo valore viene risolto singolarmente su ogni agente nel momento in cui viene eseguito lo script.

Gli argomenti sono accessibili nella console operatore dal parametri pulsante. Gli argomenti devono essere separati da spazi nell'ordine che sono accessibili nello script. Questo è identico alla riga di comando che verrebbe fornita se lo script viene eseguito su una riga di comando.

Ogni argomento può essere un valore esplicito o una variabile $Target per utilizzare il valore di una proprietà nell'oggetto di destinazione. Tutte le variabili $Target vengono risolti quando lo script viene eseguito in modo che lo script viene fornito con i valori risolti nella riga di comando. È possibile digitare nella variabile $Target se si conosce la sintassi corretta. È tuttavia più semplice selezionare la proprietà da destinazione pulsante che consente di elencare tutte le proprietà dell'oggetto di destinazione e i relativi padri.

System_CAPS_importantImportante

Eventuali variabili $Target che potrebbero essere risolte in un valore che include uno spazio devono essere racchiuse tra virgolette. Se un valore include spazi e non dispone di virgolette, quindi verrà visualizzato dallo script come due argomenti separati. Le virgolette garantisce che il valore viene considerato come un singolo argomento. Se si seleziona la proprietà da destinazione menu, non verranno incluse le virgolette per l'utente. È necessario digitare questi in dopo aver selezionato la proprietà.

Ad esempio, lo script di esempio in precedenza prevede due argomenti per il nome del computer e il percorso dell'applicazione. Supponendo che faccia parte di un monitoraggio o regola indirizzati a una classe ospitata dal Computer Windows classe computer nome può essere recuperato dalla proprietà nome entità. Se il percorso dell'applicazione fosse una proprietà nella classe di destinazione, gli argomenti potrebbero essere simili all'esempio seguente. Notare le virgolette racchiudono la proprietà ApplicationPath, in quanto ciò può essere risolto in un valore che contiene uno spazio.

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

Presupponendo che lo script è assegnato un nome di MyScript.vbs, il nome del computer è stato MyServer01, e il percorso dell'applicazione è stata C:\Program Files\Contoso\My Application, la riga di comando che verrebbe eseguita per questo script sarebbe:

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

Argomenti di regole e monitoraggi di script

  • Regole di raccolta script

    Creare una regola che utilizza uno script per raccogliere dati di evento o prestazioni.

  • Script monitor

    Creazione di un monitoraggio che valuta i risultati di uno script per impostare lo stato di integrità.

  • Monitoraggi comando Shell UNIX/Linux

    Creazione di un monitoraggio che valuta l'output dell'esecuzione di un comando, script o della riga di una sequenza di comandi (mediante operatori pipeline) UNIX/Linux.