Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We're expanding our Nagios 3 setup, and are frequently coming across new NRPE or general Nagios plugins to test our existing infrastructure. This is in dribs and drabs though - it would be useful to get a summary of plugins that the Nagios users out there most value.

Please list a single plugin per post, preferably with a short description of why you love it and a link to the MonitoringExchange or plugin developer site. This way folk can vote for plugins already listed and we can see them in preferential order.

It would be better to not list plugins that others have already mentioned, for the same reason. If you have more to add regarding a plugin someone else has listed, please leave a comment to their answer.

Thanks!

share|improve this question

closed as not constructive by MDMarra, Chris S Oct 12 '12 at 17:38

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

24 Answers 24

In terms of flexibility, you can't beat the snmp plugin. It's behind nearly every check I run, and if that isn't, the TCP connect is.

share|improve this answer
    
snmp check is looking pretty good for the favourite at this stage Matt (and others :) - do you have any special techniques that you utilise with it? My main beef with net-snmpd at the moment is the complexity of the 'new' extend-rather-than-exec functionality - does check_snmpd handle this well? –  Mike Pountney Jun 6 '09 at 1:38
add comment

Our most useful plugins are one which test our higher application functionality. For example, we have tests that try to log into the website and tests that try to send an email and check check a pop3 mail box to make sure it arrived. If any of those things break, then we can use lower level checks to see what is wrong. Is the pop3 dead? the MTA, the MDA? The database server? the datastore?

share|improve this answer
    
Wotcha Dave ;) Do you have any tips on how you connect the higher and lower level checks? For example, how do you create a dependency between sending an email and checking the pop3 box to see it's there? Is it possible to do this purely via Nagios, or are you using your own logic? –  Mike Pountney Jun 6 '09 at 1:49
    
Are you really up at 4am? :) Nagios has service dependencies, so you can make your email check depend on the smtp, MDA and POP3 checks, but this just means that the email check doesn't alert if any of the lower level ones do. Thi gets a lot harder if you have a cluster of servers providing a service as there's no way in nagios to say "don't alert us for this service if all these services are dead". Usually we just rely on knowing how the system fits together to know where problems lie. –  David Pashley Jun 6 '09 at 4:49
add comment

WebInject is very useful for monitoring Web sites if you want to go beyond the check_http functionality; it can handle login pages and perform multiple steps in one Nagios check.

share|improve this answer
add comment

Honestly, the one that does the most for me is plain old check_disk. Nothing makes me feel quite so special, in that "stop eating the paste" way, as having a server that was running fine yesterday blow up, running around like mad and then finding out it's because I let the disks fill up. Never having to do that again in my life is worth a lot to me.

(And don't forget to check the inodes, too, kids watching at home.)

share|improve this answer
add comment

I find check_nfsmount is useful on many of my servers.

Edit: I would also vote up check_snmp if I had the rep to do that. It is in use on all of my servers, plus the logic behind check_hpjd which I have running on all of my HP Printers.

share|improve this answer
add comment

My most useful one is one that I wrote myself that checks the SSL certificates on our webservers so I can keep an eye on expiry.

share|improve this answer
    
Is it posted anywhere? –  RainyRat Jun 5 '09 at 15:22
4  
check_http -H www.verisign.com -C 14 –  wittwerch Jul 22 '09 at 13:31
add comment

check_nt (talking to NSClient or something similar on the subject) lets you interrogate WMI on a Windows box - if there's a performance counter for it, you can now monitor it with Nagios.

share|improve this answer
    
And you can monitor all your services that are running eg check that exchange or sql server are running –  Funky Si Jun 5 '09 at 15:46
add comment

PNP (pnp4nagios.org) - generates RRD-style graphs for any Nagios check that outputs perf. data. Awesomely useful, especially when trying to convince the devs that that newly-installed service really is the cause of all those CPU spikes...

share|improve this answer
add comment

This is a bit of a shameless plug, but if you're monitoring Windows machines using NRPE, NagiosPluginsNT seems to work pretty well. ;-)

share|improve this answer
add comment

I would agree that check_snmp is an extremely valuable plugin; it can be used for almost any purpose and everything shows up in SNMP generally speaking. SNMP is available on systems as diverse as HP-UX, Tru64, and OpenVMS with no additional installations.

Another (not quite a) plugin that is very useful is NagiosGrapher; I have my experience in an article that explains more, but also so that others can use it without any difficulties that I experienced.

One last: NSCA. You can write a Perl or Ruby or ksh script and feed the output into NSCA.

Between the flexibiities of NSCA and SNMP combined with the reporting of NagiosGrapher, this should expand your monitoring very well.

share|improve this answer
add comment

I like check_http to check my websites are still working, I have expanded it to check that certain text can be found on it after one time my hosting company decided to serve blank pages and my nagios checks all passed as the server was still running.

share|improve this answer
add comment

The most useful for me is one i wrote for my needs: nagios-check-webpage

It downloads an entire page with js/css/images, with multi-threads and gzip (save lot of bandwith), like real navigators.

share|improve this answer
    
+1 Indeed, that plugin is awesome. Using it for app. 4 months now. –  Henk Jun 25 '11 at 9:40
add comment

Number one is NagiosWSC It lets you do agentless monitoring of Windows hosts over WMI

share|improve this answer
    
agentless, but with one big single point of failure, ugh. –  Toto Jun 24 '09 at 18:56
add comment

One that checks the actual latency to pull up websites, and scans it for a 'status:ok' hidden tag. It caught a problem with our squid cache and a language set problem that only happened once every few nights at 3am when someone hit the site with a browser that requested a turkish language internationalized version of the page.

Seriously, set up every type of monitoring that you possibly can. The weird bugs and errors that you can catch in a complex environment with good monitoring is just amazing. Also, log your performance data to an rrd database and display it in Cacti.

share|improve this answer
add comment

One of the most important plugins is the one I've written myself: check_rdiff_backup. I do backups overseas, and Nagios tells me if and when something happens to them.

If you're looking for rdiff-backup plugin, there's one that you can find on Google.

share|improve this answer
1  
Do you know of one for rsnapshot? –  Rory Jun 19 '09 at 13:11
add comment

check_curl for me has been a godsend. Really made a difference for flexibility with doing website checks, and also found it a lot easier than webinject, with almost all the same functionality that I needed

share|improve this answer
add comment

Not strictly a plugin, but getting twurl ( https://github.com/marcel/twurl ) to work as a means for setting off alerts was an absolute godsend. No need for SMS alerts and just satisfying all round.

Details on how it was done: Nagios alerts using twitter (with twurl) not firing - apologies for the shameless self promotion ;)

Other things...

Check_diskio ( https://trac.id.ethz.ch/projects/nagios_plugins/wiki/check_diskio ) has been incredibly useful in conjunction with the standard CPU load and process number checks in determining when/if IO is bound, and in what way. Using nagiosgraph ( http://exchange.nagios.org/directory/Addons/Graphing-and-Trending/nagiosgraph/details) makes it even easier.

share|improve this answer
add comment

Well, the simple, plain and default ones - check_disk, check_load, check_http are perfect enough for most of the cases(mostly we wanna know whether servers, websites are up and running, right)

and other than check_disk and check_swap, there is a check_memory http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_memory/details which gives the memory usuage...

share|improve this answer
add comment

Centreon definently for graphs and all the Nagios features !

share|improve this answer
add comment

check_multiprocs used with check_nrpe link text

share|improve this answer
add comment

This is kind of cheating, because I have done a lot of development on it, and it actually checks lots of different things at once, but the most useful nagios 'plugin' for me is Resmon. It is an agent you run on the server itself, and nagios connects over http to perform the checks. I guess it's similar to what nrpe does, but with a number of different design decisions.

share|improve this answer
add comment

I had used two plugins .. one was to provide XML feed of the alerts, and other to send alerts via twitter. Both were useful (apart from the regular plugins). if you count NRPE as a plugin, then add that too.

share|improve this answer
add comment

check_apt is really cool and reminds me about updating my Debian servers.

share|improve this answer
add comment

Recently I started using the check_multi plugin, using a patched / enhanced NRPE for large output (because of HTML and performance information).
It's almost "one plugin to rule them all"! ;-)

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.