Monitoring Exchange 2013 Queue SNMP?

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Tinus
Posts: 2
Joined: Sun Feb 16, 2014 10:12 am

Monitoring Exchange 2013 Queue SNMP?

Post by Tinus »

Recently i contacted nagios and they advised me to create a forum topic, so here goes.

We recently had some issues that mails were stuck in our Exchange 2013 queue but we only discovered that when we went to search for the problem. I would like to be able to monitor my Exchange 2013 Queue but i have no idea what would be the best way of doing so. Could anyone help me out and tell me what would be the best way of monitoring it?.

Thanks,
Tinus
cbeattie
Posts: 19
Joined: Fri Oct 04, 2013 7:12 am

Re: Monitoring Exchange 2013 Queue SNMP?

Post by cbeattie »

Exchange has a number of queues, so you'll have to determine which ones you want to monitor for yourself. You can monitor Exchange queues using Windows performance counters. We are using Exchange 2010, so the names may have changed, but these are the queues we monitor:

Aggregate Delivery Queue
Active Remote Delivery Queue
Submission Queue Length
Retry Remote Delivery Queue
Poison Queue (This one has the best name, in my opinion)

Then, define a service check and apply it to the appropriate Exchange servers. In Exchange 2010, I check the hub servers. The specific check command syntax will have to be modified for whichever Nagios agent you have installed on your Exchange server. We use NSClient++. Be careful about escaping the backslashes in the performance counter's path. The setup we use also has an issue where the check returns a zero even if I query a counter incorrectly (typo in the name, for example), so I have to also be careful to distinguish a good query that happens to be at zero (maybe it's zero quite often) and a bad query that is always at 0.

Code: Select all

define service {
	use			standard_service
	hostgroup_name		exchange10hub
	service_description	Active Remote Delivery Queue Length
	check_command		check_nt_counter!"\\MSExchangeTransport Queues(_total)\\Active Remote Delivery Queue Length","Queue Length: %.f"!500!1000
}
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Monitoring Exchange 2013 Queue SNMP?

Post by slansing »

Awesome, thanks for the help cbeattie!
Tinus
Posts: 2
Joined: Sun Feb 16, 2014 10:12 am

Re: Monitoring Exchange 2013 Queue SNMP?

Post by Tinus »

Im sorry i havent had any time to look into this any sooner, Thanks cbeattie however i am unable to make it work. Is there a way i could perhaps contact u for additional information if you are willing and have the time?
tmcdonald
Posts: 9117
Joined: Mon Sep 23, 2013 8:40 am

Re: Monitoring Exchange 2013 Queue SNMP?

Post by tmcdonald »

cbeattie kinda comes and goes, looking at his post history. He might not be back for a while.

In the meantime, can you give us some specifics?

What are the check commands and definitions you have tried?
Does you get any errors when you run them?
What agent do you have installed on the Windows machine?
Former Nagios employee
madmax
Posts: 1
Joined: Thu Nov 30, 2017 8:01 am

Re: Monitoring Exchange 2013 Queue SNMP?

Post by madmax »

Maybe a late response, but I just stumbled on this forum and felt I had to give some input.

We run Exchange 2010 with NSclient++ installed and have Nagios checking queues with check_nt and performance counters like above.

Example config as follows:

We have a command like this:

# Check performance parameters windows
# 'check_nt_counter' command definition
define command{
command_name check_nt_counter
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p xxxxx -s $ARG1$ -v $ARG2$ $ARG3$
}

Exchange xxxxx with whatever port you use.
$HOSTADRESS$ picks up adress to host from the defined host.
$ARG1$ picks upp password and the rest picks up parameters. (see below)

And for checking we use someting like this (fake groups and names on this example):

define service {
use mail-service
host_name servername
contact_groups contactgroup
service_description Retry Mailbox Delivery Queue Length
check_command check_nt_counter!aPassword!COUNTER!-l "\\MSExchangeTransport Queues(_total)\\Retry Mailbox Delivery Queue Length","Queue Length: %.f" -w 20 -c 100
}

This one checks the MSExchangeTransport Queues(_total) parameter having 20 as warning and 100 as critical.

Of course one have to define the host and so on :geek:

Open the Perfornamce monitor(open run and type perfmon) on the server and find what you wanna check, is't easy peacy!
There one can find almost anything to monitor(anything reported to performance monitor)
This is probably portable to any windows version.

Note: Later versions of NSclient++ does not have the check_nt on by default, so check that check_nt works before giving up ;)

Better late than never?

Regards,
Pontus
kyang

Re: Monitoring Exchange 2013 Queue SNMP?

Post by kyang »

Thanks for the response, but since this thread is pretty old and the OP hasn't responded since then.

I will be closing this thread.
Locked