Autoreaktionsmethode: Betriebssystemkommandos
ausführen
Sie können als Autoreaktion auf einen Alert ein beliebiges Betriebssystemkommando ausführen lassen. Hierfür steht Ihnen die Autoreaktionsmethode CCMS_AUTO_REACT_OP_COMMAND zur Verfügung. Aus Sicherheitsgründen gilt dies allerdings nur für solche Kommandos, die vorher in Externe Betriebssystemkommandos (Transaktion SM69) definiert wurden.

Um die Autoreaktionsmethode zu verwenden, stellen Sie sicher, dass Sie einen aktuellen SAPXPG vom SAP Service Marketplace verwenden (http://service.sap.com/swdc → Download → Support Packages and Patches → Entry by Application Group → SAP NetWeaver → SAP NETWEAVER → SAP NETWEAVER 04 → Entry by Component → AS ABAP → SAP KERNEL 6.40 32/64-BIT → <Plattform> → Database independent).
Entscheidend ist bei dieser Autoreaktionsmethode, dass Sie dem Betriebssystemkommando Details zum Alert als Parameter übergeben können. Nutzen Sie hierfür Methodenparameter, die Argumente enthalten dürfen, welche wiederum zur Laufzeit durch die jeweiligen Daten des Alerts ersetzt werden.
Im Einzelnen hat die Autoreaktionsmethode die folgenden Methodenparameter:
Methodenparameter |
Bedeutung |
COMMAND |
logisches Kommando, das im Falle eines Alerts ausgeführt werden soll |
PARAMETERS |
statischer Parameter, den Sie dem logischem Kommando übergeben |
REACT_ON_ALERTS |
Alert-Farbe, bei dem die Autoreaktionsmethode gestartet werden soll: YELLOW: Methode nur für gelbe Alerts starten RED: Methode nur für rote Alerts starten <alles andere>: Methode für alle Alerts starten |
MTENAME |
SID/SEGMENT/CONTEXT/OBJECT/ATTRIBUTE; bei einem Alert werden die Argumente mit den entsprechenden Werten gefüllt (siehe unten) |
PARAMLIST_1 |
weitere Parameter, die dem Betriebssystemkommando übergeben werden; diese können neben normalem Text auch Argumente enthalten (siehe unten) |
PARAMLIST_2 |
|
PARAMLIST_3 |
|
PARAMLIST_4 |

Der Parameter COMMAND ist zwingend, alle anderen Parameter sind optional.
Die folgenden Argumente in den Methodenparametern MTENAME und PARAMLIST_<n> werden zur Laufzeit durch die entsprechenden Werte ersetzt:
Argument |
Bedeutung |
SID |
System-ID des Systems, in dem der Alert aufgetreten ist |
CONTEXT |
Monitorkontext des MTE |
OBJECT |
Monitorobjekt des MTE |
ATTRIBUTE |
Monitorattribut des MTE |
SEGMENT |
Monitorsegment des MTE |
COLOR |
Farbe des Alerts (YELLOW oder RED) |
SEVERITY |
Schwere des Alerts |
DATE |
Datum und Zeitpunkt des Alerts (Systemdatum bzw. Systemzeit) |
CLIENT |
Mandant des Benutzers, unter dem der Alert erzeugt wurde |
USER |
Benutzer, unter dem der Alert erzeugt wurde (diese Information ist nicht immer vorhanden) |
REPORTER |
Funktion oder C-Source, die für die Erstellung des Alert verantwortlich ist |
CLASS |
Meldungsklasse (z.B. SAP-SYSLOG oder SAP-T100) |
ID |
Klasse und Nummer Meldung (z. B. A04) |
ARG1 |
Argumente der Meldung |
TXT |
Text der Meldung ohne Argumente (in Systemsprache) |
MSG |
expandierte Meldung mit Argumenten (in Systemsprache) |
MSCGL |
global external line ID |

Beachten Sie, dass Parameter, die an Betriebssystemkommandos übergeben werden, durch Leerzeichen getrennt werden müssen. Deshalb werden die folgenden Teile der Parameter, die möglicherweise Leerzeichen enthalten, von der Methode in einfache Hochkommata für Unix (') und Hochkommata für Windows (") eingeschlossen:
· alle Argumente, die unter MTENAME spezifiziert wurden
· das Argument MSG
· das Argument TXT
So werden alle Teile des MTE-Namens und die Argumente MSG und TXT jeweils als ein Parameter identifiziert werden.
Trennen Sie alle anderen Argumente in den Methodenparametern durch Leerzeichen, wenn diese als eigenständige Parameter erkannt werden sollen. Zwischen den Argumenten von MTENAME und PARAMLIST_<n> wird automatisch ein Leerzeichen eingefügt (siehe auch das Beispiel unten). Wenn zwei Argumente als ein Parameter erkannt werden sollen, verwenden Sie keine Leerzeichen zwischen den Argumenten.
Beachten Sie außerdem, dass Sie dasselbe Argument in MTENAME und in allen Parametern PARAMLIST_* nur einmal angeben dürfen.
Sie müssen das gewünschte Betriebssystemkommando in der Transaktion Externe Betriebssystemkommandos definieren. Gehen Sie dabei wie folgt vor:
...
1. Wählen Sie CCMS → Konfiguration → Externe Kommandos, oder rufen Sie die Transaktion SM69 auf.
2.
Wählen Sie mit der Drucktaste Anzeigen «
Ändern (
) den Änderungsmodus, und wählen Sie die
Drucktaste Anlegen (
).
3. Geben Sie nun die Details zu dem gewünschten Betriebssystemkommando ein, vergewissern Sie sich, dass das Kennzeichen Zusätzliche Parameter erlaubt aktiviert ist, und sichern Sie Ihre Eingaben.

§ Beachten Sie, dass Sie bei der Definition der Autoreaktionsmethode nicht mehr den Namen des Betriebssystemkommandos, sondern den Namen des (logischen) Kommandos eingeben müssen.
§ Falls Sie für die Anwendungsserver in Ihrem Monitoring-System verschiedene Betriebssysteme verwenden, legen Sie für jedes Betriebssystem ein logisches Kommando mit gleichem Namen, aber unterschiedlichem Betriebssystem an. Dabei können Sie unterschiedliche Skripte oder Executables angeben.
§ Stellen Sie sicher, dass das Skript oder Executable von allen Hosts mit dem Benutzer <SID>adm aufrufbar ist. Sie können diesen Test über die Transaktion SM49 durchführen.
Dem Betriebssystemkommando wird zunächst der optionale statische Parameter übergeben, den Sie im Eingabefeld Parameter für Betriebssystem-Kommando der Transaktion SM69 festgelegt haben. Welche Parameter dem Kommando darüber hinaus übergeben werden, hängt von der Konfiguration der entsprechenden Autoreaktionsmethode ab.
Weitere Informationen zur Definition der Kommandos finden
Sie unter
Externe
Betriebssystem-Kommandos: Inhalt.
Methode kopieren
SAP empfiehlt, dass Sie die Originalmethode CCMS_AUTO_REACT_OP_COMMAND unverändert lassen und nur als Vorlage für Ihre Methoden verwenden. Sie können so beliebig viele logische Kommandos als Autoreaktionen einrichten.
...
1. Wählen Sie CCMS → Konfiguration → Alert-Monitor, oder rufen Sie die Transaktion RZ21 auf.
2. Markieren Sie im Gruppenrahmen Methoden den Auswahlknopf Methodendefinitionen, und wählen Sie Übersicht anzeigen.
3.
Markieren Sie die Methode CCMS_AUTO_REACT_OP_COMMAND, und
wählen Sie die Drucktaste Kopieren (
).
4. Geben Sie den gewünschten Namen ein, und sichern Sie Ihre Eingaben.
Methodenparameter anpassen und Methode freigeben
5.
Markieren Sie die soeben erstellte Kopie der Methode, und
wählen Sie die Drucktaste Daten bearbeiten
(
).
6.
Sie gelangen zum Bild Monitoring:
Methoden. Wählen Sie mit der Drucktaste Anzeigen
«
Ändern (
) den Änderungsmodus.
7. Wählen Sie die Registerkarte Parameter, und setzen Sie das auszuführende logische Kommando sowie die übrigen Methodenparameter (siehe oben).
8. Wählen Sie die Registerkarte Freigabe und markieren Sie im Gruppenrahmen Methode darf ausgeführt werden als das Kennzeichen Autoreaktionsmethode.
9. Sichern Sie Ihre Eingaben.

Standardmäßig wird das Betriebssystemkommando auf dem lokalen Server des MTEs ausgeführt, der den Alert erzeugt hat. Falls das Kommando auf einem anderen Server ausgeführt werden soll, ändern Sie den Ausführungsort in der Registerkarte Ausführung im Gruppenrahmen Methode ausführen auf.
Methode den gewünschten Knoten zuweisen
Sie müssen die Methode nun den gewünschten MTEs oder MTE-Klassen zuweisen. Dafür können Sie sowohl die Transaktion RZ20 (nur für die aktive Eigenschaftsvariante) als auch die Transaktion RZ21 verwenden (siehe auch Eigenschaften und Methodenzuordnungen ändern). Hier wird die Zuweisung über die Transaktion RZ20 beschrieben:
10. Starten Sie den Alert-Monitor über Transaktion RZ20, oder wählen Sie CCMS → Steuerung/Monitoring → Alert-Monitor.
11. Starten Sie in der Monitorliste den gewünschten Monitor mit Doppelklick.
12. Markieren Sie den gewünschten Knoten, und wählen Sie die Drucktaste Eigenschaften.
13. Sie gelangen zum Bild Monitoring: Eigenschaften und Methoden. Wählen Sie die Registerkarte Methoden, und wählen Sie die Drucktaste Methodenzuordnung.
14. Sie gelangen zum Bild Monitoring: Methoden. Die weitere Vorgehensweise hängt davon ab, ob Sie die Analysemethode nur speziell diesem Knoten oder der gesamten MTE-Klasse zuordnen möchten:
15.
Wählen Sie in den Kopfdaten des Bildes den Namen der
MTE-Klasse mit Doppelklick, und wählen Sie mit der Drucktaste Anzeigen «
Ändern (
) den Änderungsmodus.
16. Wählen Sie im Gruppenrahmen Autoreaktionsmethode den Auswahlknopf Methodenname, und geben Sie im dazugehörigen Feld die oben erstellte Methode ein.
17. Sichern Sie Ihre Eingaben.
15.
Wählen Sie mit der Drucktaste Anzeigen «
Ändern (
) den Änderungsmodus, und wählen Sie die
Registerkarte Autoreaktion.
16. Wählen Sie im Gruppenrahmen Methodenzuordnung den Auswahlknopf Methodenname, und geben Sie im dazugehörigen Feld die oben erstellte Methode ein.
17. Sichern Sie Ihre Eingaben.
Sollte bei einem der MTEs, denen Sie diese Autoreaktionsmethode zugeordnet haben, ein Alert ausgelöst werden, wird die Monitoring-Architektur automatisch das entsprechende logische Kommando aufrufen.
Es sollen Alerts protokolliert werden. Zu diesem Zweck soll für jeden Alert eine Datei mit dem Namen alert_<Datum>_<Uhrzeit>.txt erstellt werden, die Informationen zum Alert enthält, wie z. B.:
yellow alert from
'PDR/SAP_CCMS_pdrhost_PRD_00/prdhost_PRD_00/R3Syslog
/BasisSystem' A04 'Ladeformat von SAPLQDIS abload1 0413
unzulässig.'
...
1. Verwenden Sie die Methode CCMS_AUTO_REACT_OP_COMMAND als Vorlage für eine eigene Methode. Die Parameter MTENAME und PARAMLIST_1 sind bereits standardmäßig gefüllt. Fügen Sie das Kommando Z_TEST und den Parameter ID unter PARAMLIST_2 hinzu:
Parameter |
Parameterwert |
COMMAND |
Z_TEST |
PARAMETERS |
|
REACT_ON_ALERTS |
|
MTENAME |
SID/SEGMENT/CONTEXT/OBJECT/ATTRIBUTE |
PARAMLIST_1 |
COLOR DATE_TIME MSG |
PARAMLIST_2 |
ID |
PARAMLIST_3 |
|
PARAMLIST_4 |
|
2. Definieren Sie in der Transaktion SM69 für das Betriebssystem Linux das logische Kommando Z_TEST; geben Sie dort das Linux-Skript test.sh an (welches vom Benutzer <SID>adm ausführbar sein muss)
3. Definieren Sie in der Transaktion SM69 für das Betriebssystem Windows NT das logische Kommando Z_TEST; geben Sie dort das Windows-Skript test.cmd an.

Erlauben Sie für beide logischen Kommandos zusätzliche Parameter.
Mit den gerade angepassten Einstellungen der Autoreaktionsmethode wird bei einem Alert das folgende Kommando ausgeführt:
¡ Linux:
test.sh '<SID>/<SEGMENT>/<CONTEXT>/<OBJECT>/<ATTRIBUTE>' <COLOR> <DATE>_<TIME> '<MSG>' <ID>
¡ Windows:
test.cmd '<SID>/<SEGMENT>/<CONTEXT>/<OBJECT>/<ATTRIBUTE>' <COLOR>
<DATE>_<TIME> '<MSG>' <ID>
4. Erstellen Sie auf ein Skript, das eine Datei mit dem Namen alert_<Datum>_<Uhrzeit>.txt generiert:
¡ Linux-Script test.sh:
#!/usr/bin/sh
echo $2 alert from $1 Message $5 $4 > alert_$3.txt
¡ Windows-Script test.cmd:
echo %2 alert from %1 Message %5 %4 > alert_%3.txt
Falls Sie keine absolute Pfadangabe verwenden, dann wird die Datei in dem Verzeichnis DIR_HOME abgelegt.