zabbix监控公网网站证书剩余时间
思路
配置过程
思路
- 提取出想要监控的网站证书有效时间,编写成shell脚本
- 配置zabbix,创建自定义监控项
- 配置zabbix web页面 添加监控项
- 查看效果
配置过程
查看证书有效时间
[root@localhost ~]# openssl s_client -connect www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}'
Aug 6 05:16:01 2023 GMT
转换时间 date -d 为秒速+%s,并提取现在时间
[root@localhost ~]# date +%s -d "Aug 6 05:16:01 2023 GMT"
1691298961
[root@localhost ~]# date +%s
1684479899
进行运算 写入脚本
[root@nginx01 ~]# vim /etc/zabbix/zabbix_agent2.d/ssl-web.sh
#!/bin/bash
expiredate=$(echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}')
expiretime=$(date +%s -d "$expiredate")
nowtime=$(date +%s)
outtime=$(((expiretime-nowtime)/(60*60*24)))
echo $outtime
执行脚本,测试效果
[root@nginx01 ~]# sh /etc/zabbix/zabbix_agent2.d/ssl-web.sh www.baidu.com
78
[root@nginx01 ~]# sh /etc/zabbix/zabbix_agent2.d/ssl-web.sh www.github.com
300
[root@nginx01 ~]#
创建自定义监控项 (文件名随便定义已.conf结尾)
[root@nginx01 ~]# vim /etc/zabbix/zabbix_agent2.d/default.conf
UserParameter=ssl.time[*],/bin/bash /etc/zabbix/zabbix_agent2.d/ssl-web.sh
重启服务 ,sever端测试效果
[root@nginx01 ~] systemctl restart zabbix-agent2.service
[root@localhost ~]# zabbix_get -s 172.16.1.7 -k ssl.time[www.baidu.com]
78
[root@localhost ~]# zabbix_get -s 172.16.1.7 -k ssl.time[www.github.com]
300
[root@localhost ~]#
配置zabbix web界面 创建模板—添加监控项----模板添加到主机
在模板中创建监控项
给主机添加这个模板效果展示