009-時間不同步導致Sentinel監控異常

趙安家發表於2019-03-07

這是堅持技術寫作計劃(含翻譯)的第9篇,定個小目標999,每週最少2篇。

背景描述

在公司測試伺服器除錯ahas(Sentinel商業版)時,發現頻發性無規律的出現Ahas控制檯【監控詳情】不顯示,甚至應用直接消失的問題。

開始以為是非Spring boot應用的問題(因為另外一個產品線是spring boot的,測試沒問題),反覆翻看開源sentinel的wiki商業ahas的幫助文件 ,並且結合Sentinel的日誌排查,毫無頭緒。但是換成開源的Sentinel Dashboard沒問題

解決步驟

問題原因

上文提到的,Spring boot 可以,是因為其部署在阿里雲ecs上,而阿里雲主機預設都有ntp同步

而測試機連Sentinel 的Dashboard沒問題,換成ahas就有問題,是因為 Sentinel的client和dashboard,部署在同一臺伺服器,不存在時間差問題。

後來通過 @樂有 和 @雲寅 的幫助,定位到時鐘問題, 據 @樂有 介紹Sentinel允許的最大時間誤差是30s,而實驗中,測試機和北京時間誤差超過55s。

windows 自動同步時間及修改同步頻率

009-時間不同步導致Sentinel監控異常

如果同步出錯,可以重啟一下 Windows Time 服務,再次同步。

但是過了半天后,時鐘又差1分鐘,所以需要調整一下NTP同步頻率
開啟登錄檔,找到 SpecialPollInterval (
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClien\SpecialPollInterval )

發現預設值是 93a80 換成10進位制是 604800 (7天*24小時*60分鐘*60秒=604800) ,改成300(5*60)即可。

參考資料

招聘小廣告

山東濟南的小夥伴歡迎投簡歷啊 加入我們 , 一起搞事情。

長期招聘,Java程式設計師,大資料工程師,運維工程師,前端工程師。

相關文章