You need to send a message that the listening daemon will understand. The
check_snmp plugin speaks the SNMP language so it knows how to construct a
packet that snmpd will understand. I imagine an OID is a requirement for
check_snmp, as well as community string or security credentials, those are
all part of the "send". If you want to use check_udp for this, then you
have to construct that packet yourself.
On the flip-side, you should know the expected response to a known query.
If you make an SNMP request for .1.3.6.1.2.1.1.4.0 you should expect a
string from the "syscontact" line from your snmpd.conf in response.
Just like you would use check_http rather than check_tcp for an Apache
service, it's probably best to use a custom program like check_dns rather
than check_udp to check a DNS service. In the case of SNMP, I prefer to
use or write scripts that are specific to what I'm polling rather than
using a generic request/response program. For instance, a program like
check_snmp_load.pl could be alot more robust than running "check_snmp -o
.1.3.6.1.4.1.2021.10.1.3.1" alone.
-f
Date: Thu, 5 Sep 2013 09:06:38 +0200
Subject: [Nagios-users] R: check_udp error message
Ok, but what can I "send" and "receive" to/from the host?
I also tried old version of check_udp (that does not need any string), but I
No data was recieved from host!
No response from host on port XX
No response from host on port XX
I see another strange situation.
On port 161 I can use check_snmp (work correctly), but if I use check_udp on
port 161 it does not work at all !
How can be possible ?
Regards
-----Messaggio originale-----
Inviato: marted? 3 settembre 2013 15:54
A: Nagios Users List
Cc: Marco Borsani
Oggetto: Re: [Nagios-users] check_udp error message
Post by Marco BorsaniHi all
I need to control many UDP ports.
./check_udp ?H <IP_ADDRESS> ?p 88
With UDP checks, a send/expect string must be specified
Can anyone help me to solve it?
Those parameters should be optional..
UDP is a connection-less protocol. The "expect" string could indeed be
optional, and we could just expect to get something at all back when we send
something, but without sending anything we won't even touch the network, so
the remote host has no idea that we're trying to talk to it and we won't
know if the port is up.
That's why "send", at least, is not optional.