Install and Configure Nagios Server

Install and Configure Nagios Server

Date Posted: 08-06-2017

Nagios is an open source monitor tool widely used to monitor client machines. Here, we are going to explain on how to install and configure nagios server.

Prerequisites:

  1. Centos 7.0 Server – In this post, we are using centos server 7.0. We can use Ubuntu host as well to install nagios server.

Implementation:

We assumes that this is a fresh centos server. Let’s start with disabling selinux.

setenforce 0

Disable selinux permanently.

vi /etc/selinux/config

SELINUX=disabled

Install dependencies.

yum install -y httpd php gcc glibc glibc-common gd gd-devel make net-snmp

Create a nagios user and group nagcmd

useradd nagios
groupadd nagcmd

Add the users nagios and apache to nagcmd

usermod -G nagcmd nagios
usermod -G nagcmd apache

Download the nagios-server and nagios-plugins

cd /usr/local/src/
wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.3.2/nagios-4.3.2.tar.gz

wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Extract the files nagios-server file and nagios plugin file.

tar -xzf nagios-4.3.2.tar.gz
tar -xzf nagios-plugins-2.2.1.tar.gz

Change the directory.

cd nagios-4.3.2

Configure the nagios.

./configure --with-command-group=nagcmd

Make and make install.

make all
make install

Create init script and command mode

make install-init

make install-commandmode

Create nagios configuration

make install-config

The above command will create basic configuration file.

Configuring Nagios:

Open contacts.cfg  and update the email address where we want to receive notification.

vi /usr/local/nagios/etc/objects/contacts.cfg

email                           nagios@domain.tld

Install web-conf

make install-webconf

Create a nagiosadmin user to maintain authentication page on nagios interface

htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Enter the password and repeat the password.

Start the httpd service

service httpd start

Now, install the nagios plugin which we downloaded already.

cd /usr/local/src/nagios-plugins-2.2.1

Configure the plugins.

./configure --with-nagios-user=nagios --with-nagios-group=nagios

Make & Make install the configured plugin

make && make install

Enable both nagios and httpd service on startup.

systemctl enable nagios
systemctl enable httpd

Start the nagios service

service nagios start

Additional Information:

Now, we create a configuration directory for the client hosts.

mkdir /usr/local/nagios/etc/servers

Add the configuration directory nagios.cfg

vi /usr/local/nagios/etc/nagios.cfg

Uncomment the following line,

cfg_dir=/usr/local/nagios/etc/servers

Add the NRPE command_line to check remote hosts.

vi /usr/local/nagios/etc/objects/commands.cfg

###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Verify the nagios configuration for syntax error.

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Restart the nagios service.

/etc/init.d/nagios restart

Access the nagios URL on the browser.

http://IPADDRESS/nagios

Enter the password which we created using htpasswd.

admin

Our team has expertise across software and web development, WordPress, e-commerce, mobile applications, UI/UX, cloud and infrastructure, DevOps, CI/CD, API integration, security, testing, automation, and technical support. The team also works with AI-based software solutions, LLMs, AI workflows, AI agents, and intelligent application development to help businesses automate processes and build smarter digital solutions. We focus on developing, deploying, maintaining, and optimising secure, scalable, and reliable technology solutions while helping businesses adopt modern technologies and drive digital transformation.

Leave a Comment

Scroll to Top