Nagios is IT Infrastructure Monitoring Tool. There is a free open source Nagios Core edition available for download and payable Nagios XI edition which costs $1,295 $4995 (updated) for unlimited hosts. Nagios XI has enhanced AJAX based user interface, built in graphing, dynamic dashboard, … With Nagios Core you need to install and configure additional open source software to get same or similar results. If you want a free of charge solution you need to download Nagios Core from Nagios Homepage and install it on your server.
In this post we will explain step-by-step how to install Nagios Core 4 on Ubuntu Server 12.04 LTS.
Let’s Install Nagios Core 4 on Ubuntu 12.04 LTS!
1. Install required software packages
geekpeeknet@foo1:~$ sudo apt-get update geekpeeknet@foo1:~$ sudo apt-get install build-essential apache2 php5-gd wget libgd2-xpm libgd2-xpm-dev libapache2-mod-php5 sendmail daemon
2. Create Nagios Core user and group
Create nagios user and nagcmd group. Add nagios user to nagcmd group
geekpeeknet@foo1:~$ sudo useradd nagios geekpeeknet@foo1:~$ sudo groupadd nagcmd geekpeeknet@foo1:~$ sudo usermod -a -G nagcmd nagios
3. Download the latest Nagios Core tarball
geekpeeknet@foo1:~$ sudo wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.2.tar.gz
4. Extract Nagios Core tarball
geekpeeknet@foo1:~$ sudo tar -xvzf nagios-4.0.2.tar.gz
5. Run configure
Move to extracted nagios directory and run configure with additional options.
geekpeeknet@foo1:~$ cd nagios-4.0.2/ geekpeeknet@foo1:~/nagios-4.0.2$ sudo ./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-mail=/usr/bin/sendmail
Configure should end with configuration summary that looks like this:
... config.status: creating t-tap/Makefile config.status: creating include/config.h config.status: creating lib/snprintf.h config.status: creating lib/iobroker.h Creating sample config files in sample-config/ ... *** Configuration summary for nagios 4.0.2 11-25-2013 ***: General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagcmd 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/init.d Apache conf.d directory: /etc/apache2/conf.d Mail program: /usr/bin/sendmail 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): Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs.
6. Make everything
geekpeeknet@foo1:~/nagios-4.0.2$ sudo make all geekpeeknet@foo1:~/nagios-4.0.2$ sudo make install geekpeeknet@foo1:~/nagios-4.0.2$ sudo make install-init geekpeeknet@foo1:~/nagios-4.0.2$ sudo make install-config geekpeeknet@foo1:~/nagios-4.0.2$ sudo make install-commandmode geekpeeknet@foo1:~/nagios-4.0.2$ sudo make install-webconf
7. Copy eventhandlers and change ownership
geekpeeknet@foo1:~/nagios-4.0.2$ sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ geekpeeknet@foo1:~/nagios-4.0.2$ sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
8. Create Nagios Web Access user
Create Nagios web access user and set it’s password.
geekpeeknet@foo1:~/nagios-4.0.2$ sudo htpasswd -cm /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
9. Edit Nagios init script
If you will try to start Nagios at this point you will get the following error:
geekpeeknet@foo1:~$ sudo /etc/init.d/nagios start /etc/init.d/nagios: 20: .: Can't open /etc/rc.d/init.d/functions
There is a problem with Nagios init script on Ubuntu. We have to edit init script and change a few lines. I could not get it to work with none of the hacks i found on the internet so i created my own by first running “start-stop-daemon” and then killing the daemon PID since a defunct Nagios process hangs. If you do not like this hack do not use it – but it works!
Please read my post “Ubuntu Nagios 4 Init Script Fix” how to do this!
11. Download and Install Nagios plugins
geekpeeknet@foo1:~$ sudo wget http://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz geekpeeknet@foo1:~$ sudo tar -xvzf nagios-plugins-1.5.tar.gz geekpeeknet@foo1:~$ cd nagios-plugins-1.5/ geekpeeknet@foo1:~/nagios-plugins-1.5$ sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios geekpeeknet@foo1:~/nagios-plugins-1.5$ sudo make geekpeeknet@foo1:~/nagios-plugins-1.5$ sudo make install
12. Copy and link Nagios Apache configuration
geekpeeknet@foo1:~$ sudo cp /etc/apache2/conf.d/nagios.conf /etc/apache2/sites-available/nagios geekpeeknet@foo1:~$ sudo ln -s /etc/apache2/sites-available/nagios /etc/apache2/sites-enabled/nagios
13. Change group ownership of /usr/local/nagios/var/rw/
Change ownership of directory before your first time Nagios run!
Please read my post on “Nagios Error: Could not open command file for update” how to do this!
14. Check Nagios configuration for errors
geekpeeknet@foo1:~$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Nagios Core 4.0.2 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 11-25-2013 License: GPL Website: http://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
15. Make Nagios and Apache start at boot
geekpeeknet@foo1:~/nagios-4.0.2$ sudo ln -s /etc/init.d/nagios /etc/rcS.d/S98nagios geekpeeknet@foo1:~/nagios-4.0.2$ sudo ln -s /etc/init.d/apache2 /etc/rcS.d/S99apache2
16. Start Nagios Core 4.0.2 service
geekpeeknet@foo1:~/nagios-plugins-1.5$ sudo service nagios start
17. Start Apache service
geekpeeknet@foo1:~/nagios-plugins-1.5$ sudo service apache2 start
18. Visit Nagios URL in your browser
We finished installing Nagios Core 4 on Ubuntu 12.04 LTS! Open http://IPADDRESS/nagios or http://FQDN/nagios in your browser and enter username and password created in step 8! Read more about how to configure Nagios hosts and services in my post on Nagios Configuration!
51 Comments
Leave a Reply2 Pings & Trackbacks
Pingback: How To Write Nagios Plugin - Bash Script | GeekPeek.Net
Pingback: Install Nagios Core 4 on Ubuntu 12.04 LTS | zpp5359