storm集群的监控
2013-05-08 11:30
169 查看
所谓兵马未动,粮草先行,准备将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写。你的机器需要安装lein和exec插件,然后将你的storm.yaml拷贝到conf目录下,编辑monitor.yaml设定监控参数如检查间隔等,最后启动start.sh脚本即可。默认日志输出在logs/monitor.log。
因此我写了这么个项目,取名叫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写。你的机器需要安装lein和exec插件,然后将你的storm.yaml拷贝到conf目录下,编辑monitor.yaml设定监控参数如检查间隔等,最后启动start.sh脚本即可。默认日志输出在logs/monitor.log。
相关文章推荐
- storm教程(五):storm消息的可靠性保障与acker机制、Thrift client 集群监控
- Shell脚本监控Storm集群,邮件报警
- 结合Ansible技术监控Storm集群
- storm集群的监控
- 结合Ansible技术监控Storm集群
- 使用Thrift API监控Storm集群和Topology
- storm集群的监控
- 使用Thrift API监控Storm集群和Topology
- 使用Thrift API监控Storm集群
- Storm 集群监控报警-问题排查记录
- 结合Ansible技术监控Storm集群
- 使用Thrift API监控Storm集群和Topology
- Storm分布式集群搭建
- Ubuntu 14.10 下安装Ganglia监控集群
- Ganglia分布式集群监控系统安装手册
- Storm集群环境安装
- kibana5.3使用x-pack插件对elasticsearch5.3集群进行监控
- 用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控
- 大数据入门第十七天——storm上游数据源 之kafka详解(一)入门与集群安装
- Kafka集群配置及UI监控