diff options
author | jsveiga <jsveiga@users.noreply.github.com> | 2016-06-02 14:38:20 -0300 |
---|---|---|
committer | jsveiga <jsveiga@users.noreply.github.com> | 2016-06-02 14:38:20 -0300 |
commit | 5464b48948abdf1a68aff7c7be5e474a4b9c64cc (patch) | |
tree | ebb42229e973d8cce23fe074744d1339d8269ca2 /charts.d/exim.chart.sh | |
parent | 37fa86a1e253e81588f30905f821356eafa1ec58 (diff) |
script for collecting exim mail queue size
Diffstat (limited to 'charts.d/exim.chart.sh')
-rw-r--r-- | charts.d/exim.chart.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/charts.d/exim.chart.sh b/charts.d/exim.chart.sh new file mode 100644 index 0000000000..c5ed747b89 --- /dev/null +++ b/charts.d/exim.chart.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +exim_command= + +# how frequently to collect queue size +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 [ `$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" + return 1 + fi + + return 0 +} + +exim_create() { +cat <<EOF +CHART exim.qemails '' "Exim Queue Emails" "emails" queue exim.queued.emails line $((exim_priority + 1)) $exim_update_every +DIMENSION emails '' absolute 1 1 +EOF +return 0 +} + +exim_update() { +echo "BEGIN exim.qemails $1" +echo "SET emails = " `$exim_command -bpc` +echo "END" +return 0 +} |