Bei diesem Mustercode wird veranschaulicht, wie man Ereignisse aus WebSphere Message Broker ausgeben und die Ereignisse in WebSphere Business Monitor verarbeiten kann. Im Mustercode werden folgende Tasks veranschaulicht:
Im Mustercode wird gezeigt, wie Sie WebSphere Business Monitor konfigurieren, um Ereignisse von WebSphere Message Broker zu empfangen. Dabei wird Folgendes veranschaulicht:
Der Mustercode basiert auf dem folgenden Szenario:
Eine Gärtnereizubehörfirma erhält Bestellungen von drei Kundentypen.
Die empfangenen Bestellungsanforderungen enthalten die bestellten Artikel, jedoch nicht eine Gesamtsumme für die komplette Bestellung. Der Nachrichtenfluss berechnet diese Summe und gibt zudem Goldkunden einen Rabatt von 15 %. Die Bestellungen von Goldkunden werden außerdem von einer anderen Serviceanwendung gehandhabt; somit leitet der Nachrichtenfluss die Bestellung abhängig vom Kundentyp weiter.
Die WebSphere MQ-Eingabewarteschlange INPUT_ORDER_PRICE empfängt die Bestellanforderung. Ein Rechenknoten (ComputeOrderTotal) wird für folgende Zwecke verwendet:
Je nach Kundentyp wird die Ausgabeanforderung an eine der folgenden WebSphere MQ-Ausgabewarteschlangen gesendet:
Das Nachrichtengruppenprojekt 'WBMonitorEventsMessageSet' enthält die Nachrichtendefinitionen der Eingabe- und Ausgabenachrichten.
Die Eingabenachricht weist folgendes Format auf:
<?xml version="1.0" encoding="UTF-8"?> <PO:purchaseOrder xmlns:PO="http://www.ibm.com/ProcessOrder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/ProcessOrder totalPOInstance.xsd "> <PO:purchaseOrderID>11112222</PO:purchaseOrderID> <PO:customerID>111111</PO:customerID> <PO:customerType>GOLD</PO:customerType> <PO:items> <PO:item> <PO:partNum>0239232</PO:partNum> <PO:productName>compost</PO:productName> <PO:quantity>14</PO:quantity> <PO:price>4.99</PO:price> </PO:item> <PO:item> <PO:partNum>0451481</PO:partNum> <PO:productName>lawnmower</PO:productName> <PO:quantity>10</PO:quantity> <PO:price>79.99</PO:price> </PO:item> <PO:item> <PO:partNum>0481257</PO:partNum> <PO:productName>spade</PO:productName> <PO:quantity>10</PO:quantity> <PO:price>19.99</PO:price> </PO:item> </PO:items> </PO:purchaseOrder>
Die Ausgabenachricht weist folgendes Format auf:
<?xml version="1.0" encoding="UTF-8"?> <PO:purchaseOrderPriced xmlns:PO="http://www.ibm.com/ProcessOrder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/ProcessOrder totalPOInstance.xsd "> <PO:purchaseOrderID>11112222</PO:purchaseOrderID> <PO:customerID>111111</PO:customerID> <PO:customerType>GOLD</PO:customerType> <PO:items> <PO:item> <PO:partNum>0239232</PO:partNum> <PO:productName>compost</PO:productName> <PO:quantity>14</PO:quantity> <PO:price>4.99</PO:price> </PO:item> <PO:item> <PO:partNum>0451481</PO:partNum> <PO:productName>lawnmower</PO:productName> <PO:quantity>10</PO:quantity> <PO:price>79.99</PO:price> </PO:item> <PO:item> <PO:partNum>0481257</PO:partNum> <PO:productName>spade</PO:productName> <PO:quantity>10</PO:quantity> <PO:price>19.99</PO:price> </PO:item> </PO:items> <PO:priceSummary> <PO:itemTotal>1069.66</PO:itemTotal> <PO:deliveryCharges>19.99</PO:deliveryCharges> <PO:discount>163.44</PO:discount> <PO:invoice>926.21</PO:invoice> </PO:priceSummary> </PO:purchaseOrderPriced>
Der Name des Stammelements in der Ausgabenachricht wurde vom Rechenknoten in 'purchaseOrderPriced' geändert.
Die Überwachung wird bei den folgenden Knoten im Nachrichtenfluss konfiguriert:
Um Einzelheiten zu einem beliebigen Knoten anzuzeigen, öffnen Sie den Nachrichtenflusseditor und wählen die Registerkarte Überwachung aus. Bestellungen von Gastkunden werden nicht von WebSphere Business Monitor überwacht, daher wurde ein Ereignisfilter konfiguriert, der verhindert, dass Ereignisse von Gastkunden ausgegeben werden.
Die Datei MonitorModels_V7.zip enthält ein Beispiel eines Überwachungsmodells (WBMonitorEventsV7_Model.mm), das mithilfe der Option zum Export von Überwachungsinformationen erstellt wurde.
Die folgenden drei Mustercode-Überwachungsmodelle sind in der Datei MonitorModels.zip enthalten:
Dieses Modell ist ein generisches Modell, mit dem Sie Nachrichtenflussstart, Nachrichtenflussende und Rollback-Ereignisse von jedem Nachrichtenfluss anzeigen können, der bei einer Ausführungsgruppe aktiv ist. Das Modell enthält die Messdaten vom Ereignis. Die wesentlichen Leistungsindikatoren (KPIs) zeigen die Nachrichtenflussverarbeitungszeit und die Anzahl aktiver, abgeschlossener (einschließlich erfolgreicher und fehlgeschlagener Transaktionen), fehlgeschlagener und erfolgreicher Transaktionen.
Mit diesem Modell können Sie die Ereignisse für einen bestimmten Nachrichtenfluss anzeigen, der in einer bestimmten Ausführungsgruppe in einem bestimmten Broker aktiv ist; dies wird über die Erstellung eines Filters im Überwachungsmodell erreicht. Der Filter wird mithilfe eines XPath-Ausdrucks eingestellt, wenn die Details eingehender Ereignisse im Überwachungsmodell definiert werden. Genau wie das FlowGeneric-Modell wurden auch einige der Messdaten, die Informationen vom Ereignis enthalten, bereits definiert. Es werden Filterbedingungen festgelegt, um die Ereignisse beim Broker, der Ausführungsgruppe und dem Nachrichtenfluss zu filtern, die in diesem Mustercode verwendet werden. Mit dem Monitormodelleditor (MME) im Entwicklungstoolkit von WebSphere Business Monitor können Sie den Filter für eingehende Ereignisse für einen anderen Broker oder Nachrichtenfluss oder eine andere Ausführungsgruppe setzen oder aber nach anderen Messgrößen filtern.
Dieses Modell wird im übrigen Mustercode verwendet. Wie beim FlowSpecific-Modell erfolgt der Filtervorgang bei diesem Modell nach Broker, Ausführungsgruppe und Name des Nachrichtenflusses. Allerdings werden bei diesem Beispielmodell auch Messdaten erstellt, die Auslöserausdrücke verwenden, um das abgehende WebSphere Business Monitor-Ereignis mit den folgenden Elementen aus den Nutzdaten der Nachricht zu belegen:
Mit dem MME können Sie die Ereignisteile der eingehenden WebSphere Business Monitor-Ereignisse 'FlowStarted' und 'FlowPriceSummary' ändern, um andere Felder mit Nutzdaten zu extrahieren.
Es wird ein KPI-Modell erstellt, das einen KPI-Kontext enthält. Der KPI-Kontext enthält die KPIs, die für das Modell definiert sind, und deren zugehörige Trigger und Ereignisse. Sie können diese Auslöser und Ereignisse über die Seite des KPI-Modells im MME anzeigen. Hier einige der erstellten KPIs:
Überwachungsmodell 'WBMonitorEventsV7_Model'
Bei diesem Modell handelt es sich um eine Version des Überwachungsmodells 'ComplexContent', das mit der Workbench-Option erstellt wurde, mit der Überwachungsinformationen zum Beispielnachrichtenfluss exportiert werden.
Informationen dazu, wie vom Modell eine Überwachungsmodellanwendung sowie ein Dashboard basierend auf dem Modell erstellt werden, finden Sie im Abschnitt WebSphere Business Monitor-Mustercode ausführen.
Weitere Informationen zur Erstellung eines Überwachungsmodells in WebSphere Business Monitor finden Sie im
IBM WebSphere Business Process Management Information Center.