December 11, 2007 · Monitoring, Server ·

Sponsored Link
Nagios is a host and service monitor designed to inform you of network problems before your clients, end-users or managers do. It has been designed to run under the Linux operating system, but works fine under most *NIX variants as well. The monitoring daemon runs intermittent checks on hosts and services you specify using external "plugins" which return status information to Nagios. When problems are encountered, the daemon can send notifications out to administrative contacts in a variety of different ways (email, instant message, SMS, etc.). Current status information, historical logs, and reports can all be accessed via a web browser.

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

Sponsored Link

92 Comments to “Nagios Network Monitoring System Setup in Ubuntu”

  1. Clement says:

    Ok, turned out with the nagios.log that the plugins were not fully installed in /usr/local/nagios/libexec.

    Regards,

    clem

  2. Jimmy says:

    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

  3. Ernesto says:

    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

  4. Morris says:

    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?

  5. admin says:

    @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

  6. Simon Walsh says:

    just stopped by to say i really liked your site – you’ve obviously put some hard work into it!

  7. Grant says:

    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?

  8. MInsik says:

    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.

  9. MusicMan says:

    apt-get update
    apt-get install make

    OR

    sudo apt-get update
    sudo apt-get install

    Hope this helps some people

  10. Piusvii says:

    Nice tutorial however my web interface did not work until I installed PHP as well (apt-get install libapache2-mod-php5).

  11. coolpad says:

    /usr/local/nagios/bin/nagios not found. Exiting.

  12. for me the problem is solved

  13. admapi says:

    Love old threads like this….

    Thanks for getting my Nagios mails working…

    Much appreciated.

  14. Jas says:

    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.

  15. morris says:

    I had to uncomment those fields.. DOH!!!

    Thanks for the feed back..

  16. hide ip says:

    Well that was a good read, kind regards john

  17. Shop says:

    Thank you ! Nice tutorial !

  18. Ranjan Yengkhom says:

    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

  19. admin says:

    Make sure you webserver was configures to accept php pages or not

  20. gdecaires says:

    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

  21. Ranjan Yengkhom says:

    thanks I have fixed the problem after installing php5

  22. roger says:

    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!

  23. ajay says:

    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.

  24. licitatii says:

    nice tutorial. thx

  25. okazii says:

    problem solved for me. thx nice tutorial

  26. vikram says:

    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?

  27. ArtZ says:

    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

  28. vikram says:

    Thanks ArtZ

  29. derroman says:

    Best tutorial ever!! Everything worked fine for me!
    Ubuntu Server 10.04 32-bit

    THX!!!

  30. Mips says:

    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!

Leave a Reply

  • Recent comments