当前位置:首页 > 时尚生活

supervisor linux应用服务管理工具(supervisor)

注:-本工具属于“工具-自动化-应急”

-官方网站:http://www.supervisord.org/

1.有几种方法可以运行管理工具Linux的后台进程,如nohup、screen等。但是,如果它是一个服务程序,为了在后台可靠地运行,我们需要使它成为一个守护进程,最好监视进程状态,并在它意外结束时自动重新启动。Supervisor是Python开发的一套通用的进程管理程序,可以将一个普通的命令行进程变成后台守护进程,监控进程状态,异常退出时自动重启。

主管有两个主要组成部分:

-Supersord,运行supervisor时,启动一个process supervisord,负责启动托管流程,将托管流程作为自己的子流程启动,托管流程崩溃时自动重启。

-supervisorctl是一个命令行管理工具,可用于执行stop、start、restart和其他命令来管理这些子进程。

主管是所有流程的父流程,管理启动子流程。主管用子流程的PID管理子流程。当子进程异常退出时,主管可以接收到相应的信号量。

1)安装主管

安装主管

rpm-IVH supervisor-3.0-1 . gf . el6 . no arch . rpm

#在实际测量过程中,您还应该安装依赖包:

rpm-IVH python-meld 3-0 . 6 . 7-1 . El 6 . x86 _ 64 . rpm

服务命令:

服务监督站

服务监督启动

2)配置文件介绍

创建个人资料

echo _ super super sord _ conf & gt。/etc/supervisord.conf

默认supervisord.conf配置文件将supervisord.pid和supervisor.sock放在/tmp目录下,Linux系统可能会删除,需要修改。

[unix_http_server]

;file =/tmp/supervisor . sock;(套接字文件的路径)

;将其修改到/var/run目录以避免被系统删除

file=/var/run/supervisor.sock

;chmod = 0700套接字文件模式(默认0700)

;chown = none:no group;套接字文件uid:gid所有者

;username = user(默认为无用户名(打开服务器))

;password = 123(默认为无密码(打开服务器))

;[inet _ http _ server];默认情况下禁用inet (TCP)服务器

;端口= 127 . 0 . 0 . 1:9001;(ip_address:端口说明符,*:的端口;所有iface)

;稍后将在远程可视化管理中使用它

username = calypso(默认为无用户名(打开服务器))

password = 123456(默认为无密码(打开服务器))

...

[super super sord]

;log file =/tmp/supervisord . log;(主日志文件;default $CWD/supervisord.log)

;将其修改到/var/log目录以避免被系统删除

log file =/var/log/supervisor/supervisord . log

logfile _ maxbytes = 50MB(最大主日志文件字节b4循环;默认50MB)

logfile _ backups = 10(主日志文件循环备份的数量;默认10)

loglevel = info(log level默认信息;其他:调试、警告、跟踪)

;PID file =/tmp/supervisord . PID;(supervisord pidfile默认supervisord.pid)

;将其修改到/var/run目录以避免被系统删除

PID file =/var/run/supervisord . PID;(supervisord pidfile默认supervisord.pid)

...

[supervisorctl]

;将其修改到/var/run目录以避免被系统删除

server URL = UNIX:///var/run/supervisor . sock;使用unix://网址作为unix套接字

;server URL = http://127 . 0 . 0 . 1:9001;使用http:// url指定inet套接字

;用户名= chris如果设置,应该与http_username相同

;password = 123如果设置,应该与http_password相同

[包括]

files = /etc/supervisord.d/*。ini对应于要管理的过程配置文件

;[event listener:the event listener name]

;它是一个由supervisor启动的子流程,订阅supervisord发送的事件,如报警等。,以后会写一篇关于发送事件报警的实用文章

;command =/bin/event listener;侦听器可执行文件的路径

;process _ name = %(program _ name)s;进程名,只有当下面有多个numprocs时才需要。

;num procs = 1;相同监听程序的数量开始

;events = EVENT事件的类型,指定的类型将被发送

;buffer _ size = 10这是事件队列缓存大小

;目录=/tmp;在进程执行之前,它会切换到这个目录。默认是不切换。。。没有必要

;umask = 022默认值为无

;优先级=-1;开始优先级,默认-1

;autostart = true是否从supervisord开始,默认为真

;autorestart =意外;是否自动重启可分为真、假、意外等。

;start secs = 1;同样如此。进程启动后,它会运行几秒钟,然后才被视为成功启动。默认值为1

;start retries = 3;失败尝试的最大次数,默认值为3

;exitcodes=0,2;预期或预期的进程退出代码,

;stopsignal = QUIT终止进程的信号,默认为TERM,比如设置为QUIT,那么如果QUIT来做这个进程,就认为是正常维护,退出代码也认为是预期的

;stopwaitsecs = 10等待b4 SIGKILL的最大秒数(默认为10)

;stopasgroup = false向UNIX进程组发送停止信号(默认为false)

;killasgroup = falseUNIX进程组(def false)

;user = chrism设置普通用户,可以用来管理监听器进程。默认值为空

;redirect _ stderr = true如果为真,stderr的日志将被合并到stdout的日志中,默认值为假

……

;[group:the groupname];程序分组

;programs=progname1,progname2组成员,用逗号分隔。这是一个必要的设置项目

;priority = 999优先级,相对于组之间的默认值999

过程配置文件

;设置进程的名称,在使用supervisorctl管理进程时需要使用该名称

[程序:calypso_api]

command =/calypso/envs/GFSCalypsoAdapters/API/s/GFS _ calypso _ API _ service . sh start

directory =/calypso/envs/GFSCalypsoAdapters/API/s/;在执行命令之前,请先切换到目录

num procs = 1;默认值为1

process _ name = %(program _ name)s;默认值为%(program_name)s,在[program:x]中为x

user = calypso使用calypso用户启动该过程

#autostart=true

autorestart = true当程序崩溃时,会自动重启。重启次数有限,默认为3次。有三种选择,假的,意料之外的,真的。如果为假,在任何情况下都不会重新启动。如果它是意外的,只有当进程的退出代码没有在下面的exitcodes中定义时。

environment = PATH = "/usr/Java/JDK 1 . 7 . 0 _ 21/bin:/usr/lib 64/Qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/Dell/Sr vadmin/bin:/opt/mqm/samp/bin ";设置环境变量

redirect_stderr=true

stdout _ log file =/var/log/calypso _ API _ stdout . log

stdout_logfile_maxbytes=1MB

stdout_logfile_backups=10

stdout_capture_maxbytes=1MB

stdout_events_enabled=false

stderr _ log file =/var/log/calypso _ API _ stderr . log

stderr_logfile_maxbytes=1MB

stderr_logfile_backups=10

stderr_capture_maxbytes=1MB

stderr_events_enabled=false

3)引入3)监督命令

#停止某个进程,在[program:x]中program_name为x

supervisorctl停止程序名称

#开始一个过程

supervisorctl启动程序_名称

#重新启动进程

supervisorctl重新启动程序名称

#结束属于名为groupworker的组的所有进程(启动、重新启动是相同的)

supervisorctl stop groupworker:

#结束groupworker:name1的进程(启动,重启相同)

supervisor CTL stop group worker:name 1

#停止所有进程,注意:启动、重启和停止不会加载最新的配置文件

supervisorctl停止所有

#加载最新的配置文件,停止原始进程,并根据新的配置启动和管理所有进程

supervisorctl重新加载

#根据最新的配置文件,用新的配置或更改启动进程,用未更改的配置重新启动进程而不受影响

supervisorctl更新

4)注意事项 (坑)

-supervisor更适合监控业务应用,只能监控前台程序。如果您的程序是在守护模式下启动的,execute: supervisor status将提示:太快退出现有(进程日志可能有详细信息)。

-注意设置环境变量:环境=A="1 ",B = " 2过程环境添加(定义无添加)

2.事件插件1)插件:https://github.com/ouqiang/supervisor-event-listener

主管-事件-监听器,主管事件通知,支持邮件,松弛,网络钩子

2)网上有一个事件例子(有例子)http://www.cnblogs.com/felixzh/p/6100000.html

过一段时间,我会写一篇关于这篇文章的特别文章

3.可视化工具默认工具只能管理一个流程。如果是在公司统一使用,那就要找一个可以统一管理所有流程的工具。官网推荐几个可视化工具:-CESI

一个用Python写的基于web的仪表盘。

django的Dashvisor

一个用Python写的基于web的仪表盘。需要Django 1.3或1.4。

- Nodervisor

一个用Node.js编写的基于web的仪表盘

-监督监视器

基于web的仪表盘是用PHP写的。

-主管

另一个用PHP写的基于web的仪表盘。

- supervisorclusterctl

命令行工具,用于使用Ansible控制多个主管实例。

- suponoff

用Python 3编写的基于web的仪表盘。需要Django版或更高版本。

-管理员

专为分布式应用而设计,用Python 2.7编写。包括扩展的XML-RPC API和基于web的仪表板。

实际测试和试用,其中CESI不错,推荐。节目来源:https://github.com/Gamegos/cesi

http://AE . koro Glu . org/central-supervisor-interface-cesi/

1.《supervisor linux应用服务管理工具(supervisor)》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《supervisor linux应用服务管理工具(supervisor)》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/shehui/853869.html

上一篇

新媒体管家官网 新媒体管家停服后,还有哪些替代软件可以用?

下一篇

冯小刚谈演技话题:若和Angelababy、杨幂合作 她们会被认为是好演员

撤销仲裁裁决 案例评析 |重新仲裁违反法定程序,裁决被撤销(浙江案例)

撤销仲裁裁决 案例评析 |重新仲裁违反法定程序,裁决被撤销(浙江案例)

案例分析|重新仲裁违反法定程序,裁决被撤销(浙江案例) [简介] 重新仲裁是仲裁庭纠正裁决缺陷的一种自我补救措施。与撤销仲裁裁决相比,重新仲裁在维护仲裁终局性、节约仲裁资源和有效解决争议方面具有优势。审理回避案件的法院认为可以由仲裁庭重新仲裁的,人民法院应当根据《仲裁法司法解释》的规定,将重...

范冰冰维权案新进展 已启动强制执行申请程序 仍在依法取证备诉

范冰冰维权案新进展 已启动强制执行申请程序 仍在依法取证备诉

范冰冰范冰冰6月19日晚,北京兴泉律师事务所发布案情报告称,范冰冰名誉权保护18起案件正在依法审理中,1起案件(被告:微博用户“秦岭二月”,实名:陈永鹏)已于2018年6月19日启动强制执行申请程序。针对近期网上出现的一批涉嫌侵犯范冰冰名誉权的虚假信息,律师事务所也在收集证据,准备依法提起诉讼。...

收货流程 仓储管理收货、发货标准化操作流程

收货流程 仓储管理收货、发货标准化操作流程

1.接收过程 1.1.正常产品收据 1.1.1货物到达后,收货人员应根据司机的装箱单清点货物。 1.1.2收货人员应与司机一起封存货物,以检查货物的状况。如果货物损坏严重,应立即通知客户等待处理,必要时拍照并留下凭证。如果货物状况良好,开始卸货。 1.1.3卸货时,收货人员必须严格监督货物的...

银河定投宝 【银河证券基金定投流程】

  • 银河定投宝 【银河证券基金定投流程】
  • 银河定投宝 【银河证券基金定投流程】
  • 银河定投宝 【银河证券基金定投流程】
二级建造师注册流程 二级建造师如何注册、在哪注册、流程有哪些?

二级建造师注册流程 二级建造师如何注册、在哪注册、流程有哪些?

取得二级建造师证书后,考生要特别注意的一个重要环节就是证书的注册。如何注册以及在哪里注册,今天边肖就带大家去看看~ ~ 一、申请初始注册应当具备以下条件 1)经考试取得资格证书或考试合格; 2)受聘于相关单位; 3)符合继续教育要求; (四)不存在本规定第十五条所列情形。如下 1 .不具备完...

富二代是什么意思 程序员们,知道这是什么意思吧

富二代是什么意思 程序员们,知道这是什么意思吧

那年,我第一次带女朋友去我家吃饭。我女朋友不喜欢吃大蒜。她不小心抓到一个大蒜,咬了一口。她不停地去厕所,吐了...我妈很不高兴,对我女朋友说:“我做的菜不好吃吗?”女朋友摸着她胖乎乎的肚子说:“我可能有!”...然后,我妈妈笑了笑,给了她桌上一半的菜... 嫂子做晚饭,弟弟在厨房帮忙切菜。突...

深圳商标注册局 深圳商标注册流程及费用,深圳注册商标查询网

深圳商标注册局 深圳商标注册流程及费用,深圳注册商标查询网

深圳是中国的经济中心城市,经济总量长期居中国大陆第四位,是中国大陆经济效益最好的城市之一。在英国《经济学人》2012年发布的“全球最具经济竞争力城市”榜单中,深圳位列第二。 深圳位于珠江三角洲的前沿,是连接香港和中国大陆的纽带和桥梁,是华南沿海重要的交通枢纽。它在中国高科技产业、金融服务、外...

国家排污许可信息公开系统 手把手教你填报——排污许可业务申报流程

  • 国家排污许可信息公开系统 手把手教你填报——排污许可业务申报流程
  • 国家排污许可信息公开系统 手把手教你填报——排污许可业务申报流程
  • 国家排污许可信息公开系统 手把手教你填报——排污许可业务申报流程