Beispielsammlung, Leitfaden > Benachrichtigung mit variablem Meldungstext

Benachrichtigung mit variablem Meldungstext

Ziel: Die Verständigung per Benachrichtigungs-Objekt soll einen Meldungstext enthalten, der abhängig von der Aufgabe ist, die diesen aufruft.

Verwendete Objekte: Benachrichtigung

Verwendete Script-Sprachmittel: ACTIVATE_UC_OBJECT, :ADD_ATT, GET_ATT, :PUT_ATT, :PUT_ATT_APPEND, :PUT_READ_BUFFER, :READ, STR_FIND, SYS_ACT_PARENT_NAME, SYS_ACT_PARENT_NR und SYS_ACT_PARENT_TYPE


Beispiel

Benachrichtigungs-Objekte werden für die Verständigung per Benachrichtigungs-Monitor, E-Mail und SNMP benutzt. Dabei ist es von Vorteil, ein Benachrichtigungs-Objekt anzulegen, dessen Meldungstext Informationen zu der Aufgabe enthält, die diesen auslöst. Dies ermöglicht auch eine vielfältige Verwendung des Benachrichtigungs-Objektes, da der Inhalt der Benachrichtigung automatisch angepasst wird.

Aufgabe

Benutzen Sie folgende Scriptzeilen im Post-Script, um das Benachrichtigungs-Objekt aus einer beliebigen Aufgabe heraus zu starten.

!Storing the agent name in the Read buffer
:
SET &att_host = GET_ATT(HOST)
:
PUT_READ_BUFFER host# = '&att_host'

!Activating the notification

:
SET &ret = ACTIVATE_UC_OBJECT('CALLOP')

Da Attribute nur in der Script-Registerkarte derselben Aufgabe ermittelt werden können, wird in diesem Beispiel der Name des ausgewählten Agenten in den Zwischenspeicher (Readbuffer) gestellt. Das Benachrichtigungs-Objekt kann den Wert von dort auslesen und so für die Anzeige benutzen.

Benachrichtigung

Legen Sie nun ein Benachrichtigungs-Objekt an. Spezifizieren Sie die Priorität und den Typ (Rückfrage, Benachrichtigung, Alarm) sowie einen oder mehrere Benutzer, die verständigt werden sollen.

Das Script ist wie folgt aufgebaut. Zuerst wird aus dem Zwischenspeicher der Agentenname ausgelesen. Dann werden weitere Informationen der Aufgabe ermittelt (Name, RunID und Objekttyp). Es erweist sich als hilfreich, wenn Sie bei der Namensvergabe für die Objekte gewisse Konventionen vereinbaren. Im Script wird nämlich geprüft, ob der Name der Aufgabe eine bestimmte Zeichenfolge (ADMIN) enthält.  Ist dies der Fall, so werden zusätzlich zu den von Ihnen eingetragenen Benutzern auch noch die Benutzer der Gruppe "ADMIN" benachrichtigt.

Der auszugebene Meldungstext wird mit den Script-Anweisungen :PUT_ATT und :PUT_ATT_APPEND gebildet. Einen Zeilenumbruch können Sie mit der Funktion UC_CRLF erzeugen.

!Reading the agent name of the task
:
READ &host,,


:
SET &name = SYS_ACT_PARENT_NAME(ACT)
:
SET &runnr = SYS_ACT_PARENT_NR(ACT)
:
SET &typ = SYS_ACT_PARENT_TYPE(ACT)


!If 'ADMIN' is part of the task name ...

:
SET &string = STR_FIND (&name,'ADMIN')


!...all the users of the user group "ADMIN" are notified.

:
IF &string <> '0'
:  
ADD_ATT RECIPIENT, 'ADMIN'
:
ENDIF 



!Creating the message text

:
PUT_ATT CALL_TEXT = 'The following task was not successfully completed! Please check!'
:
PUT_ATT_APPEND CALL_TEXT = UC_CRLF()
:
PUT_ATT_APPEND CALL_TEXT = UC_CRLF()
:
PUT_ATT_APPEND CALL_TEXT = 'Name of the task: &name'
:
PUT_ATT_APPEND CALL_TEXT = UC_CRLF()
:
PUT_ATT_APPEND CALL_TEXT = 'RunID of the task: &runnr'
:
PUT_ATT_APPEND CALL_TEXT = UC_CRLF()
:
PUT_ATT_APPEND CALL_TEXT = 'Type of the task: &typ'
:
PUT_ATT_APPEND CALL_TEXT = UC_CRLF()
:
PUT_ATT_APPEND CALL_TEXT = 'Agent: &host'

Die folgende Abbildung zeigt eine Benachrichtigung, die von der Aufgabe "ADMIN.DBWARTUNG" aufgerufen wurde und den Benutzer Meier verständigt. Da es sich um eine "ADMIN-Aufgabe" handelt, werden auch die Mitglieder der BenutzerGruppe ADMIN (Huber und Müller) benachrichtigt.

 

Siehe auch:

Benachrichtigung - Ausführen

 


Automic Documentation - Tutorials - Automic Blog - Resources - Training & Services - Automic YouTube Channel - Download Center - Support

Copyright © 2016 Automic Software GmbH