check_snmp not working but snmpget works

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Kerflumpre
Posts: 30
Joined: Fri Apr 22, 2011 6:50 pm

check_snmp not working but snmpget works

Post by Kerflumpre »

Nagios is 4.0.8 with plugins 2.0.3. If I run check_snmp it times out. If I run snmpget it works. What might be the cause?

Code: Select all

root@nagios:/usr/local/nagios/libexec# ./check_snmp -P 1 -C COMMUNITY -H 192.168.1.1 -o iso.3.6.1.2.1.31.1.1.1.16.1
CRITICAL - Plugin timed out while executing system call

root@nagios:/usr/local/nagios/libexec# snmpget -v 1 -c COMMUNITY 192.168.1.1 iso.3.6.1.2.1.31.1.1.1.16.1
iso.3.6.1.2.1.31.1.1.1.16.1 = INTEGER: 1
User avatar
rhassing
Posts: 416
Joined: Sat Oct 05, 2013 10:29 pm
Location: Netherlands

Re: check_snmp not working but snmpget works

Post by rhassing »

I cannot reproduce your problem

Code: Select all

[rhg@mona plugins]$ ./check_snmp -P 1 -c public -H 172.16.161.1 -o iso.3.6.1.2.1.31.1.1.1.16.1
SNMP OK - true(1) | 
[rhg@mona plugins]$ snmpget -v 1 -c public 172.16.161.1 iso.3.6.1.2.1.31.1.1.1.16.1
IF-MIB::ifPromiscuousMode.1 = INTEGER: true(1)
This system is also running Nagios 4.0.8 with plugins 2.0.3

Could you try running check_snmp with strace?

Code: Select all

strace ./check_snmp -P 1 -c public -H 172.16.161.1 -o iso.3.6.1.2.1.31.1.1.1.16.1
execve("./check_snmp", ["./check_snmp", "-P", "1", "-c", "public", "-H", "172.16.161.1", "-o", "iso.3.6.1.2.1.31.1.1.1.16.1"], [/* 22 vars */]) = 0
brk(0)                                  = 0x9b08000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7721000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=37881, ...}) = 0
mmap2(NULL, 37881, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7717000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\3554\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=133312, ...}) = 0
mmap2(0x34a000, 107044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x34a000
mmap2(0x361000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0x361000
mmap2(0x363000, 4644, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x363000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`:4\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=19784, ...}) = 0
mmap2(0x343000, 16500, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x343000
mmap2(0x346000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0x346000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\16\34\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1906348, ...}) = 0
mmap2(0x1aa000, 1665452, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x1aa000
mprotect(0x33a000, 4096, PROT_NONE)     = 0
mmap2(0x33b000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x190) = 0x33b000
mmap2(0x33e000, 10668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x33e000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7716000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7715000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7716b30, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
access("/etc/sysconfig/32bit_ssse3_memcpy_via_32bit_ssse3_memmove", F_OK) = -1 ENOENT (No such file or directory)
access("/etc/sysconfig/32bit_ssse3_memcpy_via_32bit_ssse3_memmove", F_OK) = -1 ENOENT (No such file or directory)
mprotect(0x361000, 4096, PROT_READ)     = 0
mprotect(0x346000, 4096, PROT_READ)     = 0
mprotect(0x33b000, 8192, PROT_READ)     = 0
mprotect(0x1a6000, 4096, PROT_READ)     = 0
munmap(0xb7717000, 37881)               = 0
set_tid_address(0xb7716b98)             = 2687
set_robust_list(0xb7716ba0, 0xc)        = 0
futex(0xbfb23c34, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0xbfb23c34, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, bfb23c44) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x34e770, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x34ec70, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="mona.somedomain.nl", ...}) = 0
brk(0)                                  = 0x9b08000
brk(0x9b29000)                          = 0x9b29000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=99158544, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7515000
close(3)                                = 0
time(NULL)                              = 1415350229
rt_sigaction(SIGALRM, {0x804e4a0, [ALRM], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
alarm(10)                               = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
pipe([3, 4])                            = 0
pipe([5, 6])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7716b98) = 2688
close(4)                                = 0
close(6)                                = 0
read(3, "IF-MIB::ifPromiscuousMode.1 = IN"..., 4096) = 47
read(3, "", 4096)                       = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
read(5, "", 4096)                       = 0
close(3)                                = 0
waitpid(2688, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 2688
alarm(0)                                = 10
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7720000
write(1, "SNMP OK - true(1) | \n", 21SNMP OK - true(1) | 
)  = 21
exit_group(0)                           = ?
Rob Hassing
Image
Kerflumpre
Posts: 30
Joined: Fri Apr 22, 2011 6:50 pm

Re: check_snmp not working but snmpget works

Post by Kerflumpre »

Result

Code: Select all

strace ./check_snmp -P 1 -c COMMUNITY -H 192.168.1.1 -o iso.3.6.1.2.1.31.1.1.1.16.1
execve("./check_snmp", ["./check_snmp", "-P", "1", "-c", "COMMUNITY", "-H", "192.168.1.1", "-o", "iso.3.6.1.2.1.31.1.1.1.16.1"], [/* 15 vars */]) = 0
brk(0)                                  = 0x255a000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be7f000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=25871, ...}) = 0
mmap(NULL, 25871, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ff01be78000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\\\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=131107, ...}) = 0
mmap(NULL, 2208672, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff01ba46000
mprotect(0x7ff01ba5d000, 2093056, PROT_NONE) = 0
mmap(0x7ff01bc5c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7ff01bc5c000
mmap(0x7ff01bc5e000, 13216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ff01bc5e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=14768, ...}) = 0
mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff01b842000
mprotect(0x7ff01b844000, 2097152, PROT_NONE) = 0
mmap(0x7ff01ba44000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7ff01ba44000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\357\1\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1595408, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be77000
mmap(NULL, 3709016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7ff01b4b8000
mprotect(0x7ff01b638000, 2097152, PROT_NONE) = 0
mmap(0x7ff01b838000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x180000) = 0x7ff01b838000
mmap(0x7ff01b83d000, 18520, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7ff01b83d000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be76000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be75000
arch_prctl(ARCH_SET_FS, 0x7ff01be76700) = 0
mprotect(0x7ff01b838000, 16384, PROT_READ) = 0
mprotect(0x7ff01ba44000, 4096, PROT_READ) = 0
mprotect(0x7ff01bc5c000, 4096, PROT_READ) = 0
mprotect(0x7ff01be81000, 4096, PROT_READ) = 0
munmap(0x7ff01be78000, 25871)           = 0
set_tid_address(0x7ff01be769d0)         = 31118
set_robust_list(0x7ff01be769e0, 0x18)   = 0
futex(0x7fffcb05676c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7ff01be76700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x7ff01ba4bad0, [], SA_RESTORER|SA_SIGINFO, 0x7ff01ba55030}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7ff01ba4bb60, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7ff01ba55030}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0)                                  = 0x255a000
brk(0x257b000)                          = 0x257b000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1534672, ...}) = 0
mmap(NULL, 1534672, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7ff01bcfe000
close(3)                                = 0
time([1415359964])                      = 1415359964
rt_sigaction(SIGALRM, {0x407ad0, [ALRM], SA_RESTORER|SA_RESTART, 0x7ff01b4ea4f0}, {SIG_DFL, [], 0}, 8) = 0
alarm(10)                               = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
pipe([3, 4])                            = 0
pipe([5, 6])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7ff01be769d0) = 31119
close(4)                                = 0
close(6)                                = 0
read(3, 0x7fffcb055560, 4096)           = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
open("/usr/share/locale/locale.alias", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2570, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be7e000
read(4, "# Locale name alias data base.\n#"..., 4096) = 2570
read(4, "", 4096)                       = 0
close(4)                                = 0
munmap(0x7ff01be7e000, 4096)            = 0
open("/usr/local/nagios/share/locale/en_US.UTF-8/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/nagios/share/locale/en_US.utf8/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/nagios/share/locale/en_US/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/nagios/share/locale/en.UTF-8/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/nagios/share/locale/en.utf8/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/nagios/share/locale/en/LC_MESSAGES/nagios-plugins.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff01be7e000
write(1, "CRITICAL - Plugin timed out whil"..., 56CRITICAL - Plugin timed out while executing system call
) = 56
write(1, "\n", 1
)                       = 1
exit_group(2)                           = ?

User avatar
rhassing
Posts: 416
Joined: Sat Oct 05, 2013 10:29 pm
Location: Netherlands

Re: check_snmp not working but snmpget works

Post by rhassing »

I get the same output if the community is not correct, or if the ip address is not correct.
Are you 100% sure there is no typo in the community?
Rob Hassing
Image
Kerflumpre
Posts: 30
Joined: Fri Apr 22, 2011 6:50 pm

Re: check_snmp not working but snmpget works

Post by Kerflumpre »

Absolutely. Comparing one line to the next from the snmpget command.
User avatar
rhassing
Posts: 416
Joined: Sat Oct 05, 2013 10:29 pm
Location: Netherlands

Re: check_snmp not working but snmpget works

Post by rhassing »

Strange, does check_cnmp work with other oid's? Or do you get timeouts on all oid's on this server?
Does check_snmp work on another server/device, or do you get timeouts on other devices as well?
Rob Hassing
Image
Kerflumpre
Posts: 30
Joined: Fri Apr 22, 2011 6:50 pm

Re: check_snmp not working but snmpget works

Post by Kerflumpre »

It appears that check_snmp won't work against any device or oid.
User avatar
rhassing
Posts: 416
Joined: Sat Oct 05, 2013 10:29 pm
Location: Netherlands

Re: check_snmp not working but snmpget works

Post by rhassing »

Maybe something went wrong with the compilation of the check?
Which distribution and version are you using?
Rob Hassing
Image
Kerflumpre
Posts: 30
Joined: Fri Apr 22, 2011 6:50 pm

Re: check_snmp not working but snmpget works

Post by Kerflumpre »

4.0.8 on Debian 7
User avatar
rhassing
Posts: 416
Joined: Sat Oct 05, 2013 10:29 pm
Location: Netherlands

Re: check_snmp not working but snmpget works

Post by rhassing »

Did you compile the check yourself, or did you install a package?
I only have CentOS 6.5 i686 systems.
Rob Hassing
Image
Locked