老牌監控軟體Nagios可視化解決方案總結
Nagios,一款老牌監控軟體。出道早的童鞋估計都接觸過,只是現在的市場份額被衝擊很大。
最近因客戶強硬要求使用nagios進行監控,使筆者不得不研究了一下nagios這個老牌監控。但國內都是一些老舊的博客,筆者對其進行了歸類總結,希望對使用nagios開源方案的同學有一些幫助。
說到nagios 數據可視化,那麼最先想到應該是監視數據的採集(了解nagios的同學應該都知道默認情況下nagios不保存任何數據)
根據網上的方案總體分為倆種採集方式,
第一種方案
通過配置nagios.cfg process_performance_data 選項,這個選項的作用就是,將nagios 將監視腳本返回的數據寫到日誌里,這個參數還有一套相應的輔助參數 比如 日誌文件的名稱定義,數據寫入日誌的間隔,數據寫入日誌後執行的命令等,一般做法都是nagios 將數據寫入日誌後會將日誌挪動到一個文件夾,然後遍歷這個文件夾解析日誌,發往資料庫中。這中做法的方案有pnp4nagios,graphios ,nagflux 等
第二種方案
通過配置nagios 通過配置broker_module 選項,這個選項作用是載入nagios的事件代理模塊,也就是nagios的數據流會經這裡載入的模塊處理,這樣就可以在這個代理模塊做一些想做的事情,比如發往資料庫,比如ndoutils的 nod_mod 就是這樣作用,它將數據發送給 ndo2db 服務 ,由ndo2db 將數據存儲到資料庫。
我是選擇的第一種方案,理由第一種方案比較簡單直觀吧,不想去碰c語言。
接下來那就是是數據存儲的選擇, 根據監控數據的特性,它是有時效的性的,這裡我推薦選擇一些時序資料庫,比如rrdtools ,influxdb ,graphite的whisper 等,也可以選擇關係型資料庫,nosql ,es等,我還是比較推薦influxdb最新版本,因為它是時序資料庫當中為數不多支持sql的,學習起來比較容易,大家可以根據喜好進行選擇。
最後展示問題
展示方面我並沒有給自己太多選擇,因為自己深深被grafana的儀錶板所吸引,它支持很多數據源,也支持各種各樣圖表,完全能滿足我的需要。當然,如果你選擇rrdtools 這種資料庫可以,選擇 cacti,pnp4nagios 這種展示方案。(Author/Guest_Main)
TAG:Python運維圈 |