Puede configurar WebSphere Message Broker para emitir un suceso de supervisión (un documento XML) cuando suceda algo interesante. Los sucesos normalmente se emiten para dar soporte a la supervisión de transacciones, la auditoría de transacciones y la supervisión de procesos empresariales. El XML del suceso se ajusta al esquema de suceso de supervisión WMBEvent.xsd.
Puede encontrar el archivo de esquema WMBEvent.xsd en la carpeta WBMonitorEventsProject del ejemplo de WebSphere Business Monitor cuando lo importe a su espacio de trabajo. El archivo WMBEvent.xsd también se encuentra en el catálogo de mensajes predeterminado. Para acceder al esquema desde el WebSphere Message Broker Toolkit, pulse .
Un suceso de supervisión también puede contener los siguientes elementos:
Para permitir que el software que procesa sucesos, como por ejemplo WebSphere Business Monitor, los secuencie correctamente, se generan una indicación de fecha y hora ISO 8601 y un atributo de contador. El atributo de contador se encuentra en el elemento EventSequence del suceso de supervisión. Este contador empieza en 1 para el primer suceso generado por el proceso de un mensaje (normalmente el suceso transaction.Start) y se incrementa para cada suceso posterior que se genere. Se restablece en 1 al inicio del mensaje siguiente. La hora de creación y el contador se generarán, siempre, en todos los sucesos de supervisión. El software que procesa los sucesos puede elegir qué campo, o una combinación de los dos, utilizar para secuenciar los sucesos.
Si un mensaje se procesa satisfactoriamente, los sucesos de supervisión generados tienen un conjunto de valores de contador contiguos, que van aumentando, que empieza en 1 y que se ha asignado en el momento en que se crea el suceso. Si un mensaje falla y se retrotrae, es posible que haya espacios en la secuencia del contador. Los valores que faltan son aquellos que se utilizan para los sucesos generados como parte de la unidad de trabajo del flujo de mensajes que se ha retrotraído.
<?xml version="1.0" encoding="UTF-8"?>
<wmb:event xmlns:wmb=http://www.ibm.com/xmlns/prod/websphere/messagebroker/6.1.0/monitoring/event>
<wmb:eventPointData>
<wmb:eventData wmb:eventSourceAddress="MQInput1.terminal.in"
wmb:eventSchemaVersion="6.1.0.3" wmb:productVersion="7000">
<wmb:eventIdentity wmb:eventName="MQInput event"/>
<wmb:eventSequence wmb:creationTime="2001-12-31T12:00:00+01:00" wmb:counter='2'/>
<wmb:eventCorrelation wmb:localTransactionId="123"
wmb:parentTransactionId="456"
wmb:globalTransactionId="789"/>
</wmb:eventData>
<wmb:messageFlowData>
<wmb:broker wmb:UUID="d53122ae-1c01-0000-0080-b1b02528c6bf"
wmb:name="myBroker"/>
<wmb:executionGroup wmb:UUID="d43122ae-1c01-0000-0080-b1b02528c6bf"
wmb:name="default"/>
<wmb:messageFlow wmb:UUID="e6d224ae-1c01-0000-0080-9100cd1a61f7"
wmb:name="myMessageFlow" wmb:threadId="4201"
wmb:uniqueFlowName="myBroker.default.myMessageFlow"/>
<wmb:node wmb:nodeLabel="MQInput1" wmb:nodeType="ComIbmMqInputNode"
wmb:terminal="in" wmb:detail="MYMESSAGEFLOW.IN"/>
</wmb:messageFlowData>
</wmb:eventPointData>
<wmb:applicationData xmlns="">
<wmb:simpleContent wmb:name="invoiceNo" wmb:targetNamespace=""
wmb:dataType="string" wmb:value="567"/>
<wmb:complexContent wmb:elementName="customerName" wmb:targetNamespace="">
<customerName>
<firstName>Steve</firstName>
<lastName>Bloggs</lastName>
</customerName>
</wmb:complexContent>
</wmb:applicationData>
<wmb:bitstreamData>
<wmb:bitstream wmb:encoding="base64Binary">TUQgIAIAAAAAAAAACAAAAP////8AAAAAIgIAALUBAAAgICAgICAg
IAAAAAAAAAAAQU1RIFFNMSAgICAgICAgIHo640ggABsHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgICAgICAgICAgI
CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFNMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC
Ag</wmb:bitstream>
</wmb:bitstreamData>
</wmb:event>
Cuando se emite un suceso, los campos del suceso se crean utilizando la información proporcionada por las propiedades de supervisión del flujo de mensajes, o un servicio configurable de perfil de supervisión si se ha aplicado uno al flujo de mensajes. A cualquier campo de suceso que no se especifique de forma explícita se le otorga un valor predeterminado como se muestra en la tabla.
Campo en suceso | Valor predeterminado |
---|---|
eventData/@wmb:eventSourceAddress | Ningún valor predeterminado; debe proporcionar esta información. |
eventData/@wmb:eventSchemaVersion | 6.1.0.3 |
eventData/@wmb:productVersion | 7000 |
eventData/eventIdentity/@wmb:eventName | El valor predeterminado se deriva de @eventSourceAddress |
eventData/eventSequence/@counter | El contador se establece en 1 para el primer suceso y emitido, y aumenta en 1 para cada suceso posterior. |
eventData/eventSequence/@creationTime | Fecha y hora en que se ha creado el suceso. |
eventData/eventCorrelation/@localTransactionId | Identificador exclusivo generado. |
eventData/eventCorrelation/@parentTransactionId | No hay valor predeterminado. A menos que haya establecido este valor, se utiliza una serie vacía. |
eventData/eventCorrelation/@globalTransactionId | No hay valor predeterminado. A menos que haya establecido este valor, se utiliza una serie vacía. |
messageFlowData/broker/@name | Nombre del intermediario. |
messageFlowData/broker/@UUID | UUID del intermediario. |
messageFlowData/executionGroup/@name | Nombre del grupo de ejecución. |
messageFlowData/executionGroup/@UUID | UUID del grupo de ejecución. |
messageFlowData/messageFlow/@name | Nombre del flujo de mensajes. |
messageFlowData/messageFlow/@UUID | UUID del flujo de mensajes. |
messageFlowData/messageFlow/@uniqueFlowName | Una serie compuesta de los nombres del intermediario, grupo de ejecución y flujo con el formato: nombreIntermediario.nombreGrupoEjecución.nombreFlujo |
messageFlowData/messageFlow/@threadId | Id de hebra del flujo de mensajes. El formato depende de la plataforma. |
messageFlowData/node/@nodeLabel | Etiqueta del nodo que ha emitido el suceso. |
messageFlowData/node/@nodeType | Tipo del nodo que ha emitido el suceso. |
messageFlowData/node/@nodeDetail | Información opcional sobre el nodo.
|
applicationData | Ningún valor predeterminado; se omite si no se proporciona. |
bitstreamData | Ningún valor predeterminado; se omite si no se proporciona. |