Overall Satisfaction with Nagios
Nagios is part of our monitoring stack and monitors each server and service in use. All backend engineers use Nagios, when on pager duty and when setting up new services and services.
- Nagios is the gold standard for compatibility; there is a community provided plugin for monitoring almost anything.
- Plugins are easy to write in almost any language - most engineers can put together a Nagios plugin in a short time if they can write a program that runs on a *nix server.
- Check schedules and notifications are flexible, although complex to configure.
- The web interface is complicated and hard to understand for new users.
- The configuration syntax is brittle and breaks in unexpected ways.
- It's very easy to get too many notifications from Nagios. This isn't really a problem due to Nagios itself, because with enough configuration you can stop it from doing this. But too many notifications very quickly leads to Nagios exhaustion in your team, which leads to people ignoring Nagios.
- Service availability and reliability increases from the use of any monitoring software, not limited to Nagios.
- Making Nagios available to every engineer increases their awareness of operations issues.
If you are not a UNIX/Linux shop, don't try to get Nagios into your environment. There are ways of running monitoring agents on Windows hosts but it is needlessly complicated. If you are a UNIX/Linux shop and need to monitor custom things or things that need to be protected behind a firewall, Nagios is a good choice. However, first consider if you can use one of the more modern SaaS monitoring solutions. You'll lose some flexibility but gain in ease of use and team energy spent maintaining Nagios.