openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -enddate
CA 把有效期从九十天缩到四十七天,监控脚本里写死的九十天阈值一直不告警,等发现时只剩三天。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,阈值是按旧有效期拍的百分比或固定天数,有效期整体缩短后,剩余天数永远落不到告警区间。到期时间本身没算错。
这次卡住的地方就在「证书有效期阈值」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
处理上按这个顺序:把告警改成剩余天数绝对值,比如三十天和七天各一档,别再按比例;监控对象覆盖所有对外端口,不只查 443;用 openssl 定时拉一次真实 notAfter,别读本地文件的时间。
改完只确认一件事:手动调高阈值后告警能触发,面板上剩余天数与实际一致。
