storm集群的监控
2023-03-14 22:29:25 时间
所谓兵马未动,粮草先行,准备将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的监控是每次起一个短连接连上去,连不上去即认为挂掉。
因此我写了这么个项目,取名叫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。
本文来源于"阿里中间件团队播客",原文发表时间" 2011-12-02"
相关文章
- 2022年实时数据管理趋势
- Linux 中关于 ps 命令的一些常用例子
- 如何用享元模式优化系统内存?
- tee 命令是个啥?我们通过例子来看一下
- 如何将一个 Linux 命令转至后台运行?
- 如何在 Ubuntu 等 Linux 中安装 Python 3.11
- 如何让定时器在页面最小化的时候不执行?
- 2022年数据管理市场的发展趋势
- 深入理解Linux进程管理
- 企业需要不断推进数据战略
- 建议收藏!大数据分析如何帮助企业成长
- 微软开始测试 Windows 11/10 Edge 浏览器专用触摸模式
- 苹果 Safari 浏览器技术预览版 157 发布:兼容 macOS 13 Ventura,修复 Bug 并改进性能
- 全新升级的鸿蒙开发套件,你想知道的都在这里
- 将大数据转化为营销收入的四个技巧
- 低代码并不意味着低风险
- 我把分布式音乐播放器适配了Stage模型
- 大数据转型方案:首推数据湖!
- 供应链分析的三个成功案例
- 前瞻:Xfce 4.18 主要新功能