您的位置:首页 > 运维架构 > Linux

Linux进程管理工具Supervisor doc 翻译(一)

2017-12-11 15:22 363 查看

原文档地址

supervisor source doc

做什么用的?

supervisor可用于管理linux操作系统中的进程(启动/停止/状态监控)。是一个client-server模式的管理系统。

特性

-简单

通过写配置文件设置;

提供自动log回滚机制

-集中

进程可以在一个地方实现启动/停止/查看状态;

可以配置为本地控制或者远程控制;

可以配置为命令行形式或者网络接口形式;

-高效

由于supervisor是通过fork子进程来实现进程启动的,比起其它的自启动(守护进程)方式来,可以更快,更准确的感知进程状态。

-可扩展

可通过xml接口配置来监视supervisor的事件。因此不限制编程语言

-兼容性强

支持的系统:

Linux, Mac OS X, Solaris, and FreeBSD.

优势:

全部使用python coding,因此不依赖c编译器。

-稳定

虽然supervisor在不停的迭代,但是已经经历了多年的检验,已经应用在了很多服务领域。因此,稳定性方面,完全不用担心。

Supervisor的4大组件

-supervisord

服务端组件。负责启动子进程,响应客户端命令,重启crash/exited程序,记录标准错误/标准输出log.生成/处理子进程生命周期中对应的事件。

服务器会使用到一个配置文件:/etc/supervisord.conf 里面记载的username和pwd都是未加密的,所以如果安全性要求比较严的,请注意权限设置要得当。

-supervisorctl

命令行客户端。可以连接到不同的服务端进程,启动/停止程序,查看进程状态。获取supervisord管控的程序列表。

客户端和服务端的通信通过socket完成。服务端对客户端的身份验证通过配置文件验证。

-web 客户端

通过激活配置文件中的节点[inet_http_server],即可通过url访问supervisor。

XML-RPC Interface

上面用于web客户端的http服务同时也支持XML-RPC接口。通过XML-RPC接口可以控制supervisor和它管理的程序。XML-RPC API文档

Supervisor平台要求

官方已经在如下系统测试通过:

Linux (Ubuntu 9.10), Mac OS X (10.4/10.5/10.6), and Solaris (10 for Intel) and FreeBSD 6.1.

支持python2.4及更新的版本。但是不会支持python3。(这是为啥呢?????不过安装一个python2也不是什么难事,还可以接受了。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux supervisor