root / plugins / ssl / letsencrypt_weekly @ bba98f95
Historique | Voir | Annoter | Télécharger (1,55 ko)
| 1 | d6d5fa80 | Andreas Perhab | #!/bin/sh |
|---|---|---|---|
| 2 | : << =cut |
||
| 3 | =head1 NAME |
||
| 4 | |||
| 5 | letsencrypt_weekly - monitor the number of CSRs by week for /etc/letsencrypt/csr/ |
||
| 6 | |||
| 7 | see https://letsencrypt.org/docs/rate-limits/ |
||
| 8 | |||
| 9 | = head1 CONFIGURATION |
||
| 10 | |||
| 11 | You can configure the warning and critical limits for this plugin: |
||
| 12 | |||
| 13 | [letsencrypt_weekly] |
||
| 14 | # warn when more than 40 certificates have been requested in the last week |
||
| 15 | env.warning :40 |
||
| 16 | # critical when more than 50 certificates have been requested in the last week |
||
| 17 | env.critical :50 |
||
| 18 | |||
| 19 | =head1 Dependencies |
||
| 20 | |||
| 21 | Dependencies: openssl |
||
| 22 | |||
| 23 | =head1 AUTHOR |
||
| 24 | |||
| 25 | andreas perhab - andreas.perhab@wt-io-it.at |
||
| 26 | https://www.wt-io-it.at/ |
||
| 27 | |||
| 28 | =head1 LICENSE |
||
| 29 | |||
| 30 | GPLv2 |
||
| 31 | |||
| 32 | =head1 MAGIC MARKERS |
||
| 33 | |||
| 34 | #%# family=auto |
||
| 35 | #%# capabilities=autoconf |
||
| 36 | |||
| 37 | =cut |
||
| 38 | |||
| 39 | . "$MUNIN_LIBDIR/plugins/plugin.sh" |
||
| 40 | |||
| 41 | warning=${warning:-:40}
|
||
| 42 | critical=${critical:-:50} #letsencrypt doesn't allow more than 50 certificates per week
|
||
| 43 | # see https://letsencrypt.org/docs/rate-limits/ |
||
| 44 | |||
| 45 | if [ "$1" = "autoconf" ] ; then |
||
| 46 | test -d /etc/letsencrypt/csr/ && echo "yes" || echo "no (directory /etc/letsencrypt/csr does not exist)" |
||
| 47 | elif [ "$1" = "config" ] ; then |
||
| 48 | echo "graph_title Letsencrypt certificate requests during last week" |
||
| 49 | echo "graph_args --base 1000" |
||
| 50 | echo "graph_vlabel Number of certificates" |
||
| 51 | echo "graph_category security" |
||
| 52 | echo "letsencrypt_weekly.label Letsencrypt certificates last week" |
||
| 53 | print_warning "letsencrypt_weekly" |
||
| 54 | print_critical "letsencrypt_weekly" |
||
| 55 | elif [ "$1" = "" ] ; then |
||
| 56 | if existing_certs=$(find /etc/letsencrypt/csr/ -mtime -7 -type f 2>/dev/null); then |
||
| 57 | value=$(echo "$existing_certs" | wc -l) |
||
| 58 | else |
||
| 59 | value="U" |
||
| 60 | fi |
||
| 61 | echo "letsencrypt_weekly.value $value" |
||
| 62 | fi |
