According to its homepage, Nagios is the industry standard in IT infrastructure monitoring. While is a nice slogan there doesn’t exist any kind of standard for network monitoring. What you can say about Nagios though is that it has a huge install base. Since it is an open source project which has been around since 1999 there are a lot of plugins and addons to the project. There’s also forks and commercial products. While some people like Nagios while others don’t. One thing you can say about it is that since so many people use the product, there’s always help to be found online.
The name Nagios can refer to different things, the whole product or just a subset. Nagios Core is the main part of Nagios which in reality is the framework which everything is based on. The core will handle the configuration and scheduling of checks. The core itself is basically a collection of functions. Using just the core you can’t monitor anything for that you need plugins, such as check_ping to send icmp echos to your host. By configuring the core you setup which hosts to monitor. What services on those hosts. How to group your hosts and your services. What dependencies your services and hosts have to each other. Who Nagios should contact if a check fails and who to escalate to if the problem doesn’t get fixed.
There are thousands plugins for SNMP, plugins to monitor Windows servers as well as Linux servers. Just using the basic plugins will take care of most of your monitoring needs, in addition to those there are literally thousands of plugins developed by the community. Here at Networklore there is the Nelmon collection of plugins. If you are missing a plugin it’s fairly easy to develop a plugin yourself. You can write them in any language you want. Most of the time you don’t have to write a thing, just search for what you want to do + nagios plugin.
The Nagios GUI allows you to see what is happening in your network. Older versions had quit an ugly webdesign and there came along quite a few other skins. Some of them are just eye candy, which might or might not look better then the current design. Others like Thruk or Check_MK Multisite are more thought through and actually add value.
Once you’ve gotten to know the basics of Nagios there’s a lot of additional addons you might want to consider. Like Nagvis to show network status on maps. There’s Merlin for redundancy and high availability and a lot more.
If you’ve never used Nagios before there can be a bit of a learning curve. Part of the criticism directed to Nagios is that is is hard to use. This reputation isn’t entirely undeserved. However I think this is mainly due to the configuration. Today there exists a lot of GUI alternatives to handle your configuration. If you just want to get started using a GUI is probably a good idea. As you get more advanced I think you will be better off to handle the configuration automatically through Ansible or Puppet.