閱讀913 返回首頁    go 阿裏雲 go 技術社區[雲棲]


storm集群的監控

    所謂兵馬未動,糧草先行,準備將storm用在某個項目中做實時數據分析。無論任何係統,一定要有監控係統並存,當故障發生的時候你能第一個知道,而不是讓別人告訴你,那處理故障就很被動了。

    因此我寫了這麼個項目,取名叫storm-monitor,放在了github上

     https://github.com/killme2008/storm-monitor

    主要功能如下:
1.監控supervisor數目是否正確,當supervisor掛掉的時候會發送警告。
2.監控nimbus是否正常運行,monitor會嚐試連接nimbus,如果連接失敗就認為nimbus掛掉。
3.監控topology是否正常運行,包括它是否正常部署,是否有運行中的任務。

    當故障發生的時候通過alarm方法警告用戶,開放出去的隻是簡單地打日誌。因為每個公司的告警接口不一樣,所以你需要自己擴展,修改alarm.clj即可。我們這兒就支持旺旺告警和手機短信告警。

    基本的原理很簡單,對supervisor和topology的監控是通過zookeeper來間接地監控,通過定期查看path是否存在。對nimbus的監控是每次起一個短連接連上去,連不上去即認為掛掉。

    整個項目也是用clojure寫。你的機器需要安裝leinexec插件,然後將你的storm.yaml拷貝到conf目錄下,編輯monitor.yaml設定監控參數如檢查間隔等,最後啟動start.sh腳本即可。默認日誌輸出在logs/monitor.log。

文章轉自莊周夢蝶  ,原文發布時間 2011-12-01

最後更新:2017-05-18 20:34:37

  上一篇:go  Storm源碼淺析之topology的提交
  下一篇:go  《KAFKA官方文檔》入門指南(一)