zabbix监控SSL证书有效期
阅读原文时间:2022年04月11日阅读:1

想给公司网站加上证书的监控,发现agent无此监控项。科普之后发现需要自行添加脚本以及一些操作。

系统版本: Ubuntu20.04
zabbix server版本:5.4 (这个自定义貌似无所谓版本,更取决执行脚本的系统)
zabbix agent:同上

官方文档:

### 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> /dev/null | openssl x509 -text 2> /dev/null | grep "Not After" | sed -e 's/^ *//g' | cut -d " " -f 4,5,6,7,8`
NOW_TIME=`date +%s`
EXP_TIME=`date +%s -d "${EXP_DAY}"`
if [ "${EXP_DAY}" != '' -a ${NOW_TIME} -lt ${EXP_TIME} ]; then
    echo $(((EXP_TIME-NOW_TIME)/(60*60*24)))
else
    echo "ERROR"
    exit 1;
fi

这个脚本我看有判断,比一些捡漏的要好一点。

此文件路径 /etc/zabbix/script/ssl_check.sh 这路径关系到agent参数,只要稳妥放哪你看着来。

在agent主机上可以测试下此脚本 执行./ssl_check.sh www.baidui.com

正常可以看到结果哦 一个int数, 脚本ok。不ok的自行科普。

上面脚本正常,下面就是配置agent。
vim /etc/zabbix/zabbix_agent.d/ssl_check.sh

内容:

UserParameter=ssl_check[*],/etc/zabbix/script/ssl_check.sh $1

此部分内容会被agent.conf引入。也就是agent会知道这个key怎么操作,key后面是之前定义的shell+参数。

这下其实就一定搞定了主要工作,重启agent后配置zabbix server进行监控了。

重启 systemctl restart zabbix-agent

选择一台主机,对其添加监控项item:

键值: 定义的key[网址]
更新间隔: 我觉得这个时间不用太久,所以我选择24小时。

添加完成可以测试一下:

可以看到83, 那我的证书还有83天。

如果不加Trigger,那即便是0天我也不知道。没人跟我说到期了。
所以我们通过他来触发告警。
创建触发器:

我这里判断30天触发,那就是30天触发之后通过媒介给我发送警报。

Trigger 负责触发问题,Action来执行通知。
我认定你已经在自己账号上面设置了告警媒介了。

动作-> triggen action -> 创建

通过上面的配置,我就能接收到只有此主机出现的问题,发送到我指定的账户中。这会账户配置了相关的媒介来接收。

到此结束~
祝好!

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章