cat /etc/zabbix/scripts/check-cert-expire.sh#!/bin/bash
host=$1
port=$2
end_date=`/usr/bin/openssl s_client -servername $host -host $host -port $port -showcerts /dev/null |
sed -n '/begin certificate/,/end cert/p' |
/usr/bin/openssl x509 -text 2>/dev/null |
sed -n 's/ *not after : *//p'`
# openssl 檢驗和驗證ssl證書。
# -servername $host 因一台主機存在多個證書,利用sni特性檢查
# cat /etc/zabbix/scripts/sshcert_discovery.py
#!/usr/bin/env python# 網域名稱列表#coding:utf-8
import os
import sys
import json
#這個函式主要是構造出乙個特定格式的字典,用於zabbix
def ssl_cert_discovery():
web_list=
web_dict=
with open("/etc/zabbix/scripts/ssl_cert_list","r") as f:
for sslcert in f:
dict={}
dict[""]=sslcert.strip().split()[0]
dict[""]=sslcert.strip().split()[1]
web_dict["data"]=web_list
jsonstr = json.dumps(web_dict,indent=4)
return jsonstr
if __name__ == "__main__":
print ssl_cert_discovery()
# zabbix配置
cat /etc/zabbix/zabbix_agentd.conf.d/userparameter_sslcert.conf# zabbix新增監控模版userparameter=sslcert_discovery,/usr/bin/python /etc/zabbix/scripts/sshcert_discovery.py
userparameter=sslcert.info[*],/bin/bash /etc/zabbix/scripts/check-cert-expire.sh $1 $2
<?xml version="調整觸發器時長,驗證配置是否正確。# 出發告警1.0" encoding="
utf-8
"?>
5.2 2021-01-06t11:40:38zdate>
templates
groups>
template ssl cert information
template ssl cert information
templates
groups>
ssl cert information
sslcert_discovery
10sslcert.info[,]
120s
天multiplier
1
<90
證書到期時間小於90天
high
# 告警恢復
檢視網域名稱https證書到期時間
1 通過網域名稱獲取 方法一 echo openssl s client servername 網域名稱 connect 網域名稱 443 2 dev null openssl x509 noout dates結果 notbefore oct 19 06 12 48 2020 gmt 起 notaf...
HTTPS證書到期續費
ssl證書到期之前需要更新。ssl證書的更新跟其他例如網域名稱的續費不一樣,ssl證書需要用新的證書檔案來替換即將過期的ssl證書檔案。由於國內有很多不太專業的ssl證書 商常常在客戶的ssl證書到期之前沒有提醒使用者續費,導致 出現訪問問題的時候才發現是ssl證書到期所致。如果伺服器使用者忘記了更...
HTTPS證書到期續費過程
ssl證書到期之前需要更新。ssl證書的更新跟其他例如網域名稱的續費不一樣,ssl證書需要用新的證書檔案來替換即將過期的ssl證書檔案。由於國內有很多不太專業的ssl證書 商常常在客戶的ssl證書到期之前沒有提醒使用者續費,導致 出現訪問問題的時候才發現是ssl證書到期所致。如果伺服器使用者忘記了更...