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. Ryan says:

    What are your reasons for compiling nagios from source, rather than just installing the nagios2 package?

  2. admin says:

    you can install latest version of nagios with bug fixes

  3. arthur says:

    http://www.centreon.com/

    an powerful front-end for Nagios

  4. Ivan says:

    Ryan:
    What’s the point of installing nagios2 package when you can compile from source?

  5. Sif says:

    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.

  6. admin says:

    try to run the following package

    sudo apt-get install libgd2-xpm-dev

  7. abako says:

    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:~#

  8. admin says:

    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

  9. xx says:

    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???

  10. Hendy Irawan says:

    Also requires glib2.0:

    sudo aptitude install libglib2.0-dev

  11. Hendy Irawan says:

    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

  12. Chogar says:

    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!!!!!!!!!

  13. Chogar says:

    i almost forget..
    can’t find executable file /usr/local/nagios/bin/naigos

  14. Simon says:

    I am having exactly the same problems as Chogar any idea where these directories should have been created?

  15. Mongo says:

    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

  16. Bill says:

    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.

  17. Murray says:

    @Bill – sudo apt-get install openssh-server

    Suggests you’ve installed nagios onto an Ubuntu desktop install rather than Server.

  18. cal says:

    kudos great install article. thanks!

  19. Felipe Nogueira says:

    very, very good… thanks for all… regards from Brazil…

  20. felix says:

    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.

  21. admin says:

    @Felix

    you have any error message and try to install the following package

    sudo aptitude install mailx

    now you try

  22. Henri says:

    @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.”

  23. ape says:

    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 ?

  24. admin says:

    @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

  25. ape says:

    @ admin:

    thank you very much. that was the final / missing hit

    Best regards
    ape

  26. Bryan says:

    How can you completely remove an application installed in this fashion? I have it running but decided its not for me.

  27. deepak tijori says:

    what is the source code of Nagios 3.0.3?????

  28. james says:

    Can you provide more information on this?

  29. Steven Robinson says:

    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.

  30. Clement says:

    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

Leave a Reply

  • Recent comments