中秋第一天,我寫了一篇SSL證書過期監控最佳實踐

語言: CN / TW / HK

先祝看到的同學中秋快樂,身體健康,在身體健康的基礎上儘量暴富。

進入正題,現在大部分網站都預設支援 HTTPS,我們申請的證書一般是3個月或者1年,很容易隨著時間的流逝SSL證書過期了我們卻沒有第一時間發現,或者在過期之前沒有及時更新證書。

今天這篇文章介紹如果使用 hertzbeat 監控系統來檢測我們網站的SSL證書有效期,當證書過期時或證書快過期前幾天,給我們發告警訊息。

HertzBeat是什麼

HertzBeat 一個擁有強大自定義監控能力,無需Agent的實時監控系統。網站監測,PING連通性,埠可用性,資料庫,作業系統,中介軟體,API監控,閾值告警,告警通知(郵件微信釘釘飛書)。

官網: https://hertzbeat.com | https://tancloud.cn

github: https://github.com/dromara/hertzbeat
gitee: https://gitee.com/dromara/hertzbeat

安裝 HertzBeat

1.如果不想安裝可以直接使用雲服務 TanCloud探雲 console.tancloud.cn

  1. docker 環境僅需一條命令即可安裝

docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat

  1. 安裝成功瀏覽器訪問 localhost:1157 即可開始,預設賬號密碼 admin/hertzbeat

監控SSL證書

  1. 點選新增SSL證書監控

系統頁面 -> 監控選單 -> SSL證書 -> 新增SSL證書

  1. 配置監控網站

我們這裡舉例監控百度網站, 配置監控host域名,名稱,採集間隔等。
點選確定 注意⚠️新增前預設會先去測試網站連線性,連線成功才會新增,當然也可以把是否測試按鈕置灰。

  1. 檢視檢測指標資料

在監控列表可以檢視監控狀態,進監控詳情可以檢視指標資料圖表等。

  1. 設定閾值(證書過期時觸發)

系統頁面 -> 告警 -> 告警閾值 -> 新增閾值

配置閾值,選擇SSL證書指標物件,配置告警表示式-當指標expiredtrue觸發,即equals(expired,"true") , 設定告警級別通知模版資訊等。

關聯閾值與監控, 在閾值列表設定此閾值應用於哪些監控。

  1. 設定閾值(證書過期前一週觸發)

同理如上,新增配置閾值,配置告警表示式-當指標有效期時間戳 end_timestampnow()函式為當前時間戳,若配置提前一週觸發告警即:end_timestamp <= (now() + 604800000) , 其中 604800000 為7天總時間差毫秒值。

最終可以在告警中心看到已觸發的告警。

  1. 告警通知(通過釘釘微信飛書等及時通知)

監控系統 -> 告警通知 -> 新增接收人

釘釘微信飛書等token配置可以參考幫助文件

https://hertzbeat.com/docs/help/alert_dingtalk
https://tancloud.cn/docs/help/alert_dingtalk

告警通知 -> 新增告警通知策略 -> 將剛才配置的接收人啟用通知

  1. OK 當閾值觸發後我們就可以收到對應告警訊息啦,如果沒有配通知,也可以在告警中心檢視告警資訊。

完!

監控SSL證書的實踐就到這裡,當然對heartbeat來說這個功能只是冰山一角,如果您覺得heartbeat這個開源專案不錯的話歡迎給我們在GitHub Gitee star哦,灰常感謝。感謝老鐵們的支援。筆芯!

github: https://github.com/dromara/hertzbeat

gitee: https://gitee.com/dromara/hertzbeat