Page 1 of 1
SNMP problem - No data received from host
Posted: Tue Oct 07, 2014 9:06 am
by horizn
Hi,
I am trying to add my APC ups in to my NAgios configuration, using this tutorial:
http://mihai.radoveanu.ro/2010/02/tutor ... th-nagios/
but for example, when i try:
/usr/lib/nagios/plugins/check_snmp -H 10.171.24.53 -C 'public' -o 'sysUpTime.0'
SNMP OK - Timeticks: (10145300) 1 day, 4:10:53.00 | DISMAN-EXPRESSION-MIB::sysUpTimeInstance=Timeticks: (10145300) 1 day, 4:10:53.00
I am a beginner, what is wrong?
Re: SNMP problem - No data received from host
Posted: Tue Oct 07, 2014 9:51 am
by abrist
From that output, nothing! The following is what you expect to be output from the check:
Code: Select all
SNMP OK - Timeticks: (10145300) 1 day, 4:10:53.00 | DISMAN-EXPRESSION-MIB::sysUpTimeInstance=Timeticks: (10145300) 1 day, 4:10:53.00
Where do you see the "no data received" error?
Re: SNMP problem - No data received from host
Posted: Tue Oct 07, 2014 10:05 am
by horizn
here:
I don't have problem with monitoring the rest of my devices including storage/memory usage etc.
Re: SNMP problem - No data received from host
Posted: Tue Oct 07, 2014 10:38 am
by abrist
Ah, so the check from the cli works, but not from nagios. Could you post the command config and service config for one of these failing snmp checks?
Re: SNMP problem - No data received from host
Posted: Tue Oct 07, 2014 10:59 am
by horizn
command:
Code: Select all
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
define command {
command_name notify-host-by-html-email
command_line /etc/nagios3/conf.d/templates/host.php | /usr/bin/mail -s "* $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ *" -a "MIME-Version: 1.0" -a "Content-type: text/html; charset=iso-8859-1" $CONTACTEMAIL$
}
define command {
command_name notify-service-by-html-email
command_line /etc/nagios3/conf.d/templates/service.php | /usr/bin/mail -s "* $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ *" -a "MIME-Version: 1.0" -a "Content-type: text/html; charset=iso-8859-1" $CONTACTEMAIL$
}
define command {
command_name host-html-email
command_line $USER1$/send_html_mail.php host
}
define command {
command_name service-html-email
command_line $USER1$/send_html_mail.php service
}
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/lib/nagios3/host-perfdata.out
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios3/service-perfdata.out
}
# 'check_local_disk' command definition
define command{
command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}
# 'check_local_load' command definition
define command{
command_name check_local_load
command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}
# 'check_local_procs' command definition
define command{
command_name check_local_procs
command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}
# 'check_local_users' command definition
define command{
command_name check_local_users
command_line $USER1$/check_users -w $ARG1$ -c $ARG2$
}
# 'check_local_swap' command definition
define command{
command_name check_local_swap
command_line $USER1$/check_swap -w $ARG1$ -c $ARG2$
}
# 'check_local_mrtgtraf' command definition
define command{
command_name check_local_mrtgtraf
command_line $USER1$/check_mrtgtraf -F $ARG1$ -a $ARG2$ -w $ARG3$ -c $ARG4$ -e $ARG5$
}
# 'check_snmp' command definition
define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
}
define command {
command_name check_http_site
command_line $USER1$/check_http -H $HOSTNAME$ -u "$ARG1$" -s "$ARG2$" -w $ARG3$ -c $ARG4$
}
define command {
command_name check_http_plain_site
command_line $USER1$/check_http -H $HOSTNAME$ -s "$ARG1$" -w $ARG2$ -c $ARG3$
}
define command {
command_name check_http_virtual_site
command_line $USER1$/check_http -H $ARG1$ -u "$ARG2$" -s "$ARG3$" -w $ARG4$ -c $ARG5$
}
define command {
command_name check_http_authsite
command_line $USER1$/check_http -H $HOSTNAME$ -u $ARG1$ -w $ARG2$ -c $ARG3$ --expect=HTTP/1.1
}
define command {
command_name check_https_site
command_line $USER1$/check_http -H $HOSTNAME$ --ssl -u "$ARG1$" -s "$ARG2$" -w $ARG3$ -c $ARG4$
}
define command {
command_name check_https_virtual_site
command_line $USER1$/check_http -H $ARG1$ --ssl -f follow -u "$ARG2$" -s "$ARG3$" -w $ARG4$ -c $ARG5$
}
define command {
command_name check_https_plain_virtual_site
command_line $USER1$/check_http -H $ARG1$ --ssl -f follow -s "$ARG2$" -w $ARG3$ -c $ARG4$
}
# This one is for ssl sites with self-issued certificates, which are not present on histidine
define command {
command_name check_https_site2
command_line $USER1$/check_http -H $HOSTNAME$ --ssl -u "$ARG1$" -w $ARG2$ -c $ARG3$
}
# And now for a HTTPS site, which has a different host header
define command {
command_name check_https_other
command_line $%USER1$/check_http -H $ARG1$ --ssl -u "$ARG2$" -w $ARG3$ -c $ARG4$
}
define command{
command_name check_ping_other
command_line /usr/lib/nagios/plugins/check_ping -H '$ARG1$' -w '$ARG2$' -c '$ARG3$'
}
define command {
command_name check_dns_internal
command_line $USER1$/check_dns -H dns1 -s $HOSTADDRESS$ -a ip
}
define command {
command_name check_dns_external
command_line $USER1$/check_dns -H http://www.domain.com -s $ARG1$ -a ip
}
define command {
command_name check_ldap_internal
command_line $USER1$/check_ldap -H '$HOSTADDRESS$' -b 'cn=Users,cn=Builtin,dc=domain,dc=com' -D cn=LDAPsearch,cn=Users,dc=domain,dc=com -P password -3 -w $ARG1$ -c $ARG2$
}
define command {
command_name check_tunnel
command_line $USER1$/check_snmp -P 2c -C some -H $HOSTADDRESS$ -o 1.3.6.1.2.1.2.2.1.7.$ARG1$ -w 1 -c 1
}
define command {
command_name check_snmp_mem
command_line $USER1$/check_snmp_mem.pl -H $HOSTADDRESS$ -C some -2 -N -w $ARG1$ -c $ARG2$
}
define command }
command_name check_ssh_mem
command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -l nagios -i /home/nagios/.ssh/id_rsa -C '/usr/lib/nagios/check_mem.pl -u -w $ARG1$ -c $ARG2$'
}
define command {
command_name check_snmp_drives
command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C some -2 -f -T pu -m 'Swap|[Mm]emory|[Uu]sb' -e -w $ARG1$ -c $ARG2$
}
define command{
command_name check_snmp_load
command_line $USER1$/check_snmp_load.pl -2 -C some -H $HOSTADDRESS$ -T $ARG1$ -w $ARG2$ -c $ARG3$
}
define command }
command_name check_ssh_load
command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -l nagios -i /home/nagios/.ssh/id_rsa -C '/usr/lib/nagios/check_load -r -w $ARG1$ -c $ARG2$'
}
define command {
command_name check_snmp_procs
command_line $USER1$/check_snmp_process.pl -C some -2 -H $HOSTADDRESS$ -n '' -w $ARG1$ -c $ARG2$
}
define command {
command_name check_snmp_proc_by_name
command_line $USER1$/check_snmp_process.pl -C some -2 -H $HOSTADDRESS$ -n $ARG1$ --warn=0,1 --critical=0,2
}
define command {
command_name check_snmp_proc_by_name_and_args
command_line $USER1$/check_snmp_process.pl -C some -2 -H $HOSTADDRESS$ -n $ARG1$ --warn=0,1 --critical=0,2 -A
}
define command {
command_name check_snmp_procs_by_name
command_line $USER1$/check_snmp_process.pl -C some -2 -H $HOSTADDRESS$ -n $ARG1$ --warn=$ARG2$,$ARG3$ --critical=$ARG4$,$ARG5$
}
define command {
command_name check_snmp_vm_proc_by_name
command_line $USER1$/check_snmp_process.pl -C some -2 -H $ARG2$ -n $ARG1$ --warn=0,1 --critical=0,2
}
define command {
command_name check_snmp_windrive
command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C some -2 -f -T pu -m ^[$ARG1$] -w $ARG2$ -c $ARG3$
}
define command {
command_name check_snmp_winmem
command_line $USER1$/check_snmp_storage.pl -C some -H $HOSTADDRESS$ -f -m "^$ARG1$" -w $ARG2$ -c $ARG3$
}
define command {
command_name check_win_snmp_load
command_line $USER1$/check_win_snmp_cpuload.pl $HOSTADDRESS$ some $ARG1$ $ARG2$
}
#'check_hpmemoryfree' commnand definition
define command{
command_name check_hpmemoryfree
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.6.1 -w $ARG2$ -c $ARG3$ -u bytes -l free
}
#'check_hptemp' commnand definition
define command{
command_name check_hp_cpu
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0 -t 5 -w $ARG2$ -c $ARG3$ -u % -l '5min CPU'
}
#'check_hptemp' commnand definition
define command{
command_name check_hpfan
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.1 -w $ARG2$ -c $ARG3$ -l 'Fan Status'
}
#'check_hptemp' commnand definition
define command{
command_name check_hppower
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.2 -w $ARG2$ -c $ARG3$ -l 'Power Supply Status'
}
#'check_hptemp' commnand definition
define command{
command_name check_hptemp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public $ARG1$ -o .1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.4 -w $ARG2$ -c $ARG3$ -l 'Temperature Status'
}
# This command accepts the colour of the cartridge as argument, or any other consumable (eg fuser, waste, etc.)
# User 'ALL' for all consumables in one go.
define command {
command_name check_printer
command_line $USER1$/check_snmp_printer.sh $HOSTADDRESS$ public CONSUM $ARG1$
}
# This command accepts the number of a tray to be checked
define command {
command_name check_printer_tray
command_line $USER1$/check_snmp_printer.sh $HOSTADDRESS$ public TRAY $ARG1$
}
################################################################################
#
# Stream checks
#
# I (WSZ) have written a shell script that uses mplayer and allows to check
# whether a particular stream is running and matches given values
# The first argument must always be a complete url, e.g. udp://1.2.3.4:1234
# or anything else that mplayer can open and run
#
################################################################################
# This command expects as second argument a list of NAME=value pairs, separated by colons
define command {
command_name check_stream
command_line $USER1$/check_stream.sh $ARG1$ $ARG2$
}
# This command expects as second argument the name of the video code, and third argument the name of the audio codec
define command {
command_name check_stream_simple
command_line $USER1$/check_stream.sh $ARG1$ $ARG2$ $ARG3$
}
define command {
command_name check_snmp_inverter
command_line $USER1$/check_snmp_inverter.sh -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$
}
services are in external ups.cfg file:
Code: Select all
define host{
use generic-apc
host_name apc86a09d
alias this is a standard apc ups
address 10.171.24.53 ; IP address of the device
}
define service{
use generic-service ;
hostgroup_name 007-ups-all
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}
define service{
use generic-service ;
hostgroup_name 007-ups-all
service_description Uptime
check_command check_snmp!-C Default_snmp_string -o sysUpTime.0
}
#################################
# #
# APC UPS Checks #
# #
#################################
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC Battery temperature
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.2.2.2.0 -C Default_snmp_string -w 35 -c 45 -u C
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC Battery run time remaining
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.2.2.3.0 -C Default_snmp_string
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC Battery needs replacement
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.2.2.4.0 -C Default_snmp_string -c 2
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC Line-in voltage
#check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.3.2.1.0 -C Default_snmp_string -w 280 -c 300 -u VAC
check_command check_snmp_inverter!Default_snmp_string!.1.3.6.1.4.1.318.1.1.1.3.2.1.0 -w 200 -c 100 -u VAC
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC UPS load
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.4.2.3.0 -C Default_snmp_string -w 70 -c 90 -u %
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC output current
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.4.2.4.0 -C Default_snmp_string -w 40 -c 50 -u A
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC output voltage
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.4.2.1.0 -C Default_snmp_string -w 230 -c 245 -u VAC
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC status
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.4.1.1.0 -C Default_snmp_string -c 3
}
define service{
use generic-service ;
hostgroup_name 007-ups-all-apc
service_description APC UPS Model
check_command check_snmp!-o .1.3.6.1.4.1.318.1.1.1.1.1.1.0 -C Default_snmp_string
}
Re: SNMP problem - No data received from host
Posted: Wed Oct 08, 2014 12:54 pm
by lmiltchev
Are you sure that you are using the correct OID? Have you tested running these checks from the CLI?
Code: Select all
./check_snmp -H 10.171.24.53 -C 'community' -o .1.3.6.1.4.1.318.1.1.1.2.2.2.0
Re: SNMP problem - No data received from host
Posted: Fri Oct 10, 2014 5:19 am
by horizn
lmiltchev wrote:Are you sure that you are using the correct OID? Have you tested running these checks from the CLI?
Code: Select all
./check_snmp -H 10.171.24.53 -C 'community' -o .1.3.6.1.4.1.318.1.1.1.2.2.2.0
yes that was the problem. I have fixed it before you've answered me. however thank you.