1、编辑脚本
more /usr/local/zabbix/script/check_sslcert_expire_script.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/bin/bash #传入第一参数指定输入的域名 domain=$1 #传入的第二个参数指定https的端口 port=$2 #获取证书到期时间 expired_date=`echo |openssl s_client -servername ${domain} -connect ${domain}:${port} 2>/dev/null | openssl x509 -noout -dates |sed -n 's/notAfter=//p'` #${expired_date}参数一定要加上双引号,否则按多个参数处理 #与当前系统日期时间做对比,查看证书过期时间 if [ -n "${expired_date}" ];then expired_seconds=`date '+%s' --date "${expired_date}"` now_seconds=`date '+%s'` echo "(${expired_seconds}-${now_seconds})/24/3600" | bc else : fi
|
2、修改zabbix_agentd.conf配置文件,添加下面一行
1
| UserParameter=check_ssl_cert_expire[*],sh /usr/local/zabbix/script/check_sslcert_expire_script.sh $1 $2
|
重新启动agent
3、检查获取参数是否正常
1 2 3 4
| /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k check_ssl_cert_expire[www.baidu.com,443] 159 /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p 10050 -k check_ssl_cert_expire[www.masterdax.com,443] 85
|
4、打开zabbix,web控制台添加模板,监控项
设置触发器,证书到期时触发报警