root / plugins / mail / nullmailer_queue @ 09b88141
Historique | Voir | Annoter | Télécharger (2,11 ko)
| 1 | 4ca4e8d9 | Bert Peters | #!/bin/sh |
|---|---|---|---|
| 2 | 0d775b28 | Bert Peters | |
| 3 | : <<=cut |
||
| 4 | |||
| 5 | =head1 NAME |
||
| 6 | |||
| 7 | nullmailer_queue - monitor for nullmailer's send queue. |
||
| 8 | |||
| 9 | =head1 APPLICABLE SYSTEMS |
||
| 10 | |||
| 11 | This plugin is applicable to any system running the nullmailer MTA. |
||
| 12 | |||
| 13 | =head1 CONFIGURATION |
||
| 14 | |||
| 15 | This plugin needs to be able to read the nullmailer queue, so it |
||
| 16 | will need to run as that user or root. |
||
| 17 | |||
| 18 | Additionally, the nullmailer queue directory may vary; in that case you |
||
| 19 | can specify it with the "queuedir" and "errordir" environment variables. |
||
| 20 | |||
| 21 | aa009f60 | Knut Arne Bjørndal | To add extra warning or critical thresholds set queue_warning, |
| 22 | failed_critical etc. |
||
| 23 | |||
| 24 | 0d775b28 | Bert Peters | Example: |
| 25 | |||
| 26 | 09b88141 | Lars Kruse | [nullmailer_queue] |
| 27 | user nullmail |
||
| 28 | env.queuedir /var/spool/nullmailer/queue |
||
| 29 | env.errordir /var/spool/nullmailer/failed |
||
| 30 | env.queue_warning 10 |
||
| 31 | 0d775b28 | Bert Peters | |
| 32 | =head1 INTERPRETATION |
||
| 33 | |||
| 34 | This plugin will draw a stack of 2: the number of emails in the queue, and |
||
| 35 | the number of emails that have permanently failed sending. The latter has |
||
| 36 | aa009f60 | Knut Arne Bjørndal | a warning attached by default, since those should never happen. |
| 37 | 0d775b28 | Bert Peters | |
| 38 | =head1 MAGIC MARKERS |
||
| 39 | |||
| 40 | #%# family=auto |
||
| 41 | #%# capabilities=autoconf |
||
| 42 | |||
| 43 | =head1 VERSION |
||
| 44 | |||
| 45 | 1.0.0 |
||
| 46 | |||
| 47 | =head1 AUTHOR |
||
| 48 | |||
| 49 | Bert Peters <bert@bertptrs.nl> |
||
| 50 | |||
| 51 | =head1 LICENSE |
||
| 52 | |||
| 53 | GPLv2 |
||
| 54 | |||
| 55 | =cut |
||
| 56 | |||
| 57 | 69ff4ef3 | Knut Arne Bjørndal | . "$MUNIN_LIBDIR/plugins/plugin.sh" |
| 58 | aa009f60 | Knut Arne Bjørndal | |
| 59 | 0d775b28 | Bert Peters | queuedir=${queuedir:-/var/spool/nullmailer/queue}
|
| 60 | errordir=${errordir:-/var/spool/nullmailer/failed}
|
||
| 61 | |||
| 62 | aa009f60 | Knut Arne Bjørndal | failed_warning=${failed_warning:-0:0}
|
| 63 | |||
| 64 | 0d775b28 | Bert Peters | case $1 in |
| 65 | autoconf) |
||
| 66 | 189c3953 | Lars Kruse | if command -v nullmailer-queue >/dev/null 2>/dev/null; then |
| 67 | 4ca4e8d9 | Bert Peters | [ -r "$queuedir" ] && echo yes || echo "no (queue dir not readable)" |
| 68 | 0d775b28 | Bert Peters | else |
| 69 | echo "no (nullmailer not installed)" |
||
| 70 | fi |
||
| 71 | ;; |
||
| 72 | |||
| 73 | config) |
||
| 74 | cat <<-EOF |
||
| 75 | graph_args -l 0 |
||
| 76 | graph_title Nullmailer queue |
||
| 77 | graph_vlabel emails |
||
| 78 | graph_total total |
||
| 79 | graph_category mail |
||
| 80 | |||
| 81 | queue.label queued |
||
| 82 | queue.draw AREASTACK |
||
| 83 | queue.info Number of emails currently in the queue |
||
| 84 | |||
| 85 | failed.label failed |
||
| 86 | failed.draw AREASTACK |
||
| 87 | failed.info Number of emails that have permanently failed to send |
||
| 88 | EOF |
||
| 89 | aa009f60 | Knut Arne Bjørndal | print_warning queue |
| 90 | print_critical queue |
||
| 91 | print_warning failed |
||
| 92 | print_critical failed |
||
| 93 | 0d775b28 | Bert Peters | ;; |
| 94 | |||
| 95 | *) |
||
| 96 | echo "queue.value $(find "$queuedir" -type f | wc -l)" |
||
| 97 | # Failed does not exist until there has been a failure, so mute the "file not found" |
||
| 98 | echo "failed.value $(find "$errordir" -type f 2> /dev/null | wc -l)" |
||
| 99 | ;; |
||
| 100 | esac |
