View source for nagios

{{anchor href="top"}}
Hits :  **{{hits}}**

== Nagios :: Mini How To ==

Nagios is an Open Source host, service and network monitoring program.

{{ToC from="h2" to="h3"}}

=== Nagios Installation ===

Below are simple steps to install nagios to our system.

==== Users / Groups ====

We must create a new user / group for nagios software.

%%(bash)
# useradd nagios
%%

Verify

%%(bash)
# grep nagios /etc/passwd /etc/group

/etc/passwd:nagios:x:1001:1001::/home/nagios:/bin/sh
/etc/group:nagios:x:1001:
%%

Next we must create a new group for nagios and apache user

%%(bash)
# groupadd nagcmd
# usermod -G nagcmd nagios
%%

The apache user can be defined by this:

%%(bash)
# grep '^User ' /usr/local/apache2/conf/httpd.conf|cut -d' ' -f2
apache 

# usermod -G nagcmd apache
%%

((#top))
-----------

==== Nagios Installation ====

We should create the installation path and transfer the ownership tou user nagios

%%(bash)
mkdir -pv /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios
%%

Downloading the sources

%%(bash)
wget -c http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-2.10.tar.gz
tar zxfv nagios-2.10.tar.gz
cd nagios-2.10
%%

Configure &  compile nagios

%%(bash)
./configure
make all
make install
make install-init
make install-commandmode
make install-config
%%

If we want to use the sample confs from the nagios installation we should do this:

%%(bash)
# cd /usr/local/nagios/etc/
# for i in `ls` ; do mv $i `echo $i | cut -d'-' -f1` ; done
%%

((#top))
-----------

==== Nagios-plugins ===

After we finished the nagios installation we should continue with the installation of nagios-plugin.
So we download the sources from below:

%%(bash)
# wget -c http://heanet.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.10.tar.gz
# tar zxvf nagios-plugins-1.4.10.tar.gz
%%

And we build nagios plugin :


%%(bash)
# cd nagios-plugins-1.4.10
# ./configure LDFLAGS=-ldl
# make
# make install
%%

((#top))
-----------

==== Start Nagios ====

We can start nagios application by doing this :

%%(bash)
# /etc/init.d/nagios start 
%%

((#top))
-----------

==== Apache Virtual Host ====

if we want to setup apache, we simply add the below virtual host:

%%(bash)
# cat > /usr/local/apache2/conf/nagios.conf << EOF

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>

EOF

%%

And add at the apache conf httpd.conf file the below conf line:

%%(bash)
# echo Include conf/nagios.conf >> /usr/local/apache2/conf/httpd.conf
%%

((#top))
-----------

==== Adding users to nagios web host ====

%%(bash)
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password: ******
Re-type new password: ******
Adding password for user nagiosadmin

%%

((#top))
-----------

==== Basic Configuration === 

Change configuration for nagios group to access / view the hosts

%%(bash)
# vim /usr/local/nagios/etc/cgi.cfg
[ edit ] 
use_authentication=1
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin
authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin

# /etc/init.d/nagios restart
%%

((#top))
-----------


%%(bash)
/usr/local/apache2/bin/httpd -k restart

lynx http://localhost/nagios

username: nagiosadmin
password: **********

%%

Verify Configuration

%%(bash)
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios start
ps -ef | grep nagios
lynx http://localhost/nagios

%%

((#top))
-----------

=== fruity ===

http://fruity.sourceforge.net/

Groundwork Fruity is a PHP based web-frontend to your Nagios configuration

%%(code)
$ wget -c http://belnet.dl.sourceforge.net/sourceforge/fruity/fruity-1.0-rc2.tar.gz
$ tar zxvf fruity-1.0-rc2.tar.gz
$ cd fruity-1.0-rc2
%%
((#top))
-----------