From aeaaacf370d4ce3268d270651ba516d38d90581a Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@iml.unibe.ch>
Date: Fri, 1 Apr 2022 14:48:19 +0200
Subject: [PATCH] use wget default params; shell fixes

---
 check_haproxy_health | 17 +++++++++++------
 check_haproxy_status | 38 ++++++++++++++++++++++----------------
 check_opencpu        | 16 +++++++++++-----
 check_php-fpm-status | 16 +++++++++-------
 4 files changed, 53 insertions(+), 34 deletions(-)

diff --git a/check_haproxy_health b/check_haproxy_health
index ae27ba1..d2e5ca8 100755
--- a/check_haproxy_health
+++ b/check_haproxy_health
@@ -10,14 +10,19 @@
 # 2020-05-04  v1.1  <axel.hahn@iml.unibe.ch>  show message if monitor-uri was not set
 # 2020-12-03  v1.2  <axel.hahn@iml.unibe.ch>  loop over multiple frontend status urls
 # 2021-12-14  v1.3  <axel.hahn@iml.unibe.ch>  use updated haproxy paser in sourced file
+# 2022-04-01  v1.4  <axel.hahn@iml.unibe.ch>  use wget default params; shell fixes
 # ======================================================================
 
-. `dirname $0`/inc_pluginfunctions
-. `dirname $0`/inc_haproxy_cfg.sh
+. $(dirname $0)/inc_pluginfunctions
+. $(dirname $0)/inc_haproxy_cfg.sh
 
 cfgfile=/etc/haproxy/haproxy.cfg
 tmpfile=/tmp/check_haproxy_healthcheck_$$
 
+paramsWget="-T 5 -t 1 --no-check-certificate"
+#            ^    ^
+#            |    tries = 1
+#            timeout in seconds
 
 
 # ----------------------------------------------------------------------
@@ -27,7 +32,7 @@ ph.require wget
 
 cat $cfgfile >/dev/null
 if [ $? -ne 0 ]; then
-  ph.abort "UNKNOWN: unable to read ha proxy config $cfgfile ... `ls -l $cfgfile`"
+  ph.abort "UNKNOWN: unable to read ha proxy config $cfgfile ... $(ls -l $cfgfile)"
 fi
 
 cat $cfgfile | grep "\ mode\ .*http" >/dev/null
@@ -47,16 +52,16 @@ fi
 safeurl=$( echo $url | sed "s#\(://\)\(.*@\)#\1#g" )
 
 # --- get status page
-wget --no-check-certificate -O $tmpfile $url 2>/dev/null
+wget $paramsWget -O $tmpfile $url 2>/dev/null
 if [ $? -ne 0 ]; then
   rm -f $tmpfile
-  ph.abort "UNKNOWN: url $safeurl did not respond. `wget --no-check-certificate -O - -S $url`"
+  ph.abort "UNKNOWN: url $safeurl did not respond. $(wget wget $paramsWget  -O - -S $url)"
 fi
 
 grep "200 OK" $tmpfile >/dev/null
 if [ $? -ne 0 ]; then
   ph.setStatus "error"
-  ph.status "url $safeurl did not contain 200 OK. `wget --no-check-certificate -O - -S $url`"
+  ph.status "url $safeurl did not contain 200 OK. $(wget wget $paramsWget  -O - -S $url)"
 else
   ph.status "HA Proxy $safeurl is up and running."
 fi
diff --git a/check_haproxy_status b/check_haproxy_status
index b147b99..d191353 100755
--- a/check_haproxy_status
+++ b/check_haproxy_status
@@ -15,10 +15,11 @@
 # 2020-06-03  v1.3  <axel.hahn@iml.unibe.ch>  added ping to each backend server
 # 2020-12-03  v1.4  <axel.hahn@iml.unibe.ch>  added support of multiple front- and backends
 # 2021-12-14  v1.5  <axel.hahn@iml.unibe.ch>  use updated haproxy paser in sourced file
+# 2022-04-01  v1.6  <axel.hahn@iml.unibe.ch>  use wget default params; shell fixes
 # ======================================================================
 
-. `dirname $0`/inc_pluginfunctions
-. `dirname $0`/inc_haproxy_cfg.sh
+. $(dirname $0)/inc_pluginfunctions
+. $(dirname $0)/inc_haproxy_cfg.sh
 
 cfgfile=/etc/haproxy/haproxy.cfg
 
@@ -26,6 +27,11 @@ tmpfile=/tmp/check_haproxy_status_$$
 tmpfile2=/tmp/check_haproxy_status2_$$
 tmpfileping=/tmp/check_haproxy_status3_$$
 
+paramsWget="-T 5 -t 1 --no-check-certificate"
+#            ^    ^
+#            |    tries = 1
+#            timeout in seconds
+
 # ----------------------------------------------------------------------
 # pre checks
 # ----------------------------------------------------------------------
@@ -102,28 +108,28 @@ urlmasked=$( echo $url | sed "s#\(://\)\(.*@\)#\1#g" )
 
 
 # --- get status page
-wget --no-check-certificate -O $tmpfile $url 2>/dev/null
+wget $paramsWget -O $tmpfile $url 2>/dev/null
 if [ $? -ne 0 ]; then
   rm -f $tmpfile
-  ph.abort "UNKNOWN: url $urlmasked did not respond. `wget --no-check-certificate -O - -S $url`"
+  ph.abort "UNKNOWN: url $urlmasked did not respond. $(wget --no-check-certificate -O - -S $url)"
 fi
 
 
-colLimit=`getColnumber "slim"`
-colCurrentConnections=`getColnumber "scur"`
-colStatus=`getColnumber "status"`
+colLimit=$(getColnumber "slim")
+colCurrentConnections=$(getColnumber "scur")
+colStatus=$(getColnumber "status")
 
-statusFront=`getColumn $colStatus ",FRONTEND," | cut -f 2 -d "," | tr "\n" " "`
-statusBack=` getColumn $colStatus ",BACKEND,"  | cut -f 2 -d "," | tr "\n" " "`
+statusFront=$(getColumn $colStatus ",FRONTEND," | cut -f 2 -d "," | tr "\n" " ")
+statusBack=$( getColumn $colStatus ",BACKEND,"  | cut -f 2 -d "," | tr "\n" " ")
 
-typeset -i iMaxConnFront=`getColSum $colLimit ",FRONTEND,"`
-typeset -i iMaxConnBack=` getColSum $colLimit ",BACKEND,"`
+typeset -i iMaxConnFront=$(getColSum $colLimit ",FRONTEND,")
+typeset -i iMaxConnBack=$( getColSum $colLimit ",BACKEND,")
 
-typeset -i iFrontend=`getColSum $colCurrentConnections ",FRONTEND,"`
+typeset -i iFrontend=$(getColSum $colCurrentConnections ",FRONTEND,")
 typeset -i iFrontendFree=$iMaxConnFront-$iFrontend
 
 
-typeset -i iBackend=` getColSum $colCurrentConnections ",BACKEND," `
+typeset -i iBackend=$( getColSum $colCurrentConnections ",BACKEND," )
 typeset -i iBackendFree=$iMaxConnBack-$iBackend
 
 statusExt=
@@ -160,9 +166,9 @@ ph.perfadd "backend-free"  "${iBackendFree}"
 getColumn $colCurrentConnections | sed -n "2,$ p" >$tmpfile2
 while read line
 do
-        srv=`echo $line  | cut -f 1 -d ","`
-        val=`echo $line  | cut -f 2 -d ","`
-        label=`echo $srv | tr [:upper:] [:lower:]`
+        srv=$(echo $line  | cut -f 1 -d ",")
+        val=$(echo $line  | cut -f 2 -d ",")
+        label=$(echo $srv | tr [:upper:] [:lower:])
 
         # echo "${srv} - ${val}"
   echo -n "${srv} - ${val} "
diff --git a/check_opencpu b/check_opencpu
index 9e556d5..5442c25 100755
--- a/check_opencpu
+++ b/check_opencpu
@@ -19,10 +19,11 @@
 # 2019-05-10  v1.0  ah,ds
 # 2019-05-22  v1.1  show built date
 # 2020-03-05  v1.2  <axel.hahn@iml.unibe.ch> switch to ph.* helper functions
+# 2022-04-01  v1.3  <axel.hahn@iml.unibe.ch>  use wget default params; shell fixes
 # ======================================================================
 
 
-. `dirname $0`/inc_pluginfunctions
+. $(dirname $0)/inc_pluginfunctions
 
 tmpOk=/tmp/check_opencpu-ok
 tmpErr=/tmp/check_opencpu-error
@@ -30,6 +31,11 @@ ocpuUrl=http://localhost/ocpu
 
 packages="eosceGLM eosceLinReg eosceReliability eosceReporter msrdAnalytics"
 
+paramsWget="-T 5 -t 1 --no-check-certificate"
+#            ^    ^
+#            |    tries = 1
+#            timeout in seconds
+
 # ----------------------------------------------------------------------
 # FUNCTIONS
 # ----------------------------------------------------------------------
@@ -40,11 +46,11 @@ function checkOpenCpuPackage(){
   pkgUrl=$ocpuUrl/library/$package/info
   tmpfile=/tmp/check_opencpu-$package
 
-  wget -O $tmpfile $pkgUrl 2>/dev/null
+  wget $paramsWget -O $tmpfile $pkgUrl 2>/dev/null
   if [ $? -ne 0 ]; then
     echo "ERROR: package is NOT available [$package]" >>$tmpErr
   else
-    echo "OK: package is available [$mypackage] .. Build: `cat $tmpfile | grep "^Built" | cut -c 21-`" >>$tmpOk
+    echo "OK: package is available [$mypackage] .. Build: $(cat $tmpfile | grep "^Built" | cut -c 21-)" >>$tmpOk
   fi
   rm -f $tmpfile 2>/dev/null
 }
@@ -65,10 +71,10 @@ if [ $? -ne 0 ]; then
 fi
 
 # ----- check if openCpu is running
-wget -O /dev/null $ocpuUrl 2>/dev/null
+wget $paramsWget -O /dev/null $ocpuUrl 2>/dev/null
 if [ $? -ne 0 ]; then
   echo "ERROR: unable to connect to openCpu with $ocpuUrl"
-  wget -O /dev/null -S $ocpuUrl
+  wget $paramsWget -O /dev/null -S $ocpuUrl
   ph.setStatus "error"
   ph.exit
 fi
diff --git a/check_php-fpm-status b/check_php-fpm-status
index cd9a506..0b78daf 100755
--- a/check_php-fpm-status
+++ b/check_php-fpm-status
@@ -10,9 +10,10 @@
 # 2021-10-01  v0.2  <axel.hahn@iml.unibe.ch>  fetch full status as json
 # 2021-12-23  v0.4  <axel.hahn@iml.unibe.ch>  remove switch to warning level if just one slow request was detected
 # 2022-02-11  v0.5  <axel.hahn@iml.unibe.ch>  show running workers in 1st line
+# 2022-04-01  v0.6  <axel.hahn@iml.unibe.ch>  use wget default params; shell fixes
 # ======================================================================
 
-. `dirname $0`/inc_pluginfunctions
+. $(dirname $0)/inc_pluginfunctions
 
 tmpfile=/tmp/check_fpm_processes_1
 defaulturl=localhost/status
@@ -63,6 +64,7 @@ function _getvalue(){
 
 
 function showHelp(){
+    local _self=$(basename $0)
 cat <<EOF
 ______________________________________________________________________
 
@@ -90,7 +92,7 @@ For performance data it echos:
     php-fpm-speed      requests per $sDeltaunit (since last execution of this check)
 
 SYNTAX:
-`basename $0` [-u URL]
+$_self [-u URL]
 
 OPTIONS:
 
@@ -102,7 +104,7 @@ PARAMETERS:
     None.
 
 EXAMPLE:
-`basename $0` -u http://localhost/my-custom-fpm-statuspage.php
+$_self -u http://localhost/my-custom-fpm-statuspage.php
 
 EOF
 }
@@ -130,15 +132,15 @@ ph.require jq wget
 # ----------------------------------------------------------------------
 
 # set default / override from command line params
-typeset -i iWarnLimit=`     ph.getValueWithParam 75 w "$@"`
-typeset -i iCriticalLimit=` ph.getValueWithParam 90 c "$@"`
+typeset -i iWarnLimit=$(     ph.getValueWithParam 75 w "$@")
+typeset -i iCriticalLimit=$( ph.getValueWithParam 90 c "$@")
 url=$( ph.getValueWithParam $defaulturl u "$@" )
 
 # --- get /server-status page
-wget --no-check-certificate -O $tmpfile "$url?full&json" 2>/dev/null
+wget $paramsWget -O $tmpfile "$url?full&json" 2>/dev/null
 if [ $? -ne 0 ]; then
    rm -f $tmpfile
-   ph.abort "UNKNOWN: request to url $url failed. `wget --no-check-certificate -O - -S $url`"
+   ph.abort "UNKNOWN: request to url $url failed. $(wget $paramsWget -O - -S $url)"
 fi
 
 # ----------------------------------------------------------------------
-- 
GitLab