ssl证书过期时间监控

前几天,因为网易邮箱有部分域名的ssl证书过期,导致很多苹果用户的手机遇到疯狂弹窗,提示无法验证服务器身份。在我看来,这肯定是运维的锅了。

即使ssl厂商有续费提示,但是有可能因为人为的原因或者沟通的原因导致部分域名会忘记更换。所以每个https的域名都有必要添加上证书过期的提醒。(网易邮箱这次好像就是因为更换证书出现了遗漏)。

如果你正在使用prometheus的作为监控工具,那么做ssl证书过期的监控就很简单了。prometheus是使用blackbox_exporter来监控http的。而blackbox_exporter默认就会检查https域名证书的过期时间,并把证书到期那一刻的时间戳存储在probe_ssl_earliest_cert_expiry里。所以直接添加alert rules就行了。

  - alert: "ssl证书过期警告"
    expr: (probe_ssl_earliest_cert_expiry - time())/86400 <10
    for: 1h
    labels:
      severity: warn
    annotations:
      description: ‘域名{{$labels.instance}}的证书还有{{ printf "%.1f" $value }}天就过期了,请尽快更新证书‘
      summary: "ssl证书过期警告"

如果用到是其他监控工具,可能就需要用脚本获取过期时间再监控了。
openssl命令可以获取证书的过期时间,方法如下:

echo |openssl s_client -servername www.baidu.com  -connect www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘
返回:
Jun 25 05:31:02 2020 GMT
如果想获取时间戳,方便判断,可以使用date命令转换
date +%s -d "$(echo |openssl s_client -servername www.baidu.com  -connect www.baidu.com:443 2>/dev/null | openssl x509 -noout -dates|awk -F ‘=‘ ‘/notAfter/{print $2}‘)"
返回:
1593063062

原文地址:https://blog.51cto.com/14601432/2481291

时间: 2024-10-11 08:27:07

ssl证书过期时间监控的相关文章

zabbix企业应用之监控域名过期时间与ssl证书过期时间

如果各位维护过n多个域名,可能会对备案与续费有所了解,备案是十分麻烦,各种流程,而续费的话,虽然比较简单,但如果你没有提前续费,可能导致域名不可用,甚至被他人给恶意注册,为了解决这样的问他,我今天给各位分享一下,如何使用zabbix监控域名过期时间与ssl证书过期时间,默认的触发器是在域名或ssl证书要过期前60天通知. 下面是监控域名过期时间的效果图 下面是监控ssl证书过期时间效果图 如何实现: 一.客户端 1.修改zabbix_agentd.conf文件 在zabbix_agentd.co

zabbix-监控ssl证书过期时间

脚本: [[email protected] shell]# cat cert_check.sh  #!/bin/sh ### SSL Certificate Expire Day Check Script ### if [ "$1" = '' ];then     echo "Need URL."     exit 1;fi TARGET_URL=$1 EXP_DAY=`openssl s_client -connect ${TARGET_URL}:443 <

一场由于ssl证书过期造成的扯蛋加班

昨天中午,突然有反映app客户端无法登录,注册.由于监控还不到位,所以没有第一时间知道,发现问题后,首先检查日志,发现有大量的'peer closed connection in SSL handshake while SSL handshaking,''client closed connection while waiting for request,' 以前没有解决过此类报错,百度和google也没查到解决的办法,只是说ssl握手不成功,但由于大量的用户无法登录,同时在出现问题的前一天又做

修改kubeadm证书过期时间

kubernetes集群三步安装 修改kubeadm证书过期时间 本文通过修改kubeadm源码让kubeadm默认的一年证书过期时间修改为99年 我已经编译好了一个放在了github上,有需要的可以直接下 代码编译 编译环境镜像我已经放到dockerhub上了:fanux/kubernetes-build:v1.0.0 首先clone k8s 代码: git clone https://github.com/kubernetes/kubernetes 挂载到镜像中编译 docker run -

Kubeadm证书过期时间调整

kubeadm 默认证书为一年,一年过期后,会导致api service不可用,使用过程中会出现:x509: certificate has expired or is not yet valid. 方案一 通过修改kubeadm 调整证书过期时间 修改代码,调整过期时间 克隆代码:git clone https://github.com/kubernetes/kubernetes.git, 切换到指定的tag或者版本修改vendor/k8s.io/client-go/util/cert/cer

kubeadm修改证书过期时间

因为我是安装用kubeadm自动安装的,目前最新版本1.63 但是限于证书过期时间问题,需要去做更改,特此记录! 一.安装go语言. 现在新版本的k8s重新编译都需要高版本的go语言了.我这边安装的是V1.13.5 先下载:rm -rf go1.135.linux-amd64.tar.gz tar -zxvf  go1.135.linux-amd64.tar.gz mv go /usr/local/ 添加环境变量: export PATH=$PATH:/usr/local/go/bin sour

zabbix监控ssl证书到期时间

公司因有一个域名过期导致线上业务受到影响,因此老大要求把公司所有的证书纳入到zabbix监控中!下面贴出配置过程,供大家参考!不足支持欢迎指教监控脚本 cat ssl_check.sh #!/bin/bash #20181219 #获取ssl证书的过期时间 #menghao #获取证书的有效时间 time=$(echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'N

003_监测域名证书过期时间

由于因为线上证书过期,出过比较大的事故,所以就有了如下的监测证书过期的脚本 一. #!/bin/sh ### SSL Certificate Expire Day Check Script ### if [ "$1" = '' ];then echo "Need URL." exit 1;fi TARGET_URL=$1 EXP_DAY=`openssl s_client -connect ${TARGET_URL}:443 < /dev/null 2>

[linux tips] puppet client ssl 证书过期

问题: [[email protected] .ssh]# puppet agent -tv Warning: Unable to fetch my node definition, but the agent run will continue: Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [CRL has expired fo