DX Application Performance Management

Expand all | Collapse all

Is there a way to get information out of a JMS Header to use within MQ Monitoring?

  • 1.  Is there a way to get information out of a JMS Header to use within MQ Monitoring?

    Posted 03-25-2016 08:32 AM

    We use the EP Agent for MQ Monitoring and in general alert only on queue depths exceeding their threshold. An application group has asked whether we can distinguish which system is having the issue when messages get placed in an error queue.

     

    Scenario:

    Our New Service is going to start servicing multiple consuming systems that will need to be concerned if their message error out.  But we only have one error queue which all consuming systems share.  We’ll be creating a custom JMS Header like “SourceSystem=App1”, “SourceSystem=”App2” etc to differentiate the errors by system. If an alert could be set up like “IF message count WHERE SourceSystem=App1 > 5 THEN send alert” we could notify the right systems.

     

    I'm pretty sure we aren't able to see anything other than counts, but thought I'd pose the question to be sure. Thanks in advance for any information you can provide.

     

    Cathy Wentworth



  • 2.  Re: Is there a way to get information out of a JMS Header to use within MQ Monitoring?

    Broadcom Employee
    Posted 03-25-2016 06:09 PM

    You need to write a custom tracer for this. This tracer will do the following

     

    1. Intercept all JMS incoming and outgoing calls

    javax.jms.MessageProducer.send(), javax.jms.TopicPublisher.publish(), javax.jms.QueueSender.send(), javax.jms.MessageListener.onMessage(), javax.jms.MessageConsumer.receive()

     

    2. Read JMS Message Header and post metrics to SourceSystem|App<N>:Errors Per Interval if the key matches "SourceSystem" 

     

    Thanks,

    Abhijit



  • 3.  Re: Is there a way to get information out of a JMS Header to use within MQ Monitoring?

    Posted 03-28-2016 09:26 AM
      |   view attached

    Thank you for the information. I don’t think this is what I am looking for as Errors per Interval picks up all errors for an application. I am just looking for the count of error messages that go to a specific MQ queue. I probably failed to mention that our MQ Monitoring is on a completely separate system than our java agents so the only things we see in the MQ Monitor system are MQ queue related.

     

    Thank you,

    Cathy



  • 4.  Re: Is there a way to get information out of a JMS Header to use within MQ Monitoring?

    Broadcom Employee
    Posted 03-28-2016 09:33 AM

    Hi Cathy

     

    Through MQMonitor , you can find out the number of messages on a specific queue. Are you saying that on that specific queue , we might have some non-error messages as well ?

     

    Thanks,
    Abhijit



  • 5.  Re: Is there a way to get information out of a JMS Header to use within MQ Monitoring?

    Posted 03-28-2016 10:51 AM

    Hi Abhijit,

     

    No, all of the messages in that specific queue are error messages – but we don’t see information on what system that message came from. All we see are counts right now. We do not use the message broker properties – is that where we would find the information you were talking about? If so, I guess I have some research to do!

     

    Cathy