如果你点进来,你可能和我一样,在看Open-falcon的v0.2版官方教程Nodata模块
按照官方教程,用如下的图配置一个Nodata项目,这样agent当机的时候这一项就变成设置好的-1
启用之后,看一眼Counter中出现了一个新的Counter
喜滋滋地关掉agent,看这一项Counter很快出现了-1数据,然后配置报警,一切都是那么顺利,直到我开启了agent,我发现了一个诡异的事情,这一项仍然为-1
我天真地以为这只是因为网络卡,等一会就好了,但是他并没有等的意思,如下图,可以看见agent已经恢复了,这一项还是-1
然后我用./open-falcon monitor nodata查看了nodata的日志,如下,看了很久我终于想通了
这里官方教程有一点误导人,如果在你没有对agent做什么tag设置的情况下,监控原生的那个agent.alive,他是没有标签的,所以nodata那里配置不应该打上tag
当我们按照官方教程上那么设置tag之后,nodata就会去监控agent.alive/module=nodata,pdl=falcon这一项,这一Counter本来就没有数据,是nodata自己创建的。所以nodata每次都去获取agent.alive/module=nodata,pdl=falcon这项数据,发现为空,补为-1,所以这一项肯定是永远为-1的
我们现在把nodata的配置的tag去掉,如图配置
现在关掉agent,再来看图,直接看agent.alive这一项,这才是正常的,nodata会在原来的Counter上补数据,而不是新出现一个Counter