009-时间不同步导致Sentinel监控异常

这是坚持技术写作计划(含翻译)的第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 自动同步时间及修改同步频率

如果同步出错,可以重启一下 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)即可。

参考资料

  • Sentinel#Wiki#FAQ
  • 配置Windows实例NTP服务
  • 使用阿里云NTP服务器

招聘小广告

山东济南的小伙伴欢迎投简历啊 加入我们 , 一起搞事情。

长期招聘,Java程序员,大数据工程师,运维工程师,前端工程师。

转载于:https://juejin.im/post/5c81071b6fb9a049d74879ba

你可能感兴趣的:(009-时间不同步导致Sentinel监控异常)