编写获取SSL证书剩余时间脚本:
# cd /etc/zabbix/script/
# vim ssl_certificates_check.sh
#!/bin/bash
# 通过 Openssl 工具获取到当前证书的到期时间
Cert_END_Time=$(echo | openssl s_client -servername $1 -connect $1:443 2> /dev/null | openssl x509 -noout -dates | grep 'After' | awk -F '=' '{print $2}' | awk '{print $1,$2,$4}')# 将证书的到期时间转化成时间戳
Cert_NED_TimeStamp=$(date +%s -d "$Cert_END_Time")# 定义当前时间的时间戳
Create_TimeStamp=$(date +%s)# 通过计算获取到证书的剩余天数
Rest_Time=$(expr $(expr $Cert_NED_TimeStamp - $Create_TimeStamp) / 86400)# 输出剩余天数
echo "$Rest_Time"
配置可执行权限 &测试
# chmod a+x ssl_certificates_check.sh
# ./ssl_certificates_check.sh www.baidu.com
29 //ssl证书剩余29天
zabbix-agent配置文件
# cd /etc/zabbix/zabbix_agentd.d
# vim userparameter_ssl_certificates_check.conf
UnsafeUserParameters=1
UserParameter=ssl_check[*],/etc/zabbix/script/ssl_certificates_check.sh $1
重启agent,zabbix-get测试
# systemctl restart zabbix-agent.service
# zabbix_get -s 127.0.0.1 -p 10050 -k ssl_check[www.baidu.com]
29 //zabbix测试一致
添加zabbix主机监控项
查看最新数据
配置触发器告警就OK了。