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.
Microsoft .Net 3.5 sp1
Working EV installation
-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.
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
test something test
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.
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
Only one Event will get generated for each queue that has reached its threshold.
There will be one xml file with all the queues that have reached their threshold.
This is the same as the xml except it is a flat file will all the information regarding queues over their thresholds.