Groundwork, Nagios and SNMP Traps Integration....!!

Pre Requisites
Minimal installation of CentOS with base package

Disabling selinux
vi /etc/selinux/config
SELINUX=disabled

Yum –y install gcc
cd /usr/src/
wget http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.9.tar.bz2
tar xvf perl-5.8.9.tar.bz2
cd perl-5.8.9
./configure.gnu --prefix=/usr
make
make test
make install

Installing perl modules
perl -MCPAN -e shell
install Text::ParseWords
install Getopt::Long
install Config::IniFiles
install Time::HiRes
install Sys::Hostname
install File::Basename
install Text::Balanced

Installing groundwork
chmod +x groundwork-5.3.0-br46-gw333-linux-32-installer.bin
./groundwork-5.3.0-brXX-gwYYY-linux-32-installer.bin --mode text

Installing net-snmp
yum -y install net-snmp
download net-snmp package to /usr/src (http://www.net-snmp.org)
tar xvzf net-snmp-5.4.2.1.tar.gz
cd net-snmp-5.4.2.1
./configure --with-perl-modules
make
make test
make install

Installing snmptt
tar xvzf snmptt_1.2.tgz
cd /usr/src/snmptt_1.2
cp snmptt /usr/sbin/
cp snmptthandler /usr/sbin/
cd /usr/sbin/
chmod +x snmptt
chmod +x snmptthandler
cd /usr/src/snmptt_1.2
cp snmptt.ini /etc/snmp/
cd /etc/snmp/
create a new file;
vi snmptrapd.conf
and add the following line;
traphandle default /usr/sbin/snmptt

vi /etc/init.d/snmptrapd
Change the OPTIONS="-Lsd -p /var/run/snmptrapd.pid" as below
OPTIONS="-On -Lsd -p /var/run/snmptrapd.pid"

/etc/init.d/snmptrapd restart
cp /usr/src/snmptt_1.2/snmptt-init.d /etc/init.d/snmptt
cd /etc/init.d/
chmod 755 snmptt
chkconfig --add snmptt
chkconfig --level 2345 snmptt on
/etc/init.d/snmptt start

cp /usr/src/snmptt_1.2/snmpttconvert /usr/bin
cp /usr/src/snmptt_1.2/snmpttconvertmib /usr/bin
cd /usr/bin/
chmod 755 snmpttconvert

chmod 755 snmpttconvertmib

snmptt.ini configurations with following values (/etc/snmp/snmptt.ini)
dns_enable = 1
strip_domain = 1
net_snmp_perl_enable = 1
pre_exec_enable = 0
unknown_trap_log_enable = 1


/etc/init.d/snmptt start

Opening 80 port from the firewall
vi /etc/sysconfig/iptables
add the following line
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
/etc/init.d/iptables restart

Access groundwork through a web browser
User name: admin
P/w: admin

Enable notifications
Go to Control --> Nagios main Configurations --> Enable notifications: check the box --> save --> commit

Adding a host
Go to Configuration --> Host Wizard and follow steps Go to Control --> commit --> commit

Submit-check-results
Download submit_check_result from nagios standard distribution
Copy it to /usr/local/groundwork/nagios/eventhandlers/

chmod +x submit_check_result
vi submit_check_result
and change the nagios.cmd file path
/usr/local/groundwork/nagios/var/spool/nagios.cmd

Compiling a MIB
snmpttconvertmib --in= --out=/etc/snmp/snmptt.conf1 --net_snmp_perl

Edit the compiled file and add the following to each and every trap
EXEC /usr/local/groundwork/nagios/eventhandlers/submit_check_result $R TRAP 1 "$*"

Add compiled file paths to the /etc/snmp/snmptt.ini script [...]
[TrapFiles]
snmptt_conf_files = << END
/etc/snmp/snmptt.conf1
/etc/snmp/snmptt.conf2
END

Creating TRAP service
Create a new service with following details

Name : TRAP
use :generic-service
is_volatile :1
check_command :check-host-alive
max_check_attempts :1
normal_check_interval :1
retry_check_interval :1
passive_checks_enabled :1 Active_checks_enabled :0
check_period :24/7
notification_interval :31536000
contact_groups :somegroup

To enable audio alerts edit the following file.
/usr/local/groundwork/apache2/confg/httpd.conf
Add following lines.

ScriptAlias /nagios/cgi-bin "/usr/local/groundwork/nagios/sbin"
< Directory "/usr/local/groundwork/nagios/sbin">
# Uncomment for Guava Single Sign On
AuthType Basic
require valid-user
# The following line should be change to specify the default page for invalid access attempts to this directory
TKTAuthLoginURL http://localhost:80/monitor/index.php
TKTAuthCookieName nagios_auth_tkt
TKTAuthTimeout 0
# Uncomment to disable Guava Single Sign On
# AllowOverride AuthConfig
# Options ExecCGI
# Order allow,deny
# Allow from all
PassEnv LD_LIBRARY_PATH
PassEnv NAGIOS_CGI_CONFIG
< /directory>

Alias /nagios/media "/usr/local/groundwork/nagios/share/media"
< Directory "/usr/local/groundwork/nagios/share/media">
# Uncomment for Guava Single Sign On
AuthType Basic
require valid-user
# The following line should be change to specify the default page for invalid access attempts to this directory
TKTAuthLoginURL http://localhost:80/monitor/index.php
TKTAuthCookieName nagios_auth_tkt
TKTAuthTimeout 0
< /directory>

Hi Friends,,,