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 官方技术博客

本文转自 OneAPM 官方博客

参考文档:

Supervisor 管理进程,Cloud Insight 监控进程,完美!的更多相关文章

  1. 用 OneAPM Cloud Insight 监控 Docker 性能

    Docker 是构建和部署软件的一个新兴的轻量级的平台,也是一个减轻替代虚拟机的容器.Docker 通过给开发者提供兼容不同环境的镜像,成为解决现代基础设施的持续交付的一个流行的解决方案. 和虚拟机一 ...

  2. 使用supervisor管理tomcat,nginx等进程详解

    1,介绍 官网:http://supervisord.org Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时 ...

  3. celery和supervisor配合使用,实现supervisor管理celery进程

    在这里我选择redis作为celery异步任务的中间人,系统选择CentOS6.5 64位.redis.celery和supervisor的安装参见官方文档. 安装完毕后: 1, 创建celery的实 ...

  4. 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比

    JVM 监控工具有很多,像命令 jstat,jmap,jstack,jinfo 可以根据不同需求查看不同的系统信息,还有图像化界面 jconsole,都是很方便的工具.这些可以参考 JAVA自带监控工 ...

  5. Docker 监控- Prometheus VS Cloud Insight

    如今,越来越多的公司开始使用 Docker 了,2 / 3 的公司在尝试了 Docker 后最终使用了它.为了能够更精确的分配每个容器能使用的资源,我们想要实时获取容器运行时使用资源的情况,怎样对 D ...

  6. Cloud Insight 现在已经支持监控 Cassandra 啦!

    Cassandra 是什么? Apache Cassandra 以其可扩展性和容错分布式数据库系统而被人所熟知.Cassandra 起源于Facebook 最初创建于 Amazon Dynamo 和谷 ...

  7. Cloud Insight 客户案例-晨芯时代科技有限公司

    在不断迭代的过程中,Cloud Insight 也很重视客户对产品的使用体验,这次我们拜访了晨芯时代,了解到他们在使用 Cloud Insight 过程中对产品的一些想法. 客户背景 晨芯时代是一家开 ...

  8. linux -- 进程的查看、进程id的获取、进程的杀死

    进程查看 ps ax : 显示当前系统进程的列表 ps aux : 显示当前系统进程详细列表以及进程用户 ps ax|less : 如果输出过长,可能添加管道命令 less查看具体进程, 如:ps a ...

  9. Cloud Insight 和 BearyChat 第一次合体,好紧张!

    说到 ChatOps 我们可能立刻想到是 Slack(啥?没听过?哦!),但是由于国内网络和语言的问题你可能无法拥有很好的体验了.那就把目光转回国内吧,国内的话就不得不提到 BearyChat 等 C ...

随机推荐

  1. CentOS 7 安装配置 Gitlab

    centos:http://www.centos.org/download/ download:https://about.gitlab.com/downloads/ update:https://g ...

  2. Centos7 开启端口

    CentOS7默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的. CentOS 7 采用了 firewalld 防火墙. 如要查询是否开启80端口: [ro ...

  3. JavaScript事件-this传递

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. [转]centos7 移动mysql5.7.19 数据存储位置

    本文转自:https://blog.csdn.net/chpllp/article/details/78211351 场景:随着数据量的增加,mysql所在的磁盘已占满,需要将data移动到空间较大的 ...

  5. MVC应用程序实现上传文件(续)

    前几天,有练习了<MVC应用程序实现上传文件>http://www.cnblogs.com/insus/p/3590907.html 那只是把文档上传至MVC应用程序下的某一目录之中. 其 ...

  6. winform程序内存不足或假死的问题

    最近一直在写一个winform程序,对各类文档文件,以及压缩包的内容进行关键字检测. 模型出来之后,执行了一下,发现连续测试后,会有内存不足的问题,导致程序面假死.脑袋懵逼了两天. 回头看我的变量容器 ...

  7. C#微信小程序服务端获取用户解密信息

    using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.C ...

  8. 安卓开发笔记①:利用高德地图API进行定位、开发电子围栏、天气预报、轨迹记录、搜索周边(位置)

    高德地图开发时需要导入的包在下面的网盘链接中:(由于高德地图api更新得太快,官网上最新的包使用起来没有之前的方便,所以以下提供最全面的原始包) 链接:http://pan.baidu.com/s/1 ...

  9. 使用VS2013 + EF6 连接Mysql数据库

    使用VS2013 + EF6 + .NET4.5 连接Mysql数据库 1.安装插件 在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时,默认是没有Mysql选项的.此 ...

  10. Expression<Func<T>>和Func<T>

    以前用EF的时候,由于where的时候有Expression<Func<T>>和Func<T>两种查询条件,误用了Func<T>那个重载,后来还想通过f ...