Hi everyone
We are in the process of consolidating our different monitoring tools into zabbix. The process is going nicely, so far I've had no issues except for the following, zabbix is an amazing tool. I'm a bit stuck with this one though:
We are a (very big) steel production company and make extensive use of MSMQ. We have a custom monitoring tool running to keep an eye on the important queues and I'm trying to come up with a way to implement this in zabbix. The thing I'm having issues with is determining when a queue has become stuck. I've read this thread but so far I haven't been able to figure it out how one could do this easily. As detailed in the linked thread, our issue is that sometimes a queue has an increasing amount of messages waiting and takes a long time to process them all, this means that during this time the queue depth would only increase. This makes monitoring using message count a bit unreliable because increasing count for a long time, doesn't always mean the queue is stuck. Ideally I would like to implement a check that can determine if there are still messages outgoing. I'm not well-versed in MSMQ so this makes it quite a challenge for me. One potential method I've come up with is to enable journaling on the queues and monitor the count of the journaling queue, if it doesn't increase over a period of time, the queue is stuck, or at least that's my interpretation with my limited knowledge
Does anyone have any (better) suggestions, like say for instance a method to monitor the number of outgoing messages over time T for a specific queue (I know about the performance counter messages / sec for the MSMQ service but that doesn't say if a queue is stuck, just whether or not the entire MSMQ service is stuck)
Thank you in advance!
BB
We are in the process of consolidating our different monitoring tools into zabbix. The process is going nicely, so far I've had no issues except for the following, zabbix is an amazing tool. I'm a bit stuck with this one though:
We are a (very big) steel production company and make extensive use of MSMQ. We have a custom monitoring tool running to keep an eye on the important queues and I'm trying to come up with a way to implement this in zabbix. The thing I'm having issues with is determining when a queue has become stuck. I've read this thread but so far I haven't been able to figure it out how one could do this easily. As detailed in the linked thread, our issue is that sometimes a queue has an increasing amount of messages waiting and takes a long time to process them all, this means that during this time the queue depth would only increase. This makes monitoring using message count a bit unreliable because increasing count for a long time, doesn't always mean the queue is stuck. Ideally I would like to implement a check that can determine if there are still messages outgoing. I'm not well-versed in MSMQ so this makes it quite a challenge for me. One potential method I've come up with is to enable journaling on the queues and monitor the count of the journaling queue, if it doesn't increase over a period of time, the queue is stuck, or at least that's my interpretation with my limited knowledge
Does anyone have any (better) suggestions, like say for instance a method to monitor the number of outgoing messages over time T for a specific queue (I know about the performance counter messages / sec for the MSMQ service but that doesn't say if a queue is stuck, just whether or not the entire MSMQ service is stuck)
Thank you in advance!
BB