summaryrefslogtreecommitdiffstats
path: root/charts.d/exim.chart.sh
diff options
context:
space:
mode:
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2016-10-20 22:04:28 +0300
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>2016-10-20 22:04:28 +0300
commitaddb52bb18ba356fc1cb5888b1fe5b809137346d (patch)
tree61f3294473d70f9f96e2e302837ff844a70e3207 /charts.d/exim.chart.sh
parentc6d3138cc7ddb21bac33df2fc9f16c6e76ff1426 (diff)
better log management for charts.d.plugin - fixes #1144
Diffstat (limited to 'charts.d/exim.chart.sh')
-rw-r--r--charts.d/exim.chart.sh40
1 files changed, 14 insertions, 26 deletions
diff --git a/charts.d/exim.chart.sh b/charts.d/exim.chart.sh
index c60ae9460d..f9d48b8a8b 100644
--- a/charts.d/exim.chart.sh
+++ b/charts.d/exim.chart.sh
@@ -1,5 +1,6 @@
# no need for shebang - this file is loaded from charts.d.plugin
+# the exim command to run
exim_command=
# how frequently to collect queue size
@@ -8,28 +9,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 +25,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
}