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
What are your reasons for compiling nagios from source, rather than just installing the nagios2 package?
you can install latest version of nagios with bug fixes
http://www.centreon.com/
an powerful front-end for Nagios
Ryan:
What’s the point of installing nagios2 package when you can compile from source?
sudo apt-get install libgd2-dev
This does not install, I get the following error:
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package libgd2-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package libgd2-dev has no installation candidate
Not sure where to go from here.
try to run the following package
sudo apt-get install libgd2-xpm-dev
I got this error message…..Please help …..
root@ubuntu:~# apt-get install libgd2-xpm-dev
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libgd2-xpm-dev: Depends: libfontconfig1-dev but it is not installable
Depends: libfreetype6-dev but it is not installable
Depends: libjpeg62-dev but it is not installable
Depends: libx11-dev but it is not installable
Depends: libxpm-dev but it is not installable
E: Broken packages
root@ubuntu:~#
if you are installing in ubuntu 7.10 gutsy this package should be there please let me know which version of ubuntu you are trying to install
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???
Also requires glib2.0:
sudo aptitude install libglib2.0-dev
MAYDAY!!!!!!!!!!!
The Captcha plugin makes errors: (is Akismet not powerful enough for you?)
———-
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at /home/debianad/public_html/ubuntugeek/wp-content/plugins/SK2/sk2_second_chance.php:2) in /home/debianad/public_html/ubuntugeek/wp-content/plugins/pxsmail.php on line 1
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /home/debianad/public_html/ubuntugeek/wp-content/plugins/SK2/sk2_second_chance.php:2) in /home/debianad/public_html/ubuntugeek/wp-content/plugins/pxsmail.php on line 1
Warning: Cannot modify header information – headers already sent by (output started at /home/debianad/public_html/ubuntugeek/wp-content/plugins/SK2/sk2_second_chance.php:2) in /home/debianad/public_html/ubuntugeek/wp-content/plugins/what_would_seth_godin_do.php on line 86
Kind-a-Captcha
Please type the code below in the input field and click on Submit (characters can only be letters from A to F and digits from 0 to 9).
captcha_img
Hi, i have two problems installing nagios on Ubuntu Server 7.10
1)in the line
#vi /usr/local/nagios/etc/objects/contacts.cfg
–the directory /Objects and contacts.cfg doesn’t exists
2)And in the line
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
–like the another one says theres no such file or directory!!
i follow every step in the guide…!! and i don’t know linux well!!
Thanks!!!!!!!!!
i almost forget..
can’t find executable file /usr/local/nagios/bin/naigos
I am having exactly the same problems as Chogar any idea where these directories should have been created?
I was having the same problems as Chogar and Simon when installing nagios-2.10 on an Ubuntu 7.10 VM. The install worked fine with nagios-3.0rc2. I am giving up on 2.10 (for now) and will focus on 3.0rc2.
Here is the Ubuntu quick start for nagios-3.0rc2: http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html
It was an easy set up with this great howto. But after my install I am getting the following error.
[04-14-2008 21:25:38] SERVICE ALERT: localhost;SSH;CRITICAL;HARD;4;Connection refused
Any ideas on how to fix it? Thanks.
@Bill – sudo apt-get install openssh-server
Suggests you’ve installed nagios onto an Ubuntu desktop install rather than Server.
kudos great install article. thanks!
very, very good… thanks for all… regards from Brazil…
Hi,
I was having hard time in setting up email relay for nagios. I’m using SSMTP.. I was able to send email and received it but nagios is not using SSMTP. I don’t know if i missed something with the configuration. Our SMTP server is hosted.
Thanks in advance.
@Felix
you have any error message and try to install the following package
sudo aptitude install mailx
now you try
@Chogar, @Simon
You may have gotten excited and missed the first install step:
make install
I had the same trouble because I read the output of “make all” and skipped straight to “make install-init.”
First of all, great article. Makes the installation really easy.
I have one final step to do and this is getting mails to work.
I installed mailx as mentioned in your how-to but till now it just writes its mails into /var/mail/nagios.
Where can i define the ip of the email-server (our standalone mail-server) which should be used ?
@ape
The solution was to install the package ssmtp, and then point it to your smtp server in /etc/ssmtp/ssmtp.conf file
finally you needto restart ssmtp and mailx programs
@ admin:
thank you very much. that was the final / missing hit
Best regards
ape
How can you completely remove an application installed in this fashion? I have it running but decided its not for me.
what is the source code of Nagios 3.0.3?????
Can you provide more information on this?
I have installed this. Got all the way through without any errors, but once I try to access the web interface, i get the following error;
NOT FOUND
the requested url /nagios/ was not found on this server.
I have restarted apache, nagios and also the machine to no avail.
Any thoughts?
Thanks.
Hello people, I got a problem with my configuration file. When I want to start Nagios just after I run the pre-flight check without any error, I get this error message Starting nagios:CONFIG ERROR! Start aborted. Check your Nagios configuration.
I am working on Ubuntu 8.04 and my version of Nagios is the lattest: the 3.1.0.
You guys have any idea about that? Or should I just mess with the nagios.cfg file?
Thanks,
clem