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
Ok, turned out with the nagios.log that the plugins were not fully installed in /usr/local/nagios/libexec.
Regards,
clem
Hi,
I was successful installing Apache2 as I could get “It Works!!” as an outcome of http://127.0.0.1.
Also, I saw success until ‘#make install-commandmode’, after which, I changed the email address within ‘/usr/local/nagios/etc/objects/contacts.cfg’.
However, I am unable to do a ‘#make install-webconf’.
Any idea?
Regards,
Jimmy
Todo OK
solo un detalle
It appears as though you do not have permission to view information for any of the hosts you requested…
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file
pero averiguando para la solucion
I am having the exact same problem here.. I am new to ubuntu, coming from fedora/centos.
Where do I fix this permission issue?
i’ve installed nagios on my ubuntu 7.04 and everything is going all right ecept one thing. When i type adress in my webbrowser eg. http://localhost/nagios then passwd for admin i’ll see webpage of nagios software but when i click on the right menu i have some trobles like:
”
It appears as though you do not have permission to view information for any of the services you requested…
If you believe this is an error, check the HTTP server authentication requirements for accessing this CGI
and check the authorization options in your CGI configuration file.”
Please help – what is this?
@Morris
Make sure the username you’re using is referenced in the “authorized_for” declarations in cgi.cfg:
authorized_for_system_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_host_commands=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
Save and exit the file
Note:- nagiosadmin is sample user you can use whatever user you are using
just stopped by to say i really liked your site – you’ve obviously put some hard work into it!
Hi All,
I’ve followed the above instructions on a Ubuntu server machine that already had Apache2/Webmin installed.
I can login to the Nagios website, but get the msg “Error: Could not read host and service status information!”
The nagios.log says it is starting fine, but I cannot see the nagios process running, and when I stop it using /etc/init.d/nagios stop
Stopping nagios: kill: 229: No such process
done.
Any help?
re Grant and problems maling nagios keep going! Are you using ubuntu 9.04.
downgrade to 8.1 and nagios 3.10 works without fault in 8.1 but fails in every installation in 9.04 or 9.1 (beta) i have tried. Not savvy enough to learn how to use the nohup command in starting the nagios which is what seems to be the problem/I would love to have someone say whats needed explicitely but so far nothing. I am on 8.1 and 100% reliable for me in more than 2 installations.
apt-get update
apt-get install make
OR
sudo apt-get update
sudo apt-get install
Hope this helps some people
Nice tutorial however my web interface did not work until I installed PHP as well (apt-get install libapache2-mod-php5).
/usr/local/nagios/bin/nagios not found. Exiting.
for me the problem is solved
Love old threads like this….
Thanks for getting my Nagios mails working…
Much appreciated.
With Ubuntu 9.04+, I was getting the error message “Error: Could not read host and service status information!”.
Looking at the logs, there was an error in creating a file. I created the dir and did a chmod 777 on it.
sudo mkdir -p /usr/local/nagios/var/rw
sudo chmod 777 -R /usr/local/nagios/rw
Restarted nagios using
/etc/init.d/nagios stop
/etc/init.d/nagios start
Started up and works now.
I had to uncomment those fields.. DOH!!!
Thanks for the feed back..
Well that was a good read, kind regards john
Thank you ! Nice tutorial !
This is a nice tutorial. I got a problem after stalling successfully on my machine having Ubuntu 8.04. The problem is when I open the http://localhost/nagios, I get the login interface. Then I login with correct password and user id.
But I get an dialog box asking me to save/open a PHTML file instead of getting the Nagios,s Web Interface
Please help me. It is urgent
Make sure you webserver was configures to accept php pages or not
Two things I found…
when you reach the make install-webconf, you may need to edit the Makefile to specify the location of the /etc/apache2/conf.d folder
also, run apt-get install php5 or when you try to access the web interface it’ll download the php page
thanks I have fixed the problem after installing php5
Note that it’s much easier to do it now with 9.04/9.10
See https://help.ubuntu.com/community/Nagios3
you basically just install one package now. phew!
iam using nagios on ubuntu. All the above steps i followed and got every thing fine but i want to know how to add devices in nagios.
nice tutorial. thx
problem solved for me. thx nice tutorial
i did all the steps
bur when im trying from url; http://localhost/nagios/ its showing
Not Found
The requested URL /nagios/ was not found on this server
any one can help me?
vikram:
You may want to try http://localhost/nagios without that last forward slash.
You could also try http://localhost/nagios3 as that is what mine is after installing version 3.
Hope that helps.
ArtZ
Thanks ArtZ
Best tutorial ever!! Everything worked fine for me!
Ubuntu Server 10.04 32-bit
THX!!!
Excellent tutorial – straightforward, step by step, everything still worked exactly as described, even with a newer version of nagios and ubuntu. Saved me a lot of time, thanks!