summaryrefslogtreecommitdiffstats
path: root/collectors/charts.d.plugin/exim/exim.chart.sh
blob: 8099a724963d826f2c637f190e45a409b64bbac2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# shellcheck shell=bash
# no need for shebang - this file is loaded from charts.d.plugin
# SPDX-License-Identifier: GPL-3.0-or-later

# netdata
# real-time performance and health monitoring, done right!
# (C) 2016 Costa Tsaousis <costa@tsaousis.gr>
#
# Contributed by @jsveiga with PR #480

# the exim command to run
exim_command=

# how frequently to collect queue size
exim_update_every=5

exim_priority=60000

exim_check() {
    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 ]
	then
		error "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_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
}

exim_update() {
    echo "BEGIN exim_local.qemails $1"
    echo "SET emails = $(run "${exim_command}" -bpc)"
    echo "END"
    return 0
}