server端操作
找一个安装有agent 的server 进行一下操作
安装所需组件
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
脚本内容
#!/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
验证脚本
# 赋执行权限
[root@bac scripts] chmod +x check_ssl.sh
[root@elk scripts]./check_ssl.sh xxxx-xxxx.cn
565
#单位为天
zabbix 配置文件中添加配置
[root@elk scripts]cat /etc/zabbix/zabbix_agentd.conf |grep ssl
UserParameter=check.ssl[*],/etc/zabbix/scripts/check_ssl.sh $1、
重启zabbix agent
systemctl restart zabbix-agent
web端操作
创建监控项
-
登录zabbix 创建新的监控项
- 名称:随意填写
- 类型:Zabbix 客户端
- 键值:添加在配置文件中的
check.ssl[*]
*为你的域名 - 更新间隔因为证书不需要做实时的检查 所以时间可以设置长一点(12h或者24h)
- 检查创建监控项是否生效
创建完成以后可以在检测
--最新数据
中查看监控项
创建触发器
-
监控项有了 接下来创建触发器
-
创建完毕 来测试下告警
把阈值调为600 天来测试下告警
因为我们把更新间隔调的时间比较长 所以我们为了快速验证告警可以调小
这个时候我们可以看到告警信息
到这SSL 证书监控告警已经完成 - 看到告警信息之后记得阈值调回来
本文由博客群发一文多发等运营工具平台 OpenWrite 发布