]> arthur.barton.de Git - netdata.git/blobdiff - charts.d/exim.chart.sh
Merge pull request #1968 from ktsaou/master
[netdata.git] / charts.d / exim.chart.sh
index c60ae9460dff2636ffe893a238e4075001268aca..4c70f2c196328295a99c86bb7c0e0d4b995ef3f1 100644 (file)
@@ -1,5 +1,13 @@
 # no need for shebang - this file is loaded from charts.d.plugin
 
+# netdata
+# real-time performance and health monitoring, done right!
+# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
+# GPL v3+
+#
+# Contributed by @jsveiga with PR #480
+
+# the exim command to run
 exim_command=
 
 # how frequently to collect queue size
@@ -8,28 +16,15 @@ exim_update_every=5
 exim_priority=60000
 
 exim_check() {
-       if [ -z "$exim_command" -o ! -x "$exim_command" ]
-               then
-               local d=
-               for d in /sbin /usr/sbin /usr/local/sbin
-               do
-                       if [ -x "$d/exim" ]
-                       then
-                               exim_command="$d/exim"
-                               break
-                       fi
-               done
-       fi
-
-       if [ -z "$exim_command" -o ! -x  "$exim_command" ]
-       then
-               echo >&2 "$PROGRAM_NAME: exim: cannot find exim executable. Please set 'exim_command=/path/to/exim' in $confd/exim.conf"
-               return 1
-       fi
+    if [ -z "${exim_command}" ]
+    then
+        require_cmd exim || return 1
+        exim_command="${EXIM_CMD}"
+    fi
 
-       if [ `$exim_command -bpc 2>&1 | grep -c denied` -ne 0 ]
+       if [ $(${exim_command} -bpc 2>&1 | grep -c denied) -ne 0 ]
        then
-               echo >&2 "$PROGRAM_NAME: exim: permission denied. Please set 'queue_list_requires_admin = false' in your exim options file"
+               error "permission denied - please set 'queue_list_requires_admin = false' in your exim options file"
                return 1
        fi
 
@@ -37,16 +32,16 @@ exim_check() {
 }
 
 exim_create() {
-cat <<EOF
+    cat <<EOF
 CHART exim_local.qemails '' "Exim Queue Emails" "emails" queue exim.queued.emails line $((exim_priority + 1)) $exim_update_every
 DIMENSION emails '' absolute 1 1
 EOF
-return 0
+    return 0
 }
 
 exim_update() {
-echo "BEGIN exim_local.qemails $1"
-echo "SET emails = " `$exim_command -bpc`
-echo "END"
-return 0
+    echo "BEGIN exim_local.qemails $1"
+    echo "SET emails = " $(run ${exim_command} -bpc)
+    echo "END"
+    return 0
 }