RSS

Zabbix 监控SSL证书过期时间

设计初衷

由于业务需要,最近通过 Let’s Encrypt 申请了一些 SSL 证书,而证书有效期为 3 个月,需要在证书到期之前 renew。由于域名较多经常忘记 renew,导致证书过期,因此想通过 Zabbix 的方式监控证书的到期时间,提前告警以便即时 renew 证书

使用说明

脚本下载地址;
Linux kernel 3.x x86_64: https://dl.cactifans.com/zabbix/zabbix_sslooker.kernel_3.10.0.x86_64.tar.gz
Linux kernel 2.x x86_64:https://dl.cactifans.com/zabbix/zabbix_sslooker.kernel_2.6.32.x86_64.tar.gz
Windows AMD 64 x86_64:https://dl.cactifans.com/zabbix/zabbix_sslooker.windows-amd64.zip

 Zabbix Agent 配置

 

下载对应的脚本到安装了 Zabbix Agent 并可以访问到检测证书网站的机器

cd /usr/local/src/
wget https://dl.cactifans.com/zabbix/zabbix_sslooker.kernel_3.10.0.x86_64.tar.gz
tar zxvf zabbix_sslooker.kernel_3.10.0.x86_64.tar.gz
chmod a+x sslooker

修改 agent 的配置文件 zabbix_agent,增加如下内容

UserParameter=sslcheck[*],/usr/local/src/sslooker $1 $2

sslcheck 为 zabbix 的 item key,/usr/local/zabbix/share/sslooker 为下载解压后的脚本可执行程序
添加之后,重启 Zabbix Agent
在 Zabbix Server 上通过 Zabbix get 测试是否正常

zabbix_get -s 127.0.0.1 -k sslcheck[baidu.com,443]

 

由于我使用 zabbix server 来检测证书,所以直接 get 本机的 agent 地址,sslchek 为刚才脚本里定义的 key,方括号内为参数,第一个为域名,第二个为端口。返回数值为证书的有效时间,单位为小时

Zabbix Server 配置

进入 zabbix server,在对应的机器上建立对应的 Item 及 Trigger 即可告警。这里以检测 baidu 网站证书为例子,并设置过期 48 小时之前告警。
设置 Item

设置 Trigger

效果

多个域名可以通过建立多个 Item 的方式监控,或通过主机宏的方式监控。