|
From: | Nestor Urquiza |
Subject: | Re: Does port tcp check writes anything to the socket? |
Date: | Fri, 12 Jul 2013 10:43:57 -0400 |
Hi,the TCP connection test with no protocol specified doesn't send anything to the connected socket - it just connects, then calls check_default() protocol which is dummy function that returns "true" and closes the socket. The UDP socket with no protocol defined writes to the socket, as there is no way how to test whether the connection is established, so it writes one byte to the socket and checks whether error will occur - if not, then the UDP socket is most probably up (in case of UDP test it's thus important to use the specific protocol option to make sure the port works, as the generic test is limited by UDP design).Please can you get network trace to see whether the data really come from Monit?Regards,MartinOn Jul 11, 2013, at 5:43 PM, Nestor Urquiza <address@hidden> wrote:--Hi guys,
We monitor a provider server using the below:
<code>
check host genevastby.krfs.com with address 192.168.5.125
if failed port 9000 type tcp with timeout 15 seconds
then alert
</code>
However the provider logs are constantly complaining about socket failures. Detailed inspection allowed me to determine that the provider service actually does that when at least three characters are written to the socket so basically the below will make the server complaint:
<code>
exec
3
<>/dev/tcp/${HOST}/${PORT}; echo -e
"\n\n\n"
>&
3
; exec
3
>&
</code>
Any three characters will do really. If nothing is written to the port or less than three characters are written there will be no error messages.
The question would be then if there is a way to tell monit not to write anything to the socket?
Thanks!
- Nestor
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general
--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general
[Prev in Thread] | Current Thread | [Next in Thread] |