Well now we are going to monitor a Netapp storage server. For monitoring we are going to use the SNMP protocol(If you don't know how to activate SNMP in a netapp HERE we have a manual) and the checkups are going to be Memory, CPU, Disk, PING, Temperature, Fans, Disk Failure and battery.
Once we have installed and configured SNMP we are going to start monitoring.
Define the commands:
To define we have to add the following commands to the commands.cfg file, this file will be... depending on the installation that you would have performed:
vi /etc/nagios3/commands.cfgAnd we add the following:
define command {
command_name check_netapp_cpu
command_line /usr/bin/perl $USER1$/check_netapp3.pl -H $HOSTADDRESS$ -C public -v $ARG1$ -w $ARG2$ -c $ARG3$
}
define command{
command_name check_netapp_diskused
command_line /usr/bin/perl $USER1$/check_netapp_disk -H $HOSTADDRESS$ -C $ARG1$ -t $ARG2$ -v DISKUSED -o $ARG3$ -w $ARG4$ -c $ARG5$
}
define command{
command_name check_netapp_nvram
command_line $USER1$/check_netapp -H $HOSTADDRESS$ -P 1 -C $ARG1$ -t $ARG2$ -v NVRAM
}
define command{
command_name check_netapp_faileddisk
command_line $USER1$/check_netapp -H $HOSTADDRESS$ -P 1 -C $ARG1$ -t $ARG2$ -v FAILEDDISK
}
define command{
command_name check_netapp_fan
command_line $USER1$/check_netapp -H $HOSTADDRESS$ -P 1 -C $ARG1$ -t $ARG2$ -v FAN
}
define command{
command_name check_netapp_power
command_line $USER1$/check_netapp -H $HOSTADDRESS$ -P 1 -C $ARG1$ -t $ARG2$ -v PS
}
define command{
command_name check_netapp_temp
command_line $USER1$/check_netapp -H $HOSTADDRESS$ -P 1 -C $ARG1$ -t $ARG2$ -v TEMP
}We create the folders where we are going to host the configuration files
mkdir /etc/nagios3/etc/cfg/Netapp/We access the directory
cd /etc/nagios3/etc/cfg/Netapp/We create the hosts.cfg file with the following content
hostgroup_name grupo-netapp
alias Almacenamiento Netapp
members redorbitanetapp_192.168.1.18
}
#Ping to hosts
define service {
use netapp-srv
hostgroup_name grupo-netapp
service_description netapp redorbitanetapp – ping
check_command check_ping!100.0,10%!500.0,20%
}
#Hosts Definition
define host {
use netapp-srv
host_name redorbitanetapp_192.168.1.18
alias redorbitanetapp
address 192.168.1.18
}We create the file templete.cfg in which we are going to define the services.
define host {
name netapp-srv
flap_detection_enabled 1
notification_period 24×7
notification_options d,u,r
retain_status_information 1
retain_nonstatus_information 1
contact_groups grupo-netapp
# check_command check_command_blank
max_check_attempts 3
register 0
}
define service {
name netapp-srv
check_period 24×7
flap_detection_enabled 1
notification_period 24×7
notification_options w,u,c,r
parallelize_check 1
retain_status_information 1
retain_nonstatus_information 1
max_check_attempts 3
normal_check_interval 3
retry_check_interval 1
contact_groups grupo-netapp
register 0
}We define the contact file contacts.cfg
define contact{
contact_name grupo-netapp
alias grupo-netapp
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email root@localhost
}
define contactgroup {
contactgroup_name grupo-netapp
alias Grupo de Linux
members grupo-netapp
}And finally we define the redorbitanetapp.cfg checks
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Ocupacion Disco Aggregado0
check_command check_netapp_diskused!public!120!aggr0!80!50
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description CPULOAD
check_command check_netapp_cpu!CPULOAD!80!90
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Fallo en disco
check_command check_netapp_faileddisk!public!120
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Estado Bateria Nvram
check_command check_netapp_nvram!public!120
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Temperatura
check_command check_netapp_temp!public!120
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Ventiladores
check_command check_netapp_fan!public!120
}
define service{
use netapp-srv
host_name redorbitanetapp_192.168.1.18
service_description Fuente de Alimentacion
check_command check_netapp_power!public!120
}Once the file is created we have to add its path to the nagios.cfg file
vi /etc/nagios3/nagios.cfgAt the end of the file we add the following:
############## Monitorización Neapp #############
cfg_file=/etc/nagios3/etc/cfg/Netapp/templete.cfg
cfg_file=/etc/nagios3/etc/cfg/Netapp/hosts.cfg
cfg_file=/etc/nagios3/etc/cfg/Netapp/redorbitanetapp.cfg
cfg_file=/etc/nagios3/etc/cfg/Netapp/contacts.cfgWe check to see if there are any errors in the configuration files
rokitoh@nagios:/etc/nagios3/etc/cfg/Netapp# /etc/init.d/nagios3 check
Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL
Website: http://www.nagios.org
Reading configuration data…
Read main config file okay…
Processing object config file ‘/etc/nagios3/commands.cfg’…
Processing object config directory ‘/usr/lib/nagios/plugins’…
Processing object config file ‘/usr/lib/nagios/plugins/mailq.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_storage.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ifstatus.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_load.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/breeze.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ftp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/apt.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/tcp_udp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ntp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/dummy.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mrtg.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/rpc-nfs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/users.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/games.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/real.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/pgsql.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_vrrp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/flexlm.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_win.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ssh.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/news.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/telnet.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/radius.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/fping.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/netware.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_cpfw.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_process.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/procs.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/ldap.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/mysql.cfg’…
Processing object config directory ‘/usr/lib/nagios/plugins/doc’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_int.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_mem.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/snmp_env.cfg’…
Processing object config file ‘/usr/lib/nagios/plugins/load.cfg’…
Processing object config directory ‘/etc/nagios3/conf.d’…
Processing object config file ‘/etc/nagios3/conf.d/timeperiods_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/contacts.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-host_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/conf.d/generic-service_nagios2.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/cpd01.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Windows/contacts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/cacti.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Linux/contacts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Netapp/templete.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Netapp/hosts.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Netapp/redorbitanetapp.cfg’…
Processing object config file ‘/etc/nagios3/etc/cfg/Netapp/contacts.cfg’…
Warning: Duplicate definition found for service ‘Uso CPU’ on host ‘cacti_192.168.1.111’ (config file ‘/etc/nagios3/etc/cfg/Linux/cacti.cfg’, starting on line 23)
Warning: Duplicate definition found for service ‘Uso CPU’ on host ‘cacti_192.168.1.111’ (config file ‘/etc/nagios3/etc/cfg/Linux/cacti.cfg’, starting on line 16)
Read object config files okay…
Running pre-flight check on configuration data…
Checking services…
Checked 24 services.
Checking hosts…
Checked 3 hosts.
Checking host groups…
Checked 3 host groups.
Checking service groups…
Checked 0 service groups.
Checking contacts…
Checked 4 contacts.
Checking contact groups…
Checked 4 contact groups.
Checking service escalations…
Checked 0 service escalations.
Checking service dependencies…
Checked 0 service dependencies.
Checking host escalations…
Checked 0 host escalations.
Checking host dependencies…
Checked 0 host dependencies.
Checking commands…
Checked 193 commands.
Checking time periods…
Checked 4 time periods.
Checking for circular paths between hosts…
Checking for circular host and service dependencies…
Checking global event handlers…
Checking obsessive compulsive processor commands…
Checking misc settings…
Total Warnings: 0
Total Errors: 0Things look okay – No serious problems were detected during the pre-flight check
And we restart nagios
rokitoh@nagios:/etc/nagios3/etc/cfg/Netapp# /etc/init.d/nagios3 reload
Reloading nagios3 monitoring daemon configuration files: nagios3.
rokitoh@nagios:/etc/nagios3/etc/cfg/Netapp#We open nagios in our favorite browser and if everything went well we should have it OK!
Greetings, rokitoh!
Comments