Seeking best practice advice for switch monitoring


I am new to Nagios but thanks to this forum and documentation I have quickly gotten up to speed for servers and printers.
I am stumbling on switches…I want to know if they are up and accomplished that with a ping check, no problem.
I liked what I read on the forum about checking hosts rather than switch ports…suspect thats a can of worms I may not want to open but think I’m of the host over port mindset…with some future consideration for dependencies…but not today.
So I’d like to monitor thresholds on bandwidth usage …and on the routers, in addition to a ping test, I think I do need to know port status and bandwidth.
I’m seeing scripts containing MIBs and OIDs and think I could get the hang of these, also see some discussions that snmpchecks will do what I want and see some talk of maybe some plugins that accomplish what I need. but I’ve not had any luck getting these to work…
I am on CentOS 5.4 using Nagios 3.2.1 installed via the YUM installer. I’ve noticed that my directories are not always where the docu says they will be…suspect thats install method, but maybe I’m missing something? (example…I dont have anything under /usr/local/ and docs often call on /usr/local/nagios/libexec) I am EARLY in the install and nothing is production…I can wipe all and start over if needed
Whats best practice for accomplishing what I’ve mentioned above? If I use scripts, I’m not sure where to place them, the documentation lists directories I dont have and once there, how to I tell Nagios to call on them. Do I need these scripts? Is there a simple snmpcheck or plugin that accomplishes this?
I need to monitor multiple sites and more may be added so group management flexibility is important if that weighs on the answer.
Thanks to anyone who can provide me with some guidance over this bump.
I have read the how to use a .pl script in Nagios post (How to use .pl perl script in Nagios) but the switch/router is having trouble with NRPE! :smiley:


There are a couple of non standard plugins out there for monitoring bandwidth ( is one), then you’d need a graphing solution like nagiosgraph or PNP4Nagios. It will take a while and lots of tries but it will be worth it.
Having to install additional components i’d recommend you go for a source install so you have everything in a single place.
The reason why you don’t have file sin /usr/local/nagios is because every package maintainer for a distribution decides where he thinks the files best fit the distributions file philosophy /usr, /home, /bin, /sbin or whatever while the documentation (and the source install) start from a single point.

If you can live with a separate graphing system i’d have a look at Cacti while using nagios for alerting. Pity there’s no integration between the two.


Thanks Luca.
Given your response I debated a clean source install but thought I might try and go as far as a I can as is first. Good learning op.
So while main config files are at /etc/nagios…I found my plugsins at /usr/lib/nagios/plugins. Found it by reading posts on here and tracking the $USER1$ path.
So I got my first .pl plugin in , defined the command and service and see it in on the web but while it works on the cli…its returning a error that most google posts point to a permission issue. Trying to track that down and I think I’m golden.
I will be looking to put in Cacti as soon as I can get this working. That plugin you listed looked like its on the money.
Thanks again.
PS…I have to monitor Windows clients, using NSclient++…is that the best option currently?


if you need any windows internals yes… if you need to check an IIS server check_http is enough… it depends on WHAT you need to monitor :slight_smile:


Just a quick followup as a thank-you. I was able to get the working with nagiosgraph. It did take a few tries but believe I have the process down now. Really appreciate the help!