请启用 Javascript 以查看内容

zabbix 监控域名证书到期时间

 ·   ·  ☕ 1 分钟  ·  ✍ CNSRE

文章链接
https://www.cnsre.cn/posts/210406154942/
cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

server端操作

找一个安装有agent 的server 进行一下操作

安装所需组件

1
2
3
4
5
6
yum install bc gcc  gcc-c++  -y
# 安装openssl
yum install openssl -y 
# 验证openssl 
root@elk scripts]openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

脚本内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/sh
host=$1
end_date=`openssl s_client -servername $host -host $host -port 443 -showcerts </dev/null 2>/dev/null |
  sed -n '/BEGIN CERTIFICATE/,/END CERT/p' |
  openssl x509 -text 2>/dev/null |
  sed -n 's/ *Not After : *//p'`
if [ -n "$end_date" ]
then
    end_date_seconds=`date '+%s' --date "$end_date"`
    now_seconds=`date '+%s'`
    echo "($end_date_seconds-$now_seconds)/24/3600" | bc
fi

验证脚本

1
2
3
4
5
# 赋执行权限
[root@bac scripts] chmod +x check_ssl.sh
[root@elk scripts]./check_ssl.sh xxxx-xxxx.cn              
565
#单位为天

zabbix 配置文件中添加配置

1
2
[root@elk scripts]cat /etc/zabbix/zabbix_agentd.conf |grep  ssl
UserParameter=check.ssl[*],/etc/zabbix/scripts/check_ssl.sh $1

重启zabbix agent

1
systemctl  restart  zabbix-agent

web端操作

创建监控项

  • 登录zabbix 创建新的监控项
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
  • 名称:随意填写
  • 类型:Zabbix 客户端
  • 键值:添加在配置文件中的check.ssl[*] *为你的域名
  • 更新间隔因为证书不需要做实时的检查 所以时间可以设置长一点(12h或者24h)
  • 检查创建监控项是否生效
    创建完成以后可以在检测最新数据中查看监控项
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控

创建触发器

  • 监控项有了 接下来创建触发器
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
  • 创建完毕 来测试下告警
    把阈值调为600 天来测试下告警
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    因为我们把更新间隔调的时间比较长 所以我们为了快速验证告警可以调小
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    这个时候我们可以看到告警信息
    cnsre运维博客|Linux系统运维|自动化运维|云计算|运维监控
    到这SSL 证书监控告警已经完成
  • 看到告警信息之后记得阈值调回来
    文章链接
    https://www.cnsre.cn/posts/210406154942/
分享

CNSRE
作者
CNSRE
一个📚学习中的👨‍💻SRE运维工程师🚀🚀🚀


目录