cancel
Showing results for 
Search instead for 
Did you mean: 
Wayne_Humphrey
Level 6
Partner Accredited Certified

MSMQ Monitor actively checks Microsoft MSMQ and if any defined Queue is over the defined threshold a warning is generated. Queues that reach their threshold can be logged into the Event Log, XML or Flat file. You can integrate your current Monitoring system to check for these alerts.

The best thing about MSMQ Monitor is that it is also completely free. If you have any questions please do not hesitate to contact us.

Prerequisites:

 Microsoft .Net 3.5 sp1
 Working EV installation

Command-line options:
-f, --filter=VALUE The path to monitor filter specification.
-t, --threshold=VALUE The default threshold for all queues not matching any filter.
-g, --generate=VALUE Name of configuration file to generate.
-o, --output=VALUE Name of output file, if output type is FLAT or XML. If EVENT then it will be the event name.
-a, --as=VALUE Output type (FLAT|XML|EVENT), default is FLAT
-i, --include_valid Include queues with status equal to Ok to report.
-h, --help Display Help.

Examples:
MSMQMonitor -t 4000 -g MSMQMonitor.xml
Generate a customer configuration file called MSMQMonitor.xml with a threshold of 2000 messages for each Queue.

MSMQMonitor -f MSMQMonitor.xml -a EVENT
Check all Queues specified in MSMQMonitor.xml and report any queues over there threshold to the Event Log.

MSMQMonitor -a XML -o OverThreshold.xml
Check all Queues specified in the default xml and report any queues over there threshold to OverThreshold.xml.

MSMQMonitor -t 3000 -a EVENT
Check all Queues and if any are over the threshold of 3,000 report them into the Event Log.

XML Configuration File

To generate a config file you can use the –g switch but it will need to be used in conjunction with –t to set the default threshold.

The config should be edited and custom thresholds set on different queues. Please see the "Best Practice" for a detailed description on what should be use for thresholds.

Wildcards can be used in the config file.
? – For any single character.
* – For 0 to n number of any characters

Wildcard Example:

patterns/value

test?

test?test

test*

test*test

Test

False

False

True

False

test1

True

False

True

False

test2test

False

True

True

True

test something test

False

False

True

True

If you wish to set a threshold on all retrieval tasks for all Exchange Servers you could use:

So if you wish to have a threshold of 250 on all Exchange Mailbox Tasks for the a3 queue and a threshold of 0 for the rest you could use this:
 

As you can see the two queues have been picked up and are marked as they have exceeded there threshold.

Logging

If one of the Queues goes over the set threshold there are three options for logging:

Event Log – Gets written to the application log.
XML File – If no output filename specified it will get generated in the location from where the application is run from.
Flat LOG File – If no output filename specified it will get generated in the location from where the application is run

EVENT

Only one Event will get generated for each queue that has reached its threshold. 

XML

There will be one xml file with all the queues that have reached their threshold.

LOG

This is the same as the xml except it is a flat file will all the information regarding queues over their thresholds.

GlassHouse EVTools MSMQ Monitoring report (http://www.evtools.net/).

Number of private queues located: 23.
Queue 'private$\enterprise vault exchange mailbox task for star01 100219165123 a3' with 266 messages. Status: Exceed threshold value 250!
Queue 'private$\enterprise vault exchange mailbox task for star01 100219165123 a7' with 1 messages. Status: Exceed threshold value 0!
Queue 'private$\enterprise vault archive agent admin queue' with 0 messages. Status: Threshold not defined!

Valid queues: 0
Queues not configured: 1
Queues Exceed threshold: 2
Queues Failed to process: 0

Comments
Rob_Wilcox1
Moderator
Moderator
Partner    VIP   

Nice .. I must give this a whirl on one of my test labs and see what I get.

Version history
Last update:
‎10-11-2010 07:18 AM
Updated by: