ssl证书到期监控核心是自动抓取、定期检查与提前告警;主流方案包括zabbix+sslooker集成、checkmk主动探测、domain admin集中看板及命令行+cron兜底脚本,覆盖不同团队规模与技术栈需求。

直接监控 SSL 证书到期时间,核心是“自动抓取 + 定期检查 + 提前告警”,而不是靠人工翻日历或浏览器点开看。现在主流做法是用专业监控工具接入域名或服务器,实时计算剩余天数,一到期前就发通知。
用 ZABBIX + sslooker 轻量集成
适合已有 ZABBIX 环境的团队,部署快、告警链路成熟:
- 安装 sslooker 工具(Python 脚本),配置要监控的域名列表和端口(默认 443)
- 在 ZABBIX 中导入官方模板,它会自动生成监控项,把证书剩余小时数作为数值指标写入
- 设置触发器:比如“剩余天数
- 支持批量加域名,也兼容泛域名(*.example.com)和多 SAN 证书
用 Checkmk 主动探测 HTTPS
适合不想装代理、也不依赖云平台 API 的纯网络层监控场景:
- 在 Checkmk 中添加目标网站为主机(无需安装 agent,选“无 API 集成”即可)
- 启用 check_http 服务规则,勾选“SSL/TLS 检查”,指定端口 443
- 系统会自动连接并解析证书的 notAfter 时间,换算成剩余天数展示在服务状态页
- 可为不同域名设不同告警阈值,比如核心业务设 15 天预警,测试站设 3 天
用 Domain Admin 自建集中看板
适合中小团队或证书来源分散(阿里云、腾讯云、acme.sh、自签等)的情况:
- 部署 Domain Admin(Python + Vue3),填入各平台 API Key 或手动录入证书信息
- 它会主动调用 OpenSSL 或远程握手,定期刷新所有域名的证书状态
- 界面直接显示“剩余 XX 天”,支持按过期时间排序,一眼锁定高风险项
- 邮件/钉钉/企微通知可按天数分级,比如提前 30 天只发汇总日报,提前 3 天发加急弹窗
命令行 + cron 做兜底脚本
哪怕用了上面任一平台,也建议保留一个本地校验脚本,防主系统异常:
- 用 openssl s_client 抓取证书,再用 openssl x509 -noout -dates 提取有效期
- 写个 Shell 脚本,循环检查一批域名,把剩余天数小于阈值的写入日志并触发邮件
- 加到 crontab 每天凌晨执行一次,日志保留 7 天,故障回溯有据可查











