From 281b28c0712f190ab0532e68e94d26b0f836ca7f Mon Sep 17 00:00:00 2001
From: Per Cederqvist <ceder@lysator.liu.se>
Date: Fri, 29 Dec 2006 07:33:43 +0000
Subject: [PATCH] Added check_no_server.

---
 Makefile        |  2 +-
 check_no_server | 41 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 check_no_server

diff --git a/Makefile b/Makefile
index 4bc99e6..8b0cbbe 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ LIBEXECDIR = /usr/local/nagios/libexec/
 SCRIPTS = check_cups check_glsa check_saned check_lpd check_hddtemp \
 	check_link_status check_true check_lysrdiff check_syslog \
 	check_ping check_enodia_monitored check_hostextinfo \
-	check_hydra check_datorhandbok
+	check_hydra check_datorhandbok check_no_server
 
 all:;
 
diff --git a/check_no_server b/check_no_server
new file mode 100644
index 0000000..7ffddaa
--- /dev/null
+++ b/check_no_server
@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+
+import socket
+import errno
+
+def unknown(hostname, msg):
+    print "UNKNOWN - %s: %s" % (hostname, msg)
+    sys.exit(3)
+
+def critical(hostname, msg):
+    print "CRITICAL - %s: %s" % (hostname, msg)
+    sys.exit(2)
+
+def warning(hostname, msg):
+    print "WARNING - %s: %s" % (hostname, msg)
+    sys.exit(1)
+
+def ok(hostname, msg):
+    print "OK - %s: %s" % (hostname, msg)
+    sys.exit(0)
+
+def check_no_server(hostname, port):
+    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+    s.settimeout(7)
+    try:
+        s.connect((hostname, port))
+    except socket.gaierror, err:
+        warning(hostname, err[1])
+    except socket.timeout:
+        ok(hostname, "timeout connecting to server")
+    except socket.error, e:
+        if e[0] == errno.ECONNREFUSED:
+            ok(hostname, e[1])
+        unknown(hostname, e[1])
+
+    critical(hostname, "connection succeeded")
+
+if __name__ == '__main__':
+    import sys
+
+    check_no_server(sys.argv[1], int(sys.argv[2]))
-- 
GitLab