【导读】Supervisor 是由 Python 语言编写、基于 linux 操作系统的一款服务器管理工具,用于监控服务器的运行,发现问题能立即自动预警及自动重启等。
Cloud Insight 是一款次世代监控工具兼数据管理平台。使用 StatsD 采集性能指标,在 HBase 存储之上,使用 OpenTSDB 来对性能指标进行聚合、分组、过滤。
使用 Supervisor 的原因
如果你有很多进程在跑,不时还需要 start/stop/restart 一下进程
如果哪天由于某种原因,进程挂了,你需要重启进程或定时执行脚本
如果有多个进程,有些是同一项目,尽量可以同时启动/停止等
如果你有以上任意一种情况,那用 Supervisor 管理进程无疑再合适不过了,把你所有 *nix 进程都配置进 ini 文件中,这样所有的进程就变成了 Supervisor 的子进程。对于子进程,Supervisor 可以做到准确管理(有 web 界面),可以进行分组,一组组的 或者授权非 root 用户。
Supervisor 管理进程, Cloud Insight 监控进程
Supervisor 只能管理进程,对进程进行操作,但不能监控进程,虽然有 web 界面可以显示/管理的进程,但不具备一般意义上的监控。例如实时展示进程数据,出现问题有相应报警邮件。
Cloud Insight 可以监控 Supervisor 管理的进程数量和运行情况,也可以单独监控进程,也就是说进程无论是否被 Supervisor 管理,Cloud Insight 都可以监控。
像上面图片这样,监控所有进程的 IO 读写,内存,CPU,打开文件等等,也可以配置单个某一个进程的上述指标,查看正常情况下进程的资源消耗,如果出现异常邮件报警。例如假死等情况发生的时候,进程也没挂,但资源消耗会有异常,这些通过告警通通提前知道。
Cloud Insight 支持监控 Supervisor
Cloud Insight 不仅可以监控进程相关的数据,同样支持监控 Supervisor。Supervisor 管理进程的启动/停止/重启,如果 Supervisor 本身出问题了,那前面那些进程操作也就执行不了,虽然 Supervisor 本身不会出现什么问题,但这也不是万无一失的,所以监控上还是好的。
监控进程,设置告警
如果有一个进程挂了,或者假死,怎么能够及时知道?
配置上图这样的报警策略:
选择性能指标:指标任意选一个
process
的指标,over
选定特定进程,例如process:python
就是监控 Python 进程数据的。设置报警条件:设置一个阈值,达到阈值时会触发报警;此外还可以配置设置数据丢失(进程挂了自然也就不会再发送数据)时,直接发送报警邮件。
再下面,就是命名报警和设置通知用户。
总之,如果你关心你的应用进程情况,或者在使用 Supervisor,不妨试试 Cloud Insight,永久免费版等你来用!
OneAPM Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客
染头发
聚一聚……
染头发
教育局……
你好
嗯讲得一般……
星雾
Lambda表达式的条件限制很多,应用面不多,我不知道是否应该要花时间来掌握这个表达式,求解……
修道小仙
感谢分享,来龙去脉,深入浅出,非常清晰……
小布丁
写的棒棒哒……
小布丁
写的真可以……
wuxin
受教了……
爱码物联
博客使用……
yancy_01
很喜欢文字的描述,特别是理论性质的,相比于代码,理论知识更加有意思,谢谢分享……