summaryrefslogtreecommitdiffstats
path: root/god/Monitoring/nagios/plugins/check_speed
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2013-01-14 14:46:22 +0100
committermakefu <github@syntax-fehler.de>2013-01-14 14:46:22 +0100
commitdbe2d838ba6834788265029162b2dd7d82473335 (patch)
treea4eb38f7fc91d91269b6f83453de62242c6ddc23 /god/Monitoring/nagios/plugins/check_speed
parent5a782f6c8f7923f9f415afd504ce6e71acbc7fef (diff)
parentabf9916bc1add17888308877fa4eb9da330297ef (diff)
Merge branch 'master' of github.com:krebscode/painload
Conflicts: god/temper/Makefile god/temper/collectd-temper.sh
Diffstat (limited to 'god/Monitoring/nagios/plugins/check_speed')
-rwxr-xr-xgod/Monitoring/nagios/plugins/check_speed34
1 files changed, 34 insertions, 0 deletions
diff --git a/god/Monitoring/nagios/plugins/check_speed b/god/Monitoring/nagios/plugins/check_speed
new file mode 100755
index 00000000..14a5b612
--- /dev/null
+++ b/god/Monitoring/nagios/plugins/check_speed
@@ -0,0 +1,34 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#TODO check_speed is nearly the same as check_speeder, consolidate both scripts, probably by giving HIGH:LOW as params
+import sys
+import urllib
+
+if len(sys.argv) < 2 or '-h' in sys.argv:
+ print ("?? usage: %s URL [low-mhashes] ..." % sys.argv[0])
+ print ("?? Server reply should look like this: '2011-07-11T09:00 400.0'")
+ exit(3)
+
+URL=sys.argv[1]
+thresholds=[ float(i) for i in sys.argv[2:]]
+
+ecode=0
+try:
+ ret = urllib.urlopen(URL).read().split()
+ date = ret[0]
+ speeds = [float(i) for i in ret[1:]]
+ print ("** %s : %s Mhashes" % (date,' '.join([str(i) for i in speeds])))
+ if len(speeds) != len(thresholds):
+ raise Exception("!! Number of speeds != number of given thresholds")
+ for i,speed in enumerate(speeds):
+ if speed < thresholds[i]:
+ print ("!! %.2f Mhash < %.2f Mhash ! (field %d)" %(speed,thresholds[i],i))
+ ecode=2
+except Exception,e:
+ print("!! Something aweful happened: "+str(e))
+ exit (1)
+#TODO return WARNING if date is too old
+if not ecode:
+ print ("** Everything is fine!")
+
+exit(ecode)