Repository
Munin (master)
Last change
2018-08-17
Graph Categories
Family
auto
Capabilities
Language
Shell
License
Sendmail

sendmail_mailstats

Name

sendmail_mailstats - Plugin to monitor sendmail statistics

Configuration

This plugin uses the following configuration variables:

[sendmail_mailstats]
 env.mailstats - Path to the "mailstats" command

Default Configuration

The default configuration for “mailstats” is to look for a binary called “mailstats” in PATH.

Author

Unknown author

License

GPLv2

Magic Markers

#%# family=auto
#%# capabilities=autoconf
#!/bin/sh

: << =cut

=head1 NAME

sendmail_mailstats - Plugin to monitor sendmail statistics

=head1 CONFIGURATION

This plugin uses the following configuration variables:

 [sendmail_mailstats]
  env.mailstats - Path to the "mailstats" command

=head2 DEFAULT CONFIGURATION

The default configuration for "mailstats" is to look for a binary called "mailstats" in PATH.

=head1 AUTHOR

Unknown author

=head1 LICENSE

GPLv2

=head1 MAGIC MARKERS

 #%# family=auto
 #%# capabilities=autoconf

=cut


MAILSTATS=${mailstats:-$(command -v mailstats)}


if [ "$1" = "autoconf" ]; then
        if [ -n "$MAILSTATS" ] && [ -x "$MAILSTATS" ]
                then echo yes
                else echo "no (no mailstats command)"
        fi
        exit 0
fi

if [ "$1" = "config" ]; then
	echo "graph_title Sendmail email traffic"
	echo "graph_order received sent rejected discarded"
	# shellcheck disable=SC2016
	echo 'graph_vlabel messages/${graph_period}'
	echo "graph_category mail"
	echo "discarded.label discarded"
	echo "discarded.max 1000000"
	echo "discarded.min 0"
	echo "discarded.type DERIVE"
	echo "received.label received"
	echo "received.max 1000000"
	echo "received.min 0"
	echo "received.type DERIVE"
	echo "rejected.label rejected"
	echo "rejected.max 1000000"
	echo "rejected.min 0"
	echo "rejected.type DERIVE"
	echo "sent.label sent"
	echo "sent.max 1000000"
	echo "sent.min 0"
	echo "sent.type DERIVE"
	exit 0
fi

$MAILSTATS -P | awk '/^ *T/ {
  received = received + $4 ;
  sent = sent + $2
  rejected = rejected + $6
  discarded = discarded + $7
}
END {
  print "received.value", received
  print "sent.value", sent
  print "rejected.value", rejected
  print "discarded.value", discarded
}'