IT技术博客大学习 共学习 共进步

storm集群的监控

BlogJava-庄周梦蝶 2012-01-29 20:50:17 浏览 4,183 次

     所谓兵马未动,粮草先行,准备将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。

    

dennis 2011-12-01 21:02 发表评论

建议继续学习

  1. Mysql监控指南 (阅读 21,102)
  2. 批量添加主机到cacti+nagios的监控报警系统中 (阅读 14,681)
  3. 我常用的主机监控shell脚本 (阅读 13,102)
  4. 7 天打造前端性能监控系统 (阅读 11,062)
  5. 如何监控HP服务器硬件状态 (阅读 10,505)
  6. Cacti 添加 Nginx 监控 (阅读 10,362)
  7. Linux下三种常用的流量监控软件对比 (阅读 9,982)
  8. Cacti 添加 Memcached 监控 (阅读 9,162)
  9. Cacti 添加 Apache 监控 (阅读 8,983)
  10. 你应该知道的16个Linux服务器监控命令 (阅读 8,407)