Added compatibility function to plugins
authorBrian Flowers <git-admn@bsflowers.net>
Fri, 16 Sep 2016 06:56:50 +0000 (02:56 -0400)
committerBrian Flowers <git-admn@bsflowers.net>
Fri, 16 Sep 2016 06:56:50 +0000 (02:56 -0400)
bdsm.d/df.generic
bdsm.d/sensors.generic
bdsm.d/template.generic
bdsm.d/vmstat.generic
bdsm.sh

index 5ccb905..ed8e62d 100755 (executable)
@@ -104,6 +104,17 @@ status()
   fi
 }
 
+compatible()
+{
+  compatible="`ssh -q $HOSTNAME 'df --output=pcent /' 2>&1 1>/dev/null`"
+  if [ "$compatible" != "" ]; then
+    echo 0
+    return
+  fi
+  echo 1
+  return
+}
+
 # UTILITY FUNCTIONS
 ###############################################################################
 
index f8f20d3..d92d496 100755 (executable)
@@ -118,6 +118,17 @@ status()
   fi
 }
 
+compatible()
+{
+  compatible="`ssh -q $HOSTNAME 'sensors' 2>&1 1>/dev/null`"
+  if [ "$compatible" != "" ]; then
+    echo 0
+    return
+  fi
+  echo 1
+  return
+}
+
 # UTILITY FUNCTIONS
 ###############################################################################
 
index e1fb372..abe8273 100644 (file)
@@ -84,6 +84,11 @@ status()
   # Check if the monitor is running and echo ON or OFF
 }
 
+compatible()
+{
+  # Check if this plugin is compatible with the given host
+}
+
 # SCRIPT START
 ###############################################################################
 
index ad1ac0b..6947ab4 100755 (executable)
@@ -69,14 +69,14 @@ start()
     fi
 
     # Check what options awk supports
-    if [ "`ssh $HOSTNAME \"echo | awk -W interactive '{print 1}' 2>&1 1>/dev/null\"`" != "" ]; then
+    if [ "`ssh -q $HOSTNAME \"echo | awk -W interactive '{print 1}' 2>&1 1>/dev/null\"`" != "" ]; then
       awkopt=""
     else
       awkopt="-W interactive"
     fi
 
     ssh -q $HOSTNAME <<EOF
-    nohup stdbuf -o0 vmstat $vmopt $DELAY | awk $awkopt -v host=$HOSTNAME 'BEGIN {
+    nohup stdbuf -oL vmstat $vmopt $DELAY | awk $awkopt -v host=$HOSTNAME 'BEGIN {
       OFS="|"
     }
     /us/ {
@@ -137,6 +137,17 @@ status()
   fi
 }
 
+compatible()
+{
+  compatible="`ssh -q $HOSTNAME 'stdbuf -oL vmstat 5' 2>&1 1>/dev/null`"
+  if [ "$compatible" != "" ]; then
+    echo 0
+    return
+  fi
+  echo 1
+  return
+}
+
 # UTILITY FUNCTIONS
 ###############################################################################
 
diff --git a/bdsm.sh b/bdsm.sh
index 86f2f0d..2528cf9 100755 (executable)
--- a/bdsm.sh
+++ b/bdsm.sh
@@ -7,10 +7,10 @@
 # TODO:
 # 1) Finish configure options
 # 2) Finish Deploy
+# 3) Review and shakeout stop
 #  ) Plugins:
-# 3)  iostat
-# 4)  ram
-# 5)  disk utilization
+# 4)  iostat
+# 5)  ram
 #
 ###############################################################################
 
@@ -279,7 +279,7 @@ configure()
     # Prompt which host to configure
     header "Select a host to configure:"
     
-    host=`selector "Select a host" $hosts "New..." "Done"`
+    host=`selector "Select a host" ${hosts[@]} "New..." "Done"`
     if [ "$host" == "New..." ]; then
       host=""
     elif [ "$host" == "Done" ]; then
@@ -350,7 +350,6 @@ configure()
       newservice=`echo $newservice | sed 's/,$/)/g'`
     fi
 
-set -x    
     # TODO
     # Validate removal/replacement of old service
     # TODO