summaryrefslogtreecommitdiffstats
path: root/charts.d/exim.chart.sh
blob: 4c70f2c196328295a99c86bb7c0e0d4b995ef3f1 (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
# 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
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
}