WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Eventos de Correlação e Monitoramento

Um aplicativo de monitoramento utiliza atributos de correlação para identificar os eventos que pertencem à mesma transação de negócios.

Uma transação de negócios pode ser qualquer uma dos seguintes cenários:

Três atributos de correlação estão disponíveis para você usar em seus eventos: correlacionador local, correlacionador pai e correlacionador global. Os usos exatos dos atributos de correlação variam dependendo dos requisitos. Por exemplo, um aplicativo pai pode transmitir seu identificador de transação para o fluxo de mensagens filho (talvez em um cabeçalho) para que o fluxo de mensagens filho possa relatá-lo no evento como um correlacionador pai.

Cada evento de monitoramento emitido pode conter um correlacionador local, um correlacionador pai e um correlacionador global. Informações de correlação será colocada nos seguintes atributos de evento:
wmb:eventPointData/wmb:eventCorrelation/@wmb:localTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:parentTransactionId
wmb:eventPointData/wmb:eventCorrelation/@wmb:globalTransactionId

É possível especificar informações de correlação quando você configura o evento.

Se você não especificar nenhuma informação de correlação quando configurar seus eventos, nenhum atributo de correlação será usado.

Se você especificar as informações de correlação, deverá configurar os atributos de correlação a serem usados e a partir de onde eles lerão seus valores. Tipicamente, você precisa especificar as informações da correlação apenas para a primeira origem de eventos no fluxo de mensagens; por padrão, todas as origens de eventos posteriores recuperam o mesmo valor da árvore do ambiente.

As etapas exatas para especificar informações de correlação dependem de se você está usando as propriedades de monitoramento ou um perfil de monitoramento para configurar seus eventos, mas o princípio é o mesmo para ambas as técnicas:
Correlacionador Local

Se você desejar reutilizar o correlacionador local a partir da árvore Ambiente, especifique Automático. Se não houver ainda nenhum correlacionador, um novo valor único será gerado e salvo na árvore Ambiente.

Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor de correlacionador exclusivo para esta chamada do fluxo de mensagens. O valor extraído é salvo na árvore Ambiente como o correlacionador local.

Correlacionador Pai

Se você desejar reutilizar o correlacionador pai da árvore Ambiente, especifique Automático. Se ainda não existir nenhum correlacionador pai, não será utilizado nenhum correlacionador pai.

Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor adequado para o correlacionador pai. O valor extraído é salvo na árvore Ambiente como o correlacionador pai.

Correlacionador Global

Se você desejar reutilizar o correlacionador global a partir da árvore Ambiente, especifique Automático. Se ainda não existir nenhum correlacionador global, não será utilizado nenhum correlacionador global.

Se você desejar usar um valor contido em um local na mensagem, especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens. Assegure que o local especificado contenha um valor adequado para o correlacionador global. O valor extraído é salvo na árvore Ambiente como o correlacionador global.

Quando um valor do correlacionador tiver sido configurado, ele será salvo na árvore Ambiente. Fontes de eventos posteriores podem reutilizar o valor salvo especificando Automático. Não há necessidade de usar o mesmo XPath em todas as origens de eventos de seu fluxo de mensagens e fazer isso pode afetar, de forma adversa, o desempenho.

Os locais da árvore Ambiente utilizados para salvar correlacionadores dos eventos posteriores são:

Environment.Monitoring.EventCorrelation.localTransactionId       
Environment.Monitoring.EventCorrelation.parentTransactionId       
Environment.Monitoring.EventCorrelation.globalTransactionId 

 

Os seguintes locais na árvore de mensagens normalmente contém valores que podem ser utilizados como correlacionador:
$Root/MQMD/MsgId
$Root/MQMD/CorrelId
$Root/JMSTransport/Transport_Folders/Header_Values/JMSMessageID
$Root/JMSTransport/Transport_Folders/Header_Values/JMSCorrelationID
$LocalEnvironment/Destination/HTTP/RequestIdentifier
$LocalEnvironment/Wildcard/WildcardMatch
Dica: Se os três correlacionadores disponíveis não forem suficientes, você poderá configurar o evento para extrair outros campos de correlação da mensagem e colocá-los na seção wmb:applicationData/wmb:simpleContent do evento.
Dica: O nó Collector e o nó AggregateControl não preservam a árvore Ambiente para nós posteriores no fluxo de mensagens. Se você desejar usar o mesmo valor de correlacionador posteriormente no fluxo, assegure que o valor do correlacionador esteja disponível na árvore de mensagens e que a primeira fonte de eventos após o nó Collector ou AggregateControl especifique o local do correlacionador fornecendo um XPath para a árvore de mensagens.

Cenários

Cenário 1: Neste cenário, todos os três correlacionadores são usados para monitorar dados iniciados em um processo externo. Vários fluxos de mensagens transformam os dados.
  • O campo globalTransactionID contém um identificador do cabeçalho da mensagem ou da carga útil. Este identificador correlaciona eventos do processo externo e do WebSphere Message Broker.
  • O parentTransactionID correlaciona eventos no WebSphere Message Broker de diferentes fluxos de mensagens.
  • O localTransactionID correlaciona eventos do mesmo fluxo de mensagens.
Cenário 2: Neste cenário, o campo parentTransactionID é usado para correlacionar mensagens de pedido e resposta entre dois fluxos de mensagens:
  • O fluxo Request envia um pedido purchaseOrder para um aplicativo externo para processamento.
  • O fluxo Reply recebe uma resposta de confirmação do aplicativo externo quando o purchaseOrder tiver sido processado.

É necessário correlacionar o pedido e respostas pertencentes à mesma ordem de compra. Isto pode ser feito configurando o parentTransactionID como um campo em purchaseOrder, como um purchaseOrderID, que está disponível no pedido e na resposta.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:51


Tópico GeralTópico Geral | Versão 8.0.0.5 | ac60389_