先放上腳本
#!/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
一、server端操作
找一個安裝有agent 的server 進行一下操作
1、安裝所需組件
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
2、驗證腳本
賦予權限 [root@bac scripts] chmod +x check_ssl.sh [root@elk scripts]./check_ssl.sh xxxx-xxxx.cn 565 #單位為天
3、zabbix 配置文件中添加配置
[root@elk scripts]cat /etc/zabbix/zabbix_agentd.conf |grep ssl UserParameter=check.ssl[*],/etc/zabbix/scripts/check_ssl.sh $1
4、重啟zabbix agent
systemctl restart zabbix-agent
二、web端操作
創建監控項
1、登錄zabbix 創建新的監控項
名稱隨意填寫
鍵值為你添加在配置文件中的check.ssl[*] *為你的域名
更新間隔因為證書不需要做實時的檢查 所以時間可以設置長一點
2、檢查創建監控項是否生效
創建完成以后可以在檢測---最新數據中查看監控項
創建觸發器
1、監控項有了 接下來創建觸發器
測試告警
1. 創建完畢 來測試下告警
把閾值調為600 天來測試下告警
2.觸發告警
因為我們把更新間隔調的時間比較長 所以我們為了快速驗證告警可以調小
這個時候我們可以看到我們的告警信息
到這SSL 證書監控告警已經完成。
