forked from evolix/ansible-roles
[nagios-nrpe] Add check_ssl_local script
This commit is contained in:
parent
7e21b13d6a
commit
2ec3c91ed9
69
nagios-nrpe/files/plugins/check_ssl_local
Executable file
69
nagios-nrpe/files/plugins/check_ssl_local
Executable file
|
@ -0,0 +1,69 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check permettant de monitorer une liste de certificats
|
||||||
|
# /etc/nagios/ssl_local.cfg
|
||||||
|
#
|
||||||
|
# Développé par Will (2022)
|
||||||
|
#
|
||||||
|
|
||||||
|
certs_list_path=/etc/nagios/check_ssl_local_list.cfg
|
||||||
|
|
||||||
|
# Dates in seconds
|
||||||
|
_10_days="864000"
|
||||||
|
_15_days="1296000"
|
||||||
|
|
||||||
|
critical=0
|
||||||
|
warning=0
|
||||||
|
|
||||||
|
|
||||||
|
if [[ ! -f "$certs_list_path" ]]; then
|
||||||
|
touch "$certs_list_path"
|
||||||
|
fi
|
||||||
|
|
||||||
|
certs_list=$(cat "$certs_list_path" | sed -E 's/(.*)#.*/\1/g' | grep -v -E '^$')
|
||||||
|
|
||||||
|
for cert_path in $certs_list; do
|
||||||
|
|
||||||
|
if [ ! -f "$cert_path" ]; then
|
||||||
|
>&2 echo "Warning: Cert file '$cert_path' does not exist."
|
||||||
|
warning=1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
enddate=$(openssl x509 -noout -enddate -in "$cert_path" | cut -d'=' -f2)
|
||||||
|
|
||||||
|
# Check cert expiré (critique)
|
||||||
|
if ! openssl x509 -checkend 0 -in "$cert_path" &> /dev/null; then
|
||||||
|
critical=1
|
||||||
|
>&2 echo "Critical: Cert '$cert_path' has expired on $enddate."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check cert expire < 10 jours (critique)
|
||||||
|
if ! openssl x509 -checkend "$_10_days" -in "$cert_path" &> /dev/null; then
|
||||||
|
critical=1
|
||||||
|
>&2 echo "Critical: Cert '$cert_path' will expire on $enddate."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check cert expire < 15 jours (warning)
|
||||||
|
if ! openssl x509 -checkend "$_15_days" -in "$cert_path" &> /dev/null; then
|
||||||
|
warning=1
|
||||||
|
>&2 echo "Warning: Cert '$cert_path' will expire on $enddate."
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cert expire > 15 jours (OK)
|
||||||
|
echo "Cert '$cert_path' OK."
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $critical -eq 1 ]; then
|
||||||
|
exit 2
|
||||||
|
elif [ $warning -eq 1 ]; then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,7 @@ command[check_redis]=/usr/lib/nagios/plugins/check_tcp -p 6379
|
||||||
command[check_clamd]=/usr/lib/nagios/plugins/check_clamd -H /var/run/clamav/clamd.ctl -v
|
command[check_clamd]=/usr/lib/nagios/plugins/check_clamd -H /var/run/clamav/clamd.ctl -v
|
||||||
command[check_clamav_db]=/usr/lib/nagios/plugins/check_file_age -w 86400 -c 172800 -f /var/lib/clamav/evolix.ndb
|
command[check_clamav_db]=/usr/lib/nagios/plugins/check_file_age -w 86400 -c 172800 -f /var/lib/clamav/evolix.ndb
|
||||||
command[check_ssl]=/usr/lib/nagios/plugins/check_http -f follow -I 127.0.0.1 -S -p 443 -H ssl.evolix.net -C 15,5
|
command[check_ssl]=/usr/lib/nagios/plugins/check_http -f follow -I 127.0.0.1 -S -p 443 -H ssl.evolix.net -C 15,5
|
||||||
|
command[check_ssl_local]={{ nagios_plugins_directory }}/check_ssl_local
|
||||||
command[check_elasticsearch]=/usr/lib/nagios/plugins/check_http -I 127.0.0.1 -u /_cat/health?h=st -p 9200 -r 'red' --invert-regex
|
command[check_elasticsearch]=/usr/lib/nagios/plugins/check_http -I 127.0.0.1 -u /_cat/health?h=st -p 9200 -r 'red' --invert-regex
|
||||||
command[check_memcached]=/usr/lib/nagios/plugins/check_tcp -H 127.0.0.1 -p 11211
|
command[check_memcached]=/usr/lib/nagios/plugins/check_tcp -H 127.0.0.1 -p 11211
|
||||||
command[check_opendkim]=/usr/lib/nagios/plugins/check_tcp -H 127.0.0.1 -p 54321
|
command[check_opendkim]=/usr/lib/nagios/plugins/check_tcp -H 127.0.0.1 -p 54321
|
||||||
|
|
Loading…
Reference in a new issue