É possível configurar o WebSphere Message Broker para emitir um evento de monitoramento (um documento XML) quando algo interessante acontecer. Geralmente, os eventos são emitidos para suportar o monitoramento de transações, a auditoria de transações e o monitoramento de processos de negócios. O evento XML está em conformidade com o esquema de evento de monitoramento WMBEvent.xsd.
É possível localizar o arquivo de esquema WMBEvent.xsd na pasta WBMonitorEventsProject da amostra do WebSphere Business Monitor ao importá-lo para a sua área de trabalho. O arquivo WMBEvent.xsd também está disponível no catálogo de mensagens padrão. Para acessar o esquema do WebSphere Message Broker Toolkit, clique em .
Um evento de monitoramento pode também conter os seguintes itens:
Para ativar o software que processa os eventos, como o WebSphere Business Monitor, a sequenciá-los corretamente, um registro de data e hora ISO 8601 e um atributo de contador são produzidos. O atributo do contador está no elemento EventSequence do evento de monitoramento. Este contador começa em 1 para o primeiro evento produzido pelo processamento de uma mensagem (normalmente o evento transaction.Start) e é incrementado para cada evento subsequente produzido. Ele é reconfigurado como 1 no início da próxima mensagem. A hora de criação e o contador são sempre produzidos em todos os eventos de monitoramento. O software que processa os eventos pode escolher qual campo, ou uma combinação dos dois, usar para sequenciar os eventos.
Se uma mensagem for processada com êxito, os eventos de monitoramento gerados terão um conjunto contíguo, aumentado de valores equivalentes, começando em 1 e designado na hora de criação do evento. Se uma mensagem falhar e for retrocedida, poderá haver intervalos na sequência do contador. Os valores ausentes são os usados para eventos que foram produzidos como parte da unidade de trabalho do fluxo de mensagens que foi retrocedida.
<?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>
Quando um evento é emitido, os campos no evento são criados utilizando as informações fornecidas pelas propriedades de monitoramento do fluxo de mensagens, ou um serviço configurável de perfil de monitoramento se um tiver sido aplicado ao fluxo de mensagens. A qualquer campo de evento que não é explicitamente especificado é delegado um valor padrão como demonstrado na tabela.
Campo no Evento | Valor Padrão |
---|---|
eventData/@wmb:eventSourceAddress | Nenhum padrão; é necessário fornecer esta informação. |
eventData/@wmb:eventSchemaVersion | 6.1.0.3 |
eventData/@wmb:productVersion | 7000 |
eventData/eventIdentity/@wmb:eventName | O padrão é derivado de @eventSourceAddress |
eventData/eventSequence/@counter | O contador é configurado como 1 para o primeiro evento emitido e aumentado em 1 para cada evento subsequente. |
eventData/eventSequence/@creationTime | A data e hora de criação do evento. |
eventData/eventCorrelation/@localTransactionId | Um identificador único é gerado. |
eventData/eventCorrelation/@parentTransactionId | Nenhum padrão. A menos que você configure este valor, será usada uma cadeia vazia. |
eventData/eventCorrelation/@globalTransactionId | Nenhum padrão. A menos que você configure este valor, será usada uma cadeia vazia. |
messageFlowData/broker/@name | O nome do servidor broker. |
messageFlowData/broker/@UUID | O UUID do broker. |
messageFlowData/executionGroup/@name | O nome do grupo de execução. |
messageFlowData/executionGroup/@UUID | O UUID do grupo de execução. |
messageFlowData/messageFlow/@name | O nome do fluxo de mensagens. |
messageFlowData/messageFlow/@UUID | O UUID do fluxo de mensagens. |
messageFlowData/messageFlow/@uniqueFlowName | Uma cadeia composta dos nomes do broker, grupo de execução e fluxo no formato: brokerName.executionGroupName.flowName |
messageFlowData/messageFlow/@threadId | O ID de encadeamento do fluxo de mensagens. O formato depende da plataforma. |
messageFlowData/node/@nodeLabel | O rótulo do nó que emitiu o evento. |
messageFlowData/node/@nodeType | O tipo de nó que emitiu o evento. |
messageFlowData/node/@nodeDetail | Informações opcionais sobre o nó.
|
applicationData | Nenhum padrão; se não tiver sido fornecido, será omitido. |
bitstreamData | Nenhum padrão; se não tiver sido fornecido, será omitido. |