Nagios 4.2.0 Released – Install on RHEL/CentOS 7/6

Spread the love

Installing Nagios 4.2.0 and Nagios Plugin 2.1.2

If you follow these instructions correctly, you will end up with following information.

  1. Nagios and its plugins will be installed under /usr/local/nagios directory
  2. Nagios will be configured to monitor few services of your local machine (Disk Usage, CPU Load, Current Users, Total Processes, etc.)
  3. Nagios web interface will be available at http://localhost/nagios

 

View 1: Install Required Dependencies

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

 

View 2: Create Nagios User and Group

Create a new nagios user and nagcmd group account and set a password.

[root@nagios]# useradd nagios

[root@nagios]# groupadd nagcmd

Next, add both the nagios user and the apache user to the nagcmd group.

[root@nagios]# usermod -G nagcmd nagios

[root@nagios]# usermod -G nagcmd apache

Event Broker: yes

Install ${prefix}: /usr/local/nagios

Install ${includedir}: /usr/local/nagios/include/nagios

Lock file: ${prefix}/var/nagios.lock

Check result directory: ${prefix}/var/spool/checkresults

Init directory: /etc/rc.d/init.d

Apache conf.d directory: /etc/httpd/conf.d

Mail program: /bin/mail

Host OS: linux-gnu

IOBroker Method: epoll

Web Interface Options:

————————

HTML URL: http://localhost/nagios/

CGI URL: http://localhost/nagios/cgi-bin/

Traceroute (used by WAP): /usr/bin/traceroute

Review the options above for accuracy. If they look okay,

type ‘make all’ to compile the main program and CGIs.

 

Now, after configuring we need to Compile and install all the binaries with make command and make install command will install all the needed libraries in your machine and we can proceed further.

 

[root@nagios nagios-4.0.1 ]# make all

[root@nagios nagios-4.0.1 ]# make install

 

Sample output:

*** Exfoliation theme installed ***

NOTE: Use ‘make install-classicui’ to revert to classic Nagios theme

make[1]: Leaving directory ‘/root/nagios/nagios-4.2.0’

make install-basic

make[1]: Entering directory ‘/root/nagios/nagios-4.2.0’

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/libexec

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/archives

/usr/bin/install -c -m 775 -o nagios -g nagcmd -d /usr/local/nagios/var/spool/checkresults

chmod g+s /usr/local/nagios/var/spool/checkresults

*** Main program, CGIs and HTML files installed ***

You can continue with installing Nagios as follows (type ‘make’

without any arguments for a list of all possible options):

make install-init

– This installs the init script in /etc/rc.d/init.d

make install-commandmode

– This installs and configures permissions on the

directory for holding the external command file

make install-config

– This installs sample config files in /usr/local/nagios/etc

make[1]: Leaving directory ‘/root/nagios/nagios-4.2.0’

———————————————————————————-

Following command will install the init scripts for Nagios.

[root@nagios nagios-4.0.1 ]# make install-init

To make nagios work from command line we need to install command-mode.

[root@nagios nagios-4.0.1 ]# make install-commandmode

Next, install sample nagios files, please run following command.

[root@nagios nagios-4.0.1 ]# make install-config

—————————————————————————————–

Sample output:

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc

/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg

/usr/bin/install -c -b -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/resource.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/templates.cfg /usr/local/nagios/etc/objects/templates.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/commands.cfg /usr/local/nagios/etc/objects/commands.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/windows.cfg /usr/local/nagios/etc/objects/windows.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/nagios/etc/objects/printer.cfg

/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/nagios/etc/objects/switch.cfg

*** Config files installed ***

Remember, these are *SAMPLE* config files. You’ll need to read

the documentation for more information on how to actually define

services, hosts, etc. to fit your particular needs.

 

View 5: Customizing Nagios Configuration

 

Open the “contacts.cfg” file with your choice of editor and set the email address associated with the nagiosadmin contact definition to receiving email alerts.

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

Sample Output

###############################################################################

###############################################################################

#

# CONTACTS

#

###############################################################################

###############################################################################

# Just one contact defined by default – the Nagios admin (that’s you)

# This contact definition inherits a lot of default values from the ‘generic-contact’

# template which is defined elsewhere.

define contact{

contact_name nagiosadmin ; Short name of user

use generic-contact ; Inherit default values from generic-contact template (defined above)

alias Nagios Admin ; Full name of user

email admin@nagios.com ; *** CHANGE THIS TO YOUR EMAIL ADDRESS ****

}

 

View 6: Install and Configure Web Interface for Nagios

 

We are done with all configuration in the backend, now we will configure Web Interface For Nagios command. Configure Web interface for Nagios and a web admin user will be created “nagiosadmin”.

[root@nagios nagios-4.0.1 ]# make install-webconf

We will be creating a password for “nagiosadmin”. After executing this command, please provide a password and keep it remember because this password will be used when you login in the Nagios Web interface.

[root@nagios nagios-4.0.1]# htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin

Restart Apache to make the new settings take effect.

[root@nagios ]# service httpd start [On RHEL/CentOS 6/5]

[root@nagios ]# systemctl start httpd.service [On RHEL/CentOS 7]

 

View 7: Compile and Install Nagios Plugin

 

We have downloaded nagios plugins in /root/nagios, Go there and configure and install it as directed below.

 

[root@nagios nagios]# cd /root/nagios

[root@nagios nagios]# cd nagios-plugins-2.1.2/

[root@nagios nagios]# ./configure –with-nagios-user=nagios –with-nagios-group=nagios

[root@nagios nagios]# make

[root@nagios nagios]# make install

 

View 8: Verify Nagios Configuration Files

Now we are all done with Nagios configuration and its time to verify it and to do so please insert following command. If everything goes smooth it will show up similar to below output.

[root@nagios nagios]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Sample Output

Nagios Core 4.2.0

Copyright (c) 2009-present Nagios Core Development Team and Community Contributors

Copyright (c) 1999-2009 Ethan Galstad

Last Modified: 08-01-2016

License: GPL

Website: https://www.nagios.org

Reading configuration data…

Read main config file okay…

Read object config files okay…

Running pre-flight check on configuration data…

Checking objects…

Checked 8 services.

Checked 1 hosts.

Checked 1 host groups.

Checked 0 service groups.

Checked 1 contacts.

Checked 1 contact groups.

Checked 24 commands.

Checked 5 time periods.

Checked 0 host escalations.

Checked 0 service escalations.

Checking for circular paths…

Checked 1 hosts

Checked 0 service dependencies

Checked 0 host dependencies

Checked 5 timeperiods

Checking global event handlers…

Checking obsessive compulsive processor commands…

Checking misc settings…

Total Warnings: 0

Total Errors: 0

Things look okay – No serious problems were detected during the pre-flight check

 

View 9: Add Nagios Services to System Startup

To make Nagios work across reboots, we need to add nagios and httpd with chkconfig and systemctlcommand.

On RHEL/CentOS 6/5 and Fedora

[root@nagios ]# chkconfig –add nagios

[root@nagios ]# chkconfig –level 35 nagios on

[root@nagios ]# chkconfig –add httpd

[root@nagios ]# chkconfig –level 35 httpd on

On RHEL/CentOS 7 and Fedora 19-24

[root@nagios ]# systemctl enable nagios

[root@nagios ]# systemctl enable httpd

Restart Nagios to make the new settings take effect.

[root@nagios ]# service nagios start [On RHEL/CentOS 6/5 and Fedora]

[root@nagios ]# systemctl start nagios.service [On RHEL/CentOS 7 and Fedora 19-24]

View 10: Login to the Nagios Web Interface

Your nagios is ready to work, please open it in your browser with “http://Your-server-IP-address/nagios” and Provide the username “nagiosadmin” and password.

Nagios Web Dashboard

 


 


 


 

Leave a Reply

Your email address will not be published. Required fields are marked *