You are on page 1of 7

17/02/2013

Nagios (Network Monitoring System) Installation and configuration

Ads by Google

Nagios

Data Installation

Linux Installation

Server Installation

Home General Commands Backup Package Admin Network Webserver Security Free Tools Favourite Links Site Map Contact Me

Nagios Installation and configuration ADD TO: Blink Del.icio.us Digg Furl MyWeb Google Simpy Spurl Y!

Fashionara: Premium Emall


Fashionara.co Premium Brands. Unlimited Fashion. Register & Get Rs1500 Off. Hurry

What is nagios ? Nagios is a host and service monitor designed to inform you of network problems before your clients, endusers 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. Nagios Features Nagios has a lot of features, making it a very powerful monitoring tool. Some of the major features are listed below: Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) Monitoring of host resources (processor load, disk and memory usage, running processes, log files, etc.) Monitoring of environmental factors such as temperature Simple plugin design that allows users to easily develop their own host and service checks Ability to define network host hierarchy, allowing detection of and distinction between hosts that are down and those that are unreachable Contact notifications when service or host problems occur and get resolved (via email, pager, or other userdefined method) Optional escalation of host and service notifications to different contact groups Ability to define event handlers to be run during service or host events for proactive problem resolution Support for implementing redundant and distributed monitoring servers External command interface that allows on-the-fly modifications to be made to the monitoring and notification behavior through the use of event handlers, the web interface, and third-party applications Retention of host and service status across program restarts Scheduled downtime for suppressing host and service notifications during periods of planned outages Ability to acknowledge problems via the web interface Web interface for viewing current network status, notification and problem history, log file, etc. Simple authorization scheme that allows you restrict what users can see and do from the web interface Nagios Requirements The only requirement of running Nagios is a machine running Linux (or UNIX variant) and a C compiler. You will probably also want to have TCP/IP configured, as most service checks will be performed over the network. You are not required to use the CGIs included with Nagios. However, if you do decide to use them, you will need to have the following software installed. A web server (preferrably Apache) Thomas Boutell's gd library version 1.6.3 or higher (required by the statusmap and trends CGIs) Download Nagios http://www.nagios.org/download/ Nagios Documentation http://www.nagios.org/docs/ Nagios Screenshots

www.debianhelp.co.uk/nagiosinstall.htm

1/7

17/02/2013

Nagios (Network Monitoring System) Installation and configuration


http://www.nagios.org/about/screenshots.php Nagios FAQ http://www.nagios.org/faqs/ Installing Nagios in Debian From Source Code Prerequisites The below packages are very important to install on your debian system to complete the nagios installation without any problem #apt-get install make gcc g++ Create Nagios User/Group You're probably going to want to run Nagios under a normal user account, so add a new user (and group) to your system with the following command (this will vary depending on what OS you're running): #adduser nagios This should create the user account and a default group with the same name (nagios). This can be checked by # grep nagios /etc/passwd This should show the group (if created) with the members. If the group is missing then create the group by, # groupadd nagios This group can be used as the group that Nagios uses as a Command group. Identify Web Server User You're probably going to want to issue external commands (like acknowledgements and scheduled downtime) from the web interface. To do so, you need to identify the user your web server runs as (typically apache, although this may differ on your system). This setting is found in your web server configuration file. The following command can be used to quickly determine what user Apache is running as (paths may differ on your system): # grep "^User" /etc/apache2/apache2.conf Add Webserver user (www-data/apache) and Nagios user (nagios) # usermod -G nagios nagios #usermod -G www-data,nagios www-data Check if the users are the members of the group by # grep nagios /etc/group Create Installation Directory Create the base directory where you would like to install Nagios as follows #mkdir /usr/local/nagios Change the owner of the base installtion directory to be the Nagios user and group you added earlier as follows: #chown -R nagios:nagios /usr/local/nagios Prior to that, it is imporant to install the GD-Utils for the Status Maps to work properly. In Debian, the following should install the required libraries: # apt-get install libgd2-xpm libgd2-xpm-dev libgd2 libgd2-dev libpng12-dev libjpeg62-dev libgd-tools libpng3dev Now, download the GD-Utils from the following website: http://www.boutell.com/gd/http/gd-2.0.33.tar.gz Untar the downloaded Tar file by # tar -zxvf gd-2.0.33.tar.gz Change to the directory and run the config script. # cd gd-2.033 # ./configure

www.debianhelp.co.uk/nagiosinstall.htm

2/7

17/02/2013

# ./configure Now, install using # make && make install This should install the GD-Utils.

Nagios (Network Monitoring System) Installation and configuration

Download the latest version of nagios from the following link http://www.nagios.org/download/ Unpacking The Distribution To unpack the Nagios distribution, use the following command #tar xzf nagios-2.6.tar.gz or #unp nagios-2.6.tar.gz If you want to install unp package check here This will create the Nagios-version folder (nagios-2.6) Change directory to the newly created directory #cd nagios-version (nagios-2.6) Run the configure script # ./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagiosuser=nagios --with-nagios-group=nagios --with-command-group=nagios where --prefix=/usr/local/nagios is the Nagios root folder --with-cgiurl=/nagios/cgi-bin is the Nagios CGI folder --with-htmurl=/nagios/ is the Nagios HTML/Website folder --with-nagios-user=nagios is the Nagios user --with-nagios-group=nagios is the Nagios group --with-command-group=nagios is the Nagios command group which has webserver user (Apache) and the nagios user as members. If you want more oprtion just type the following command #./configure --help ./configure --help `configure' configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX[/usr/local/nagios] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX[PREFIX] By default, `make install' will install all the files in `/usr/local/nagios/bin', `/usr/local/nagios/lib' etc. You can specify an installation prefix other than `/usr/local/nagios' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include]

www.debianhelp.co.uk/nagiosinstall.htm

3/7

17/02/2013

Nagios (Network Monitoring System) Installation and configuration


--includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] System types: --build=BUILD --host=HOST configure for building on BUILD [guessed] cross-compile to build programs to run on HOST [BUILD]

Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-statusmap=disables compilation of statusmap CGI --disable-statuswrl=disables compilation of statuswrl (VRML) CGI --enable-DEBUG0 shows function entry and exit --enable-DEBUG1 shows general info messages --enable-DEBUG2 shows warning messages --enable-DEBUG3 shows scheduled events (service and host checks... etc) --enable-DEBUG4 shows service and host notifications --enable-DEBUG5 shows SQL queries --enable-DEBUGALL shows all debugging messages --enable-nanosleep enables use of nanosleep (instead sleep) in event timing --enable-event-broker enables integration of event broker routines --enable-embedded-perl will enable embedded Perl interpreter --enable-cygwin enables building under the CYGWIN environment Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-nagios-user=<user> sets user name to run nagios --with-nagios-group=<grp> sets group name to run nagios --with-command-user=<user> sets user name for command access --with-command-group=<grp> sets group name for command access --with-mail=<path_to_mail> sets path to equivalent program to mail --with-init-dir=<path> sets directory to place init script into --with-lockfile=<path> sets path and file name for lock file --with-gd-lib=DIR sets location of the gd library --with-gd-inc=DIR sets location of the gd include files --with-cgiurl=<local-url> sets URL for cgi programs (do not use a trailing slash) --with-htmurl=<local-url> sets URL for public html --with-perlcache turns on cacheing of internally compiled Perl scripts Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. #make all this will Compile Nagios and the CGIs #make install This will Install the binaries and HTML files (documentation and main web page) #make install-init This will install the Startup scripts # make install-commandmode this will Create the required directory for command file and assign appropriate permissions to it for the external commands. # make install-config This installs *SAMPLE* config files in /usr/local/nagios/etc .You'll have to modify these sample files before you can use Nagios. This will complete the installation Now we need to know the Directory Structure and File locations #cd /usr/local/nagios You should see five different subdirectories. A brief description of what each directory contains is given below. Sub-Directory Contents bin/ Nagios core program etc/ Main, resource, object, and CGI configuration files should be put here

www.debianhelp.co.uk/nagiosinstall.htm

4/7

17/02/2013

etc/ Main, resource, object, and CGI configuration files should be put here sbin/ CGIs share/ HTML files (for web interface and online documentation) var/ Empty directory for the log file, status file, retention file, etc. var/archives Empty directory for the archived logs var/rw Empty directory for the external command file

Nagios (Network Monitoring System) Installation and configuration

Now one thing you need to concentrate is /usr/local/nagios/etc directory where all the sample configuration files stores. cgi.cfg-sample nagios.cfg-sample bigger.cfg-sample sample minimal.cfg-sample resource.cfg-sample misccommands.cfg-sample checkcommands.cfg-

The above are the sample configuration files you need to rename those files to .cfg files i am showing here one example you need to do for the other files # mv bigger.cfg-sample bigger.cfg Important Note :- In nagios 2.x(For nagios 1.x versions it creats at the time of installation) hosts.cfg,services.cfg,commands.cfg and other configuration files are not crteated by default we need to create these files using the existing sample files like bigger.cfg and minimal.cfg and other files We will see more about these file in Configuration section Now, you have a completely installed nagios to work on. The next steps would be to install the plugins and start configuring Nagios. Install Nagios Plugins In order for Nagios to be of any use to you, you need to install nagios plugins. Plugins are usually installed in the libexec/ directory of your Nagios installation (i.e. /usr/local/nagios/libexec). Plugins are scripts or binaries which perform all the service and host checks that constitute monitoring. Download the latest version of nagios Plugins from the following http://sourceforge.net/projects/nagiosplug/ The nagios-Plugins version at the time of writing this document is nagios-plugins-1.4.5 Download Nagios Plugins # wget http://mesh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.5.tar.gz Untar the downloaded file # tar -zxvf nagios-plugins-<version>.tar.gz [here nagios-plugins-1.4.5.tar.gz] This will create a new directory nagios-plugins-<version> [here nagios-plugins-1.4.5] Change to the Directory and run the Configure Script # cd nagios-plugins-1.4.5 # ./configure Run the following to make and install the plugins # make && make install This should install the pugins in the /usr/local/nagios/libexec directory. There are a few rules that all Nagios plugins should implement, making them suitable for use by Nagios. All plugins provide a --help option that displays information about the plugin and how it works. This feature helps a lot when you're trying to monitor a new service using a plugin you haven't used before. For instance, to learn how the check_ssh plugin works, run the following command. /usr/local/nagios/libexec# ./check_ssh -h check_ssh (nagios-plugins 1.3.0-alpha1) 1.1.1.1 The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute copies of the plugins under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. Copyright (c) 1999 Remi Paulmier (remi@sinfomic.fr) Usage: check_ssh -t [timeout] -p [port] <host> check_ssh -V prints version info check_ssh -h prints more detailed help by default, port is 22 This shows us that the check_ssh plugin accepts one required parameter host, and two optional paramters, timeout and port. Now the complete Nagios Directory structure bin/ Nagios core program etc/ Main, resource, object, and CGI configuration files should be put here sbin/ CGIs

www.debianhelp.co.uk/nagiosinstall.htm

5/7

17/02/2013

sbin/ CGIs share/ HTML files (for web interface and online documentation) var/ Empty directory for the log file, status file, retention file, etc. var/archives Empty directory for the archived logs var/rw Empty directory for the external command file libexec/ nagios plugins available in this

Nagios (Network Monitoring System) Installation and configuration

Now Basic installation of nagios completed.Now you need to configure the web interface for nagios. Configure the Web interface For Nagios in Debian Find how to setup the web-interface and configure the user authentication for nagios. This article also describes how to force teh CGIs to use Authentication. Once Nagios and the plugins are installed. It's time to create the front end web interface for nagios. For this, you need to configure the Alias for the web interface and the script alias for the CGIs on your webserver. In Debian with Apache2 you can do this by the following: Create the config file for nagios in Apache Creating the config file nagios (or in any name that you want the alias to called as) in the /etc/apache2/sites-available/ with the following contents (copy & paste using VI): ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Enable the website # a2ensite nagios This enables the site and you can find a soft link to the /etc/apache2/sites-available/nagios under /etc/apache2/sites-enabled/ directory. Restart apache # /etc/init.d/apache2 restart Setup User Authentication You can setup the authentication for the users to have access to the interface and hence not open to all. This can be done by # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Enter the required password when prompted. This will setup htaccess on the site by creating a new file named htpasswd.users under /usr/local/nagios/etc/ with the first user nagios admin. This forces Apache to use the htpasswd.users to check and authenticate the users You can add as many user you wish by # htpasswd /usr/local/nagios/etc/htpasswd.users (username) NOTE: Remember to remove -c from the previous command and substitute the username accordingly. Force CGI s to use Authentication For the CGIs to use Authentication on Nagios, edit the file /usr/local/nagios/etc/cgi.cfg and set use_authentication=1 You can now access the web interface at http://<IPADDRESS OR HOSTNAME>/nagios/

www.debianhelp.co.uk/nagiosinstall.htm

6/7

17/02/2013

Nagios (Network Monitoring System) Installation and configuration


This completes the setup of the web interface and the user and CGI authentication procedures. 1)When I click the "3-D Status Map" link my browser tries to download and save the statuswrl.cgi file ? A)This will happen if you do not have a VRML client/plugin installed for your web browser. Installing a VRML plugin should resolve this issue. Download VRML Plugin for your Browser http://cic.nist.gov/vrml/vbdetect.html Now you need to configure the Nagios Configuration files this is very important

New Nokia Lumia 920


www.nokia.com/Lumia_920 Worlds most innovative smartphone. Explore its amazing features now!

www.debianhelp.co.uk/nagiosinstall.htm

7/7

You might also like