2014-12-16

Introduction

Nagios is an open source software that can be used for network and infrastructure monitoring. Nagios will monitor servers, switches, applications and services. It alerts the System Administrator when something went wrong and also alerts back when the issues has been rectified.

Features

Monitor your entire IT infrastructure;

Identify problems before they occur;

Know immediately when problems arise;

Share availability data with stakeholders.hypothetical question;

Detect security breaches;

Plan and budget for IT upgrades;

Reduce downtime and business losses.

Scenario

In this tutorial i am going to use two systems as mentioned below.

Nagios server:

Nagios client:

Prerequisites

Before installing Nagios, make sure that you’ve a properly installed and configured LAMP stack in your server. To install and configure LAMP server, refer the following link.

Install LAMP server On CentOS/RHEL/Scientific Linux 7

Also install the following prerequisites too. All commands should be run as root user.

Create Nagios User And Group

Create a new nagios user account and give it a password:

Create a new nagcmd group for allowing external commands to be submitted through the web interface. Add both the nagios user and the apache user to the group.

Download Nagios And Plugins

Go to the nagios download page, and get the latest version. As of writing this, the latest version was 4.0.8.

And, download nagios plugins too.

Install Nagios And Plugins

Install nagios:

I tested this how-to on CentOS 7 minimal server, although it should work on all RHEL 7 and its clones like Scientific Linux 7 too.

Go to the folder where you’ve downloaded nagios, and extract it using command:

Change to the nagios directory, and run the following commands one by one from the Terminal to compile and install nagios.

Install Nagios Web interface:

Enter the following commands to compile and install nagios web interface.

Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you assign to this account. You’ll need it while logging in to nagios web interface..

Restart Apache to make the new settings take effect.

Install Nagios plugins:

Go to the directory where you downloaded the nagios plugins, and extract it.

Change to the nagios plugins directory:

Run the following commands one by one to compile and install it.

We aren’t finished yet.

Configure Nagios

Nagios sample configuration files have now been installed in the /usr/local/nagios/etc directory. These sample files should work fine for getting started with Nagios. However, you’ll need to put your actual email ID to receive alerts.

To do that, Edit the /usr/local/nagios/etc/objects/contacts.cfg config file with your favorite editor and change the email address associated with the nagiosadmin contact definition to the address you’d like to use for receiving alerts.

Find the following line and enter the email id:

Save and close the file.

Then, Edit file /etc/httpd/conf.d/nagios.conf,

And edit the following lines if you want to access nagios administrative console from a particular IP series. Here, I want to allow nagios administrative access from 192.168.1.0/24 series only.

Restart httpd service:

Now, check for any configuration errors using command:

If there are no errors, start nagios service and make it to start automatically on every boot.

Adjust SELinux Settings

By default, SELinux will be in enforcing mode, and it throws “Internal Server Error” messages when you attempt to access the Nagios CGIs.

To rectify this error, edit file /etc/selinux/config:

And, set SELinux to permissive mode.

Reboot your server to take effects the changes.

Access Nagios Web Interface

Open nagios administrator console with URL http://nagios-server-ip/nagios and enter the username as nagiosadmin and its password which we created in the earlier steps.



This is how Nagios administrative console looks:



Click on the “Hosts” section in the left pane of the console. You will see there the no of hosts to be monitored by Nagios server. We haven’t added any hosts yet. So it simply monitors the localhost itself only.



Click on the particular host to display more details:

Add Monitoring targets to Nagios server

Now, let us add some clients to monitor by Nagios server. To do that we have to install nrpe and nagios-plugins in our monitoring targets.

On CentOS/RHEL/Scientifc Linux clients:

Add EPEL repository in your CentOS/RHEL/Scientific Linux 6.x or 7 clients to install nrpe package.

To install EPEL on CentOS 7, run the following command:

On CentOS 6.x systems, refer the following link.

Install EPEL Repository On CentOS 6.x

Install “nrpe” and “nagios-plugins” packages in client systems:

On Debian/Ubuntu clients:

Configure Monitoring targets

Edit /etc/nagios/nrpe.cfg file,

Add your Nagios server ip address:

Start nrpe service on CentOS clients:

CentOS 7:

CentOS 6.x:

For Debian/Ubuntu Clients, start nrpe service as shown below:

Now, go back to your Nagios server, and add the clients in the configuration file.

To do that, Edit “/usr/local/nagios/etc/nagios.cfg” file,

and uncomment the following lines.

Create a directory called “servers” under “/usr/local/nagios/etc/”.

Create config file to the client to be monitored:

Add the following lines:

Here, 192.168.1.152 is my nagios client IP address. Finally restart nagios service.

Wait for few seconds, and refresh nagios admin console in the browser and navigate to “Hosts” section in the left pane. You will see the newly added client will be visible there. Click on the host to see if there is anything wrong or any alerts it has.

Click on the monitoring target (client) to view the detailed output:

Similarly, you can define more clients by creating a separate config files “/usr/local/nagios/etc/servers” directory for each client.

Define services

We have just defined the monitoring host. Now, let us add some services of the monitoring host. For example, to monitor the ssh service, add the following lines shown in bold in the “/usr/local/nagios/etc/servers/clients.cfg” file.

Add the following lines shown in bold:

Save and close the file. Restart Nagios.

Wait for few seconds, and check for the added services (i.e ssh) in the nagios web interface. Navigate to Services section on the left side bar, you’ll see the ssh service there.

To know more about object definitions such as Host definitions, service definitions, contact definitions, please do visit here. This page will explain you the description and format of all object definitions.

Thats it. Cheers!

Source

---------------------------------------------------------------------
Install And Configure Nagios 4 On CentOS 7

Show more