
Para fazer esse monitoramento é necessário comprar uma placa de rede, custa em torno de R$ 300,00 (http://goo.gl/Y22hjn)
Bem vamos ao que interessa vamos entrar no usr/local/nagios/etc/objects/commands.cfg e colocar o código descrito abaixo:
define command{
command_name snmp_ups_capacity
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.2.2.1.0 -l '\Battery Charge\' -u '\%\'
define command{
command_name snmp_ups_current
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.4.2.4.0 -w 30 -c 50 -l '\Output Current\' -u '\Amperes\'
command_name snmp_ups_frequency_in
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.3.2.4.0 -l '\Input Freq\' -u '\Hertz\'
command_name snmp_ups_frequency_out
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.4.2.2.0 -l '\Output Freq\' -u '\Hertz\'
define command{
command_name snmp_ups_lasttest_date
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.7.2.4.0 -l '\Last Test Date\'
define command{
command_name snmp_ups_lasttest_result
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.7.2.3.0 -c 2 -l '\1=Pass 2=Fail\'
define command{
command_name snmp_ups_load
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.4.2.3.0 -w 60 -c 90 -l '\Current Load\' -u '\%\'
}
define command{
command_name snmp_ups_runtime
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.2.2.3.0 '\RunTime\'
}
define command{
command_name snmp_ups_stat
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.2.1.1.0 -w 3 -c 4 -l '\Main UPS Status\'
command_name snmp_ups_temp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.2.2.2.0 -w 40 -c 45 -l '\Internal Temp\' -u '\Celsius\'
}
define command{
command_name snmp_ups_voltage_in
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.3.2.1.0 -l '\Output Voltage\' -u '\Volts\'
}
command_name snmp_ups_voltage_out
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o .1.3.6.1.4.1.318.1.1.1.4.2.1.0 -l '\Output Voltage\' -u '\Volts\'
Após ter atualizado o commands.cfg, é necessário criar um outro arquivo apc.cfg, vou disponibilizar ele abaixo, basta apenas configurar o nome dos hosts:
###############################################################################
# APCUPS.CFG - CONFIG FILE FOR MONITORING APC UPS
#
#
#
###############################################################################
# HOST DEFINITIONS
###############################################################################
# Define the UPS that we'll be monitoring
define host{
use generic-service
host_name NOBREAK
alias My APC 2200 Main Server
notification_period 24x7
check_period 24x7
contacts nagiosadmin
address 192.168.1.1
}
# APCUPS.CFG - CONFIG FILE FOR MONITORING APC UPS
#
#
#
###############################################################################
# HOST DEFINITIONS
###############################################################################
# Define the UPS that we'll be monitoring
define host{
use generic-service
host_name NOBREAK
alias My APC 2200 Main Server
notification_period 24x7
check_period 24x7
contacts nagiosadmin
address 192.168.1.1
}
###############################################################################
# HOST GROUP DEFINITIONS
###############################################################################
define hostgroup{
hostgroup_name apcups
alias apcups
members NOBREAK
}
###############################################################################
# SERVICE DEFINITIONS
###############################################################################
# Ping UPS
define service{
use local-service
host_name NOBREAK
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service
host_name NOBREAK
service_description UPS Capacity
check_command snmp_ups_capacity! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Current
check_command snmp_ups_current! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Freq In
check_command snmp_ups_frequency_in! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Freq Out
check_command snmp_ups_frequency_out! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Load
check_command snmp_ups_load! -H $HOSTADDRESS$ -C public
}
#define service{
# use local-service
# host_name NOBREAK
# service_description UPS Test Date
# check_command snmp_ups_lasttest_date! -H $HOSTADDRESS$ -C public
# }
#define service{
# use local-service
# host_name NOBREAK
# service_description UPS Test Result
# check_command snmp_ups_lasttest_result! -H $HOSTADDRESS$ -C public
# }
# HOST GROUP DEFINITIONS
###############################################################################
define hostgroup{
hostgroup_name apcups
alias apcups
members NOBREAK
}
###############################################################################
# SERVICE DEFINITIONS
###############################################################################
# Ping UPS
define service{
use local-service
host_name NOBREAK
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service{
use local-service
host_name NOBREAK
service_description UPS Capacity
check_command snmp_ups_capacity! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Current
check_command snmp_ups_current! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Freq In
check_command snmp_ups_frequency_in! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Freq Out
check_command snmp_ups_frequency_out! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Load
check_command snmp_ups_load! -H $HOSTADDRESS$ -C public
}
#define service{
# use local-service
# host_name NOBREAK
# service_description UPS Test Date
# check_command snmp_ups_lasttest_date! -H $HOSTADDRESS$ -C public
# }
#define service{
# use local-service
# host_name NOBREAK
# service_description UPS Test Result
# check_command snmp_ups_lasttest_result! -H $HOSTADDRESS$ -C public
# }
define service{
use local-service
host_name NOBREAK
service_description UPS Status
check_command snmp_ups_stat! -H $HOSTADDRESS$ -C public
}
use local-service
host_name NOBREAK
service_description UPS Status
check_command snmp_ups_stat! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS RunTime
check_command snmp_ups_runtime! -H $HOSTADDRESS$ -C public
}
use local-service
host_name NOBREAK
service_description UPS RunTime
check_command snmp_ups_runtime! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Temp
check_command snmp_ups_temp! -H $HOSTADDRESS$ -C public
}
use local-service
host_name NOBREAK
service_description UPS Temp
check_command snmp_ups_temp! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Volts In
check_command snmp_ups_voltage_in! -H $HOSTADDRESS$ -C public
}
use local-service
host_name NOBREAK
service_description UPS Volts In
check_command snmp_ups_voltage_in! -H $HOSTADDRESS$ -C public
}
define service{
use local-service
host_name NOBREAK
service_description UPS Volts Out
check_command snmp_ups_voltage_out! -H $HOSTADDRESS$ -C public
}
use local-service
host_name NOBREAK
service_description UPS Volts Out
check_command snmp_ups_voltage_out! -H $HOSTADDRESS$ -C public
}
#------------------------------------------------------------------------------
Não esquecer de entrar no arquivo nagios.cfg e colocar a linha abaixo:
Pronto agora é só reiniciar o nagios: /etc/init.d/nagios restart
Obrigado por ler esse post, não fui eu que desenvolvi esse script o autor foi
Jeff Manross, deixo os créditos a ele.

Justo o que procurava sobre nobreak. Obrigada
ResponderExcluir