經過zabbix監控提醒網址ssl證書過時和網站域名過時未必不是一件好事,省掉過時後的一些麻煩。html
一。SSL證書監控(zabbix客戶端部署)
vi /etc/zabbix/script/ssl_check.sh
#!/bin/bash
#獲取ssl證書的過時時間
#menghao
#獲取證書的有效時間
time=$(echo | openssl s_client -connect $1:443 2>/dev/null | openssl x509 -noout -dates |awk -F'=' 'NR==2{print $2}')
#有效時間生成時間戳
time1=$(date +%s -d "$time")
#當前時間生成時間戳
time2=$(date +%s)
#當前時間減去有效時間,得到將要過時的天數
time3=$(((time1-time2)/(606024)))
echo $time3bash
腳本給執行權限
chmod +x /etc/zabbix/script/ssl_check.sh
編輯zabbix_agent配置文件添加一行
UserParameter=ssl_check[*],/etc/zabbix/script/ssl_check.sh $1微信
配置完別忘記重啓一下zabbix_agent服務
systemctl restart zabbix-agent.servicedom
能夠經過命令檢測一下,獲取網站有ssl證書的到期時間
zabbix_get -s 192.168.100.9 -p 10050 -k ssl_check[www.baidu.com]ide
成功獲取了數據,則能夠在zabbix服務端上配置了。
在服務端上--配置--主機--監控項--建立監控項測試
而後再配置告警小於30天提醒
網站
測試的時候能夠把值改爲3000,會有相應的告警系統,我這邊是調用企業微信通知。
測試完記得改回去哦。rest
二.域名監控(客戶端上配置)
vi /etc/zabbix/script/domain_check.sh
#/bin/bash
time=$(echo | whois $1 |grep 'Registry Expiry Date' |awk '{print $4}'|cut -d 'T' -f 1 )
if [ -z "$time" ]
then
time=whois $1|grep 'Expiration Time' |awk '{print $3}'
fi
#有效時間生成時間戳
time1=$(date +%s -d "$time")
#當前時間生成時間戳
time2=$(date +%s)
#當前時間減去有效時間,得到將要過時的天數
time3=$(((time1-time2)/(606024)))
echo $time3code
腳本給執行權限
chmod +x /etc/zabbix/script/domain_check.sh
編輯zabbix_agent配置文件添加一行
UserParameter=domain_check[*],/etc/zabbix/script/domain_check.sh $1htm
配置完別忘記重啓一下zabbix_agent服務
systemctl restart zabbix-agent.service
能夠經過命令檢測一下,獲取網站有ssl證書的到期時間
zabbix_get -s 192.168.100.9 -p 10050 -k domain_check[www.baidu.com]
成功獲取了數據,則能夠在zabbix服務端上配置了。
在服務端上--配置--主機--監控項--建立監控項
就是這麼簡單。
參考文章:
http://www.javashuo.com/article/p-fodjosyd-gd.html
https://blog.51cto.com/bkmaster/2473366?source=dra