Nagios Network Monitoring System Setup in Ubuntu
Sponsored Link
WARNING: "this tutorial is meant for users that have a good knowledge of development tools and manual installation process and will be hardly supported by the Ubuntu community. Standard supported procedure are to install packages from the official repositories, not to compile them by hand".
Install Nagios in Ubuntu
This Tutorial is intended to provide you with simple instructions on how to install Nagios from source (code) on Ubuntu and have it monitoring your local machine inside of 20 minutes.
If you follow these instructions, here's what you'll end up with:
Nagios and the plugins will be installed underneath /usr/local/nagios
Nagios will be configured to monitor a few aspects of your local system (CPU load, disk usage, etc.)
The Nagios web interface will be accessible at http://localhost/nagios/
Required Packages
Make sure you've installed the following packages on your Ubuntu installation before continuing.
Apache 2
GCC compiler and development libraries
GD development libraries
Preparing Your System
First you need to install the following packages
sudo apt-get install apache2
sudo apt-get install build-essential
sudo apt-get install libgd2-xpm-dev
1) Create Account Information
Become the root user.
sudo -s
Create a new nagios user account and give it a password.
#/usr/sbin/useradd nagios
#passwd nagios
On Ubuntu server edition , you will need to also add a nagios group (it's not created by default). You should be able to skip this step on desktop editions of Ubuntu.
#/usr/sbin/groupadd nagios
#/usr/sbin/usermod -G nagios nagios
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.
#/usr/sbin/groupadd nagcmd
#/usr/sbin/usermod -G nagcmd nagios
#/usr/sbin/usermod -G nagcmd www-data
2) Download Nagios and the Plugins
Create a directory for storing the downloads.
#mkdir ~/downloads
#cd ~/downloads
Download the source code tarballs of both Nagios and the Nagios plugins (visit http://www.nagios.org/download/ for links to the latest versions). At the time of writing, the latest versions of Nagios and the Nagios plugins were 2.10 and 1.4.10, respectively.
#wget http://switch.dl.sourceforge.net/sourceforge/nagios/nagios-2.10.tar.gz
#wget http://kent.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.10.tar.gz
3) Compile and Install Nagios
Extract the Nagios source code tarball.
#cd ~/downloads
#tar xzf nagios-2.10.tar.gz
#cd nagios-2.10
Run the Nagios configure script, passing the name of the group you created earlier like so:
#./configure --with-command-group=nagcmd
Compile the Nagios source code.
#make all
Install binaries, init script, sample config files and set permissions on the external command directory.
#make install
#make install-init
#make install-config
#make install-commandmode
Don't start Nagios yet -- there's still more that needs to be done...
4) Customize Configuration
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. You'll need to make just one change before you proceed...
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.
#vi /usr/local/nagios/etc/objects/contacts.cfg
5) Configure the Web Interface
Install the Nagios web config file in the Apache conf.d directory.
#make install-webconf
Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you assign to this account -- you'll need it later.
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Restart Apache to make the new settings take effect.
#/etc/init.d/apache2 reload
6) Compile and Install the Nagios Plugins
Extract the Nagios plugins source code tarball.
#cd ~/downloads
#tar xzf nagios-plugins-1.4.10.tar.gz
#cd nagios-plugins-1.4.10
Compile and install the plugins.
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make
#make install
7) Start Nagios
Configure Nagios to automatically start when the system boots.
#ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Verify the sample Nagios configuration files.
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
If there are no errors, start Nagios.
#/etc/init.d/nagios start
8) Login to the Web Interface
You should now be able to access the Nagios web interface at the URL below. You'll be prompted for the username (nagiosadmin) and password you specified earlier.
http://localhost/nagios/
Click on the "Service Detail" navbar link to see details of what's being monitored on your local machine. It will take a few minutes for Nagios to check all the services associated with your machine, as the checks are spread out over time.
9) Other Modifications
If you want to receive email notifications for Nagios alerts, you need to install the mailx (Postfix) package.
#apt-get install mailx
You'll have to edit the Nagios email notification commands found in /usr/local/nagios/etc/commands.cfg and change any ‘/bin/mail' references to ‘/usr/bin/mail'. Once you do that you'll need to restart Nagios to make the configuration changes live.
#/etc/init.d/nagios restart
Thanks alot for this artical its helped me alot with what I needed, its straight forward, easy to use and noob friendly 😀
Thanks.
Perhaps instead of writing this manual you could have invested a little more time to just creating a simple Ubuntu package for apt and submit it for review instead – would have been a much more useful use of your time for the community at-large.
I followed these instructions. Fantastic. Many Thanks
Great HOW TO.
Thanks a lot!
you should also chsh to /bin/false or something for the nagios user
Nice thanks. I would have added also installing php since its required and since you’ve already mentioned installing apache, otherwise, smooth like silk 🙂
great, user friendly guide, i’ve been looking for something like this. I like how detailed it is. thanks!
Hi, it is indeed a good walk through but, i had no errors installing and configuring everything but when i open the web browser for the nagios administration page, i cannot view it it just gives me a file for download and i cannot view the page. it asks me for a username and password before it gives the file for downloading, the file contains html information. i think is something related with apache.
can anyone help me please?
this is not the first time this happens to me and i cannot solve it.
Nuno, tray this:
htpasswd -c /etc/nagios/htpasswd.users nagios
or
htpasswd2 -c /etc/nagios/htpasswd.users nagios
boa sorte
Hi,
I did not get the objects directory after I followed all the steps, am I missing something?
My directory only goes as far as
/usr/loca/nagios/etc
Contents are
cgi.cfg
commands.cfg
localhost.cfg
nagios.cfg
resourced.cfg
Any help please?
Could you explain more about the second paragraph.
I have the same thing:
My directory only goes as far as
/usr/loca/nagios/etc
Contents are
cgi.cfg
commands.cfg
localhost.cfg
nagios.cfg
resourced.cfg
Any help please?
Nuno:
I was running into the same issue, and I discovered I had forgot to install the PHP package on the nagios server. I ran apt-get install php5-gd, rebooted apache and rebooted nagios.
5) Configure the Web Interface
Install the Nagios web config file in the Apache conf.d directory.
#make install-webconf
WHAT file and WHERE do you execute this? I have tried 10 times and ALWAYS get the same ERROR. Nothing to execute as commands not there.
Why not say WHERE and HOW to execute this. and WHAT file. This is why open source doesn’t work instructions are ALWAYS Half given and it is expected that we all created the software. COMPLETE instructions are requested
This is an awesome article. I was able to bring up the app no problem. I’ve read nearly 100 pages in a nagios manual and learned all about the objects, and the cfg files and how they interact.
I’m however running into a problem where the web interface is telling me I don’t have permission for anything:
“It appears as though you do not have permission to view information for any of the hosts you requested…”
I get this for all pages that are supposed to display objects.
I followed the intructions here:
http://onlamp.com/pub/a/onlamp/2002/09/26/nagios.html?page=3
But no dice. Any input?
Thanks,
Chris
LOL. Nevermind. I just authorized my user for everything in cgi.cfg.
Thanks!
Chris
I just wanted to say thank for a great tutorial! Worked like a charm. For those who follow this and get handed a file when attempting to access Nagios via a browser for the first time, you need to install PHP (apt-get install php5-gd).
thanks for the tutorial..
This article is just perfect!
😉
Hi,
Cool article, followed it step by step but got this: –
root@ubuntu:/usr/local/nagios/etc# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
bash: /usr/local/nagios/bin/nagios: No such file or directory
There is no bin directory in .usr/local/nagios.
🙁
I am just curious what makes them different?(If there even is a difference).
What effect does the Oxygen have on Hydrogen?
Is HHO still explosive?
Also is HHO made by putting negative and positive charge into water,which then causes the water to bubble is this HHO?(or something else?)
–Thanks ahead of time.
Hi Gays,
I followed these instructions. It seems like everything is OK
But, when I try to start nagios: “/etc/init.d/nagios start”
I got following massage:
“su:Permission denined
(Ignored)
done”
I try to start nagios as a root.
Do you have any idea what is the problem ?
I’ve checked permissions for almost all files and folders and it seems everything is OK.
Could you please help
Thank you in advance.
Poul.
HI, Pleaaaase help me i follow this tuto step by steeep but i have this!
/usr/local/nagios/bin/nagios – /usr/local/nagios/etc/nagios.cfg
-bash: /usr/local/nagios/bin/nagios: No such file or directory
Thank you in advance.
rahma
Hi, great tutorial! although I have encountered a small problem. Everything installed fine and I followed all of the steps up to number 7.
Then I get this message:
#/etc/init.d/nagios start
starting nagios;No directory, logging in with Home=/
any ideas?
Cris have u solve your problem? I have the same problem.. ive no ideas about what to do. There are no details!
I am also stuck on this 🙁
Thank you for your help .
try this
http://www.sartori.eti.br/2011/09/nagios-331-problemas-na-hora-do-make.html?showComment=1334774893030#c5673441620424993997
Nagios will be configured to monitor a few aspects of your local . Thanks a lot! [Reply]. Brandon Perry says: June 20, 2010 at 7:13 pm .
Hi,
It really worked for me:)
but am not able to install plugins, Showing 404 error please help !!!!