Voraussetzung: Die External Monitoring Webapplikation benötigt mindestens Java 1.5.
![]() |
<?xml version="1.0" encoding="UTF-8"?>
<scenario>
<scenname>B2BBP</scenname>
<sceninst>1</sceninst>
<scenversion>1</scenversion>
<component>
<compname>ASERVICE</compname>
<compversion>1</compversion>
<compdesc>Aktive B2BBBP-Services</compdesc>
<comphost/>
<compinst/>
<messages>
<message>
<messalert>ERROR</messalert>
<messseverity>255</messseverity>
<messarea/>
<messnumber/>
<messparam1/>
<messparam2/>
<messparam3/>
<messparam4/>
<messtext>Node unknown Error getting ClusterNode Info from URL
[http://localhost:8080/b2bbp-engine/clusternodeinfo] please check URL,
Username and Password.</messtext>
</message>
</messages>
</component>
...
Im xml-Tag „scenario“ ist eine Gruppe von Komponenten beschrieben, in diesem Fall alle durch eine Instanz der External Monitoring überwachte Komponenten (Tag „component“). Hier ist nur eine Komponente beispielhaft ausgewählt, nämlich ASERVICE. In „messalert“ können die Werte „ERROR“ und „OKAY“ stehen. In „messseverity“ ist die Schwere des Fehlers auf einer Skala von „0“ bis „255“ abgebildet. In „messtext“ ist eine ausführlichere Fehlermeldung enthalten.
In der Extension EXTERNAL_MONITORING werden die zu überwachenden Komponenten konfiguriert, hier nun in Einzelschritten erklärt. Zuerst werden die zu testenden Komponenten definiert, d.h. Alias-Namen werden Java-Klassen nach dem Schema class=ALIAS|package.classname zugeordnet:
class=ASERVICE|org.b2bbp.external.monitoring.components.ActiveServiceComponent class=INDEXCOM|org.b2bbp.external.monitoring.components.IndexComponent class=SYSAVAIL|org.b2bbp.external.monitoring.components.SystemAvailabilityComponent class=PROCERR|org.b2bbp.external.monitoring.components.ProcessingErrorComponent class=QUEUECOM|org.b2bbp.external.monitoring.components.QueueComponent class=SYSERROR|org.b2bbp.external.monitoring.components.SystemErrorComponentZu beachten ist, dass der Alias-Name maximal 8 Zeichen lang sein darf. Hier eine genauere Beschreibung der momentan in B2B by Practice verfügbaren Komponenten, inkl. deren spezifischen Konfigurationsmöglichkeiten:
| Komponente | Beschreibung |
|---|---|
| ActiveServiceComponent | Überprüft die Aktivität von aktiven Services anhand des B2B by Practice-Locking-Mechanismus: ASERVICE=[http://localhost:8080/b2bbp-engine/clusternodeinfo] Sollen mehrere Cluster-Instanzen überprüft werden, kann der Eintrag mehrfach auftauchen. |
| IndexComponent | Überprüft die Größe der Index-Tabelle, d.h. die Menge der noch zu indizierenden Nachrichten: INDEXCOM.indexTableMaxEntries=200 Wird dieser Schwellwert überschritten, wird ein Fehler an den Solution Manager gemeldet. |
| SystemAvailabilityComponent | Überprüft die generelle Erreichbarkeit einer Clusterinstanz. Parameter:
SYSAVAIL.systems=127.0.0.1:8080
SYSAVAIL.requestWarningTimeMS=500
SYSAVAIL.requestErrorTimeMS=2500
systems: gibt das zu überprüfende System als host:port-Kombination an. Sollen mehrere Systeme überwacht werden, kann der Eintrag einfach wiederholt werden, z.B. kann in einer zusätzlichen Zeile "SYSAVAIL.systems=127.0.0.1:8070" eingetragen werden. requestWarningTimeMS: ist der Schwellwert in Millisekunden für eine Warnung. requestErrorTimeMS: ist der Schwellwert in Millisekunden für eine Fehlermeldung. |
| ProcessingErrorComponent | Überprüft die Anzahl an fehlerhaften Nachrichten: PROCERR.errorThreshold=0 PROCERR.interval=60 Sind in den vergangenen interval Sekunden mehr als errorThreshold fehlerhaft verarbeitete Nachrichten aufgetreten, wird ein Fehler gemeldet. |
| QueueComponent | Überprüft die Anzahl der Nachrichten in der Queue, d.h. die Menge der noch zu verarbeitenden Nachrichten: Der Parameter QUEUECOM.thresholdAll=100 gibt an, ab welchem Schwellwert die Komponente QueueComponent detailliertere Überprüfungen vornimmt. Ist dies der Fall, dann geben die Parameter QUEUECOM.thresholdS=50 QUEUECOM.thresholdM=25 QUEUECOM.thresholdL=15 QUEUECOM.thresholdX=5 die Schwellwerte für die einzelnen Queues (S, M, L, X) vor, bei deren Erreichen ein Fehler gemeldet wird. |
| SystemErrorComponent | Überprüft die Systemfehlermeldungen: SYSERROR.errorThreshold=1000 SYSERROR.interval=60 Die Parameter haben dieselbe Bedeutung wie bei der Komponente ProcessingErrorComponent, nur dass sie sich auf Systemfehlermeldungen beziehen. |
class=ASERVICE|org.b2bbp.external.monitoring.components.ActiveServiceComponent class=INDEXCOM|org.b2bbp.external.monitoring.components.IndexComponent class=SYSAVAIL|org.b2bbp.external.monitoring.components.SystemAvailabilityComponent class=PROCERR|org.b2bbp.external.monitoring.components.ProcessingErrorComponent class=QUEUECOM|org.b2bbp.external.monitoring.components.QueueComponent class=SYSERROR|org.b2bbp.external.monitoring.components.SystemErrorComponent SYSAVAIL.systems=127.0.0.1:8070 SYSAVAIL.systems=127.0.0.1:8080 SYSAVAIL.requestWarningTimeMS=500 SYSAVAIL.requestErrorTimeMS=2500 INDEXCOM.indexTableMaxEntries=200 ASERVICE=[http://localhost:8070/b2bbp-engine/clusternodeinfo] ASERVICE=[http://localhost:8080/b2bbp-engine/clusternodeinfo] PROCERR.errorThreshold=0 PROCERR.interval=60 SYSERROR.errorThreshold=1000 SYSERROR.interval=60 QUEUECOM.thresholdAll=100 QUEUECOM.thresholdS=50 QUEUECOM.thresholdM=25 QUEUECOM.thresholdL=15 QUEUECOM.thresholdX=5
Durch Aufruf von http://localhost:8080/org.b2bbp.external.monitoring/emoni (Host und Port stammen vom Tomcat, auf dem die External Monitoring Webapplikation läuft) kann die Funktionsfähigkeit überprüft werden. Das Ergebnis kann so aussehen:
<TestResult>
<Component>
<name>QUEUECOM</name>
<version>1</version>
<comphost/>
<compinst/>
<description>B2BBP-Processing Queue</description>
<type>1</type>
<messages>
<Message>
<messalert>OKAY</messalert>
<messseverity>0</messseverity>
<messarea/>
<messageId/>
<messtext>B2Bs processing-queue is empty</messtext>
</Message>
</messages>
</Component>
<Component>
<name>SYSERROR</name>
...
</Component>
...
</TestResult>
In diesem Beispiel sind keine Fehler zu sehen
<customizing>
<control>
<grmgruns>X</grmgruns>
<runlog></runlog>
<errorlog></errorlog>
</control>
<scenarios>
<scenario>
<scenname>b2bbp</scenname>
<scenversion/>
<sceninst>1</sceninst>
<scentype>URL</scentype>
<scenstarturl>[http://localhost:8070/org.b2bbp.external.monitoring/solutionmanager</scenstarturl>]
<scenstartmode>Not Used</scenstartmode>
<scentexts>
<scentext>
<scenlangu>E</scenlangu>
<scendesc>B2B_ace</scendesc>
</scentext>
</scentexts>
<components>
<component>
<compname>QUEUECOM</compname>
<compversion>1</compversion>
<comptype>1</comptype>
<comptexts>
<comptext>
<complangu>E</complangu>
<compdesc>B2BBP-Processing Queue</compdesc>
</comptext>
</comptexts>
<properties>
<property>
<propname>Unknown</propname>
<propvallue>Unknown</propvallue>
</property>
</properties>
</component>
<component>
<compname>SYSERROR</compname>
...
</component>
...
</components>
</scenario>
</scenarios>
</customizing>
Bevor Sie diese in den SAP Solution Manager importieren, können Sie das Customizing ggf. anpassen, z.B. bei Bedarf die URL anpassen. Eine nähere Beschreibung des Formats finden Sie unter http://help.sap.com/saphelp_nw04s/helpdata/en/7c/d3b45f8cf8bc4995dc485f2e911e05/content.htm.