Nagios Tutorial for Programmers – 1

If you’re reading this post, then you probably know what Nagios is. It is a good, open-source monitoring solution for most of the needs. Most of the Nagios concept is very straight-forward for system admins. But if you’re rather a programmer then a system administrator some of Nagios concepts may confuse you. You have already looked for what “Passive Check” stands for already! If you’re like me this tutorial is for you.

Please note that this post is rather a learning process than a complete tutorial. But I thought if a concept is hard for me to understand it may be hard for others too.

Nagios in Short

It is a monitoring tool. It can monitor your assets like: servers/clients, services (means server processes on servers). If you want to know what is the current status of your hosts&services, or you want to get notifications as soon as any critical event (such as service interruption) took place on your assets. Nagios CAN monitor hosts&servers behind NAT ( i.e. router/firewall).

There are two versions of Nagios. Even though I’m not quite sure, you have to pay for one version, but there is a free version also. I will cover free version here. I’ve tested paid version, and it is much simpler and better look-and-feel. But if you’re tight on budget, or like to learn scenes behind it, this tutorial is perfect for you.

Nagios Checks

Nagios reports its hosts and services to us. To report their current health or other important metrics, Nagios should “somehow” get their status. Nagios can gather this information using 2 completely different methods.

Active Checks

First method, active checks, is what everybody is familiar with. In active checks Nagios server actively makes connections to hosts&services and runs some scripts/binary files using its Nagios client on the related hosts. It is important to understand that Nagios server is initiating the connection at the active checks. That means you can NOT reach hosts&services behind firewall or NAT if they are not configured to allow Nagios active checks. Checks are executed on the clients (as expected) and results are reported to Nagios server.

Passive Checks

Second method, passive checks, is an enabler actually. This method enables us to monitor hosts&services behind firewalls and routers. In passive checks, connection is initiated from client to Nagios server. This means Nagios server is accepting connections. This is totally different from active checks where Nagios server was initiating the connections.

This is it for first part. Next part covers Nagios Server setup on CentOS 7.