Closed kxst closed 6 years ago
你看一下设置的nodata的数据补发规则和nodata打印的日志,如果nodata设置的是最新的两个数据没有上报就补发-1,那么就好解释了
你的两个-1值的显示的时间是是39和40分,但是nodata实际补发给transfer数据的时候真实时间是在41分和42分,这样你的alarm在就会在15:42报警
如果nodata的日志和我的描述符合,那就没问题了,这个是nodata本身的机制,可以好好看一下nodata的源码,我看过应该是这样进行数据补发处理的,具体代码忘掉了 @kxst
nodata的工作逻辑是:通过api去graph中查询数据,如果没有查询到数据,则对这个counter补发设定后的值。
nodata的补发数据 和 用户正常上报数据,都是靠时钟来对齐的,因此在nodata的代码中,强行延迟了一到两个周期,以免造成 nodata 补发的值先到达graph,这样就会造成正常的值失效。
所以:
@kxst
谢谢
当我关机后,http://10.13.144.110:6081/history/bx252.sae_longkang/agent.alive 接受到的 nodata 数据,滞后 2分钟才收到 agent 为 -1 的值,整个报警滞后将近 5分钟。描述如下:
37 左右我执行了关机
1511250000 2017-11-21 15:40:00 -1 1511249940 2017-11-21 15:39:00 -1 1511249820 2017-11-21 15:37:00 1 1511249760 2017-11-21 15:36:00 1
39 才收集到 agent.alived == -1 的值
2017-11-21 15:42:18 [ERROR] checkpoint: bx252.sae_longkang, server: 10.13.144.252, logger: 机器可能宕机 [测试-请忽略]
42 才发出报警。
机器宕机是 37,报警是 42,整个过程滞后 5 分钟。请问是哪里有问题呢?