如果你點進來,你可能和我一樣,在看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