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 AMD64:https://dl.cactifans.com/zabbix/zabbix_sslooker.windows-amd64.zip

注意事项:
1.获取证书有效期为小时
2.自签发证书暂不支持检测

Zabbix Agent配置

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

1
2
3
4
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,增加如下内容

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

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

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

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

Zabbix Server配置

进入zabbix server,在对应的机器上建立对应的Item及Trigger即可告警。这里以检测baidu网站证书为例子,并设置过期48小时之前告警。
设置Item
item
设置Trigger
trigger
最新数据
last
多个域名可以通过建立多个Item的方式监控,或通过主机宏的方式监控

如果觉得我的文章对您有用,请关注我的公众号,有更多技术干货!
微信