ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » enabling Message broker monitor events

Post new topic  Reply to topic Goto page 1, 2  Next
 enabling Message broker monitor events « View previous topic :: View next topic » 
Author Message
kishoreraju
PostPosted: Fri Jun 19, 2009 12:16 pm    Post subject: enabling Message broker monitor events Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

Hi All,

I have created a sample Message flow with MQinput->Compute->OutNodes to test message broker monitoring capabilites.

I configured Outterminal event source for MQ input node and MQ output nodes.

I deployed the flow to the broker and activated the monitoring by using the below command

mqsichangeflowmonitoring WBRK61_DEFAULT_BROKER -c active -e default -j

I ran the below command to make sure that monitoring is activated.

mqsireportflowmonitoring WBRK61_DEFAULT_BROKER –e default -j

The below is the output

BIP8911I: Monitoring settings for flow 'TestmsgF' in execution group 'default' -
State?: inactive, ProfileName: ''.
BIP8911I: Monitoring settings for flow 'RergisterSub' in execution group 'defaul
t' - State?: inactive, ProfileName: ''
.

I Registed a subscription to the broker to receive all published events by using the bleow code in the broker.


SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR';
SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;
SET OutputRoot.MQRFH2.psc.Command = 'RegSub';
SET OutputRoot.MQRFH2.psc.Topic = '$SYS/Broker/WBRK61_DEFAULT_BROKER/Monitoring/default';
SET OutputRoot.MQRFH2.psc.QName = 'TEST.MONITOR.REQ';
SET OutputRoot.MQRFH2.psc.RegOpt = 'PersAsPub';
SET OutputRoot.MQRFH2.psc.RegOpt = 'FullResp';


When i tested my flow .it is not publishing any event messages on to the topic given in the documentation.

Even i registered a subsription with the topic name $SYS/Broker/# to receive all the publication on broker but no luck.

please suggest me on what have to do to make this working.

Thanks in Advance
Kishore
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jun 19, 2009 3:35 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Check back in the manual. Your command is I believe mqsichangeflowstats.
Might be changemqsiflowmonitoring in V.6.1. It should have a format addendum to tell it to publish to the broker in xml format?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Sat Jun 20, 2009 2:05 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Hmm. Might be worth re-reading your command output:
Quote:
mqsireportflowmonitoring WBRK61_DEFAULT_BROKER –e default -j

The below is the output

BIP8911I: Monitoring settings for flow 'TestmsgF' in execution group 'default' -
State?: inactive, ProfileName: ''.
BIP8911I: Monitoring settings for flow 'RergisterSub' in execution group 'defaul
t' - State?: inactive, ProfileName: ''.
For some reason, monitoring is not enabled for these message flows. That is why you are not seeing any monitoring events being published.
btw, I don't recommend use of the -j parameter on mqsichangeflowmonitoring. Every message flow has a default monitoring profile which instructs it to emit a pair of transactionStart and transactionEnd events. Unless that's what you really want ( unlikely ) I suggest that you specify the message flow name explicitly. If your problems are due to a defect in mqsichangeflowmonitoring, then stopping using the -j flag might also fix this whole problem.

fjb_saper: As you've probably guessed by now, mqsichangeflowmonitoring is the correct command. And it doesn't have a flag to control the format - events are always published as XML messages.
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Mon Jun 22, 2009 5:49 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

Thanks Kimbert,

After changing the configuration according to you it is working fine.but i am having a new issue.

I have configured two events on my flow one is at the begining of the trasaction(MQinput.OutTerminal) with some messagepayload and the other is at the end of the transaction(MQOut.InTerminal) with out anypayload and we are expecting the event messages in same order.

The event messages published are in the same sequential order. The messages without any payload is getting published fisrt.

is there any specific configuration that i need to do we get the events in the right order.


Thanks in advance.
Kishore.
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Mon Jun 22, 2009 6:20 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

Hi

I forgot to add one thing in my previous post. In My flow event sequence is set to creation time.
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Jun 22, 2009 8:07 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

The publishing of events is done on several threads, for performance reasons. The only way to guarantee that events come out in the expected order is to set an environment variable which limits the max number of publishing threads to 1.
However, most receivers of monitoring events will be able to re-sequence out-of-order events. That's why the sequencing field is in there. If you're using WebSphere Business Monitor, you should be able to tell it to use the @creationTime attribute for sequencing ( not the one in the cbe envelope, the one nested inside the xs:any slot of the cbe )
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Tue Jun 23, 2009 10:04 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

Hi Kimbert,

I tried to find the environment variables setting for making no of publishing threads to 1.but i end up with nothing. please provide me if you any info related to this.
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Jun 23, 2009 12:42 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

I can do that, but I would like to know why you need to do this. What is receiving the monitoring events, and why can it not re-sequence them?
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Wed Jun 24, 2009 5:20 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

Thanks for your rersponse,


At this stage we are not using any event monitoring tools. we have an home grown application for auditing/logging purpose which expects all events in sequential order and we are planning to use the same for handling broker events with minimum or no changes to the existing application.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Jun 24, 2009 5:26 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

kishoreraju wrote:
Thanks for your rersponse,


At this stage we are not using any event monitoring tools. we have an home grown application for auditing/logging purpose which expects all events in sequential order and we are planning to use the same for handling broker events with minimum or no changes to the existing application.


The minimum change seems to be "fix it so that it doesn't expect the events in sequential order". That's a pretty optimistic expectation.
Back to top
View user's profile Send private message
kishoreraju
PostPosted: Wed Jun 24, 2009 5:36 am    Post subject: Reply with quote

Disciple

Joined: 30 Sep 2004
Posts: 156

We are planning to add an interface with will transform the WMBevent message to the application specific format. We want to manage the event sequencing with in the broker itself.
Back to top
View user's profile Send private message
kimbert
PostPosted: Wed Jun 24, 2009 7:44 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Thanks for the information. It's helpful to know how these facilities are being used.

You need to set environment variable MQSI_EVENT_COLLECTOR_THREADS to 1. Remember that this variable needs to be set in the broker's environment, not just in the message broker runtime's command window.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed Jun 24, 2009 2:56 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

kishoreraju wrote:
Thanks for your rersponse,


At this stage we are not using any event monitoring tools. we have an home grown application for auditing/logging purpose which expects all events in sequential order and we are planning to use the same for handling broker events with minimum or no changes to the existing application.

Then why not store the events into a database and recall them in the right order for processing. I would not feel too confident about the runtime effect of forcing the event sequencing to be done on the broker. There was a reason they designed it that way and the reason may only have been performance...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
murdeep
PostPosted: Thu Feb 10, 2011 3:46 pm    Post subject: Reply with quote

Master

Joined: 03 Nov 2004
Posts: 211

kimbert wrote:
The publishing of events is done on several threads, for performance reasons. The only way to guarantee that events come out in the expected order is to set an environment variable which limits the max number of publishing threads to 1.
However, most receivers of monitoring events will be able to re-sequence out-of-order events. That's why the sequencing field is in there. If you're using WebSphere Business Monitor, you should be able to tell it to use the @creationTime attribute for sequencing ( not the one in the cbe envelope, the one nested inside the xs:any slot of the cbe )

Unfortunately creationTime is not granular enough in WMB V6 to enable sequencing. Loading the event data into a table and then selecting with an order by on the creationTime will not ensure events are in the correct chronological order since events can and do have the exact same creationTime.

I think IBM has recognized this and added a sequence number field to the event data in V7. They also increased the fraction of second reported from 3 decimal places (milliseconds) to 6 (microseconds).

In V6 setting MQSI_EVENT_COLLECTOR_THREADS=1 is the only way I have been able to ensure events are sequenced in chronological order. If someone has figured some other way I'd be interested in hearing about it.

As well, haven't seen any adverse effects of running MQSI_EVENT_COLLECTOR_THREADS=1......yet.
Back to top
View user's profile Send private message
kimbert
PostPosted: Thu Feb 10, 2011 4:02 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Thanks murdeep - you are correct on all counts. Very useful for the WMB community so thanks for posting your findings.

Quote:
haven't seen any adverse effects of running MQSI_EVENT_COLLECTOR_THREADS=1......yet.
It depends entirely on how many events are generated by the execution group per second, and whether that rate is faster than the rate at which one thread can publish them.
Sounds as if you have a sane policy on monitoring - a policy which recognizes that every event is an extra output message which carries a CPU and I/O cost of its own.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » enabling Message broker monitor events
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.