first version with startls as option
This commit is contained in:
commit
4041f7a529
22
check_cert_runtime_local.sh
Normal file
22
check_cert_runtime_local.sh
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# checks certificate runtime of host locally f.e. if checkmk server cannot access monitored hosts ports directy (dmz, behind proxy, etc.)
|
||||||
|
# Copy this to /usr/lib/check_mk_agent/local and adjust hostname and port
|
||||||
|
# depending on service you need to set 'startls="-starttls xyz"'
|
||||||
|
# smtp on port 25: -starttls smtp
|
||||||
|
# ftp on port 21: -starttls ftp
|
||||||
|
# imap on port 143: -starttls imap
|
||||||
|
# pop3 on port 110: -starttls pop3
|
||||||
|
# more see openssl documentation
|
||||||
|
|
||||||
|
hostname=$(hostname -f)
|
||||||
|
port=993
|
||||||
|
starttls=
|
||||||
|
certificate_file=$(mktemp)
|
||||||
|
echo -n | openssl s_client -servername "$hostname" -connect "$hostname":$port $starttls 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > $certificate_file
|
||||||
|
date=$(openssl x509 -in $certificate_file -enddate -noout | sed "s/.*=\(.*\)/\1/")
|
||||||
|
date_s=$(date -d "${date}" +%s)
|
||||||
|
now_s=$(date -d now +%s)
|
||||||
|
date_diff=$(( (date_s - now_s) / 86400 ))
|
||||||
|
|
||||||
|
echo 'P "'$hostname':'$port' Cert-Runtime" days=-'$date_diff';-15;-10 Certificate of Service on '$hostname' Port '$port' expires in '$date_diff' days'
|
Loading…
Reference in New Issue
Block a user