linux 进程监控软件 supervisor

时间:2022-04-24 23:15:05

2017年8月21日 17:51:33 星期一

supervisor python写的, 用来监控进程是否启动,

之前监控进程是否启动, 没有就拉起的shell代码是写在crontab里的, 这个软件提供了配置管理功能

参考文章:

配置1:  http://www.cnblogs.com/lianer/p/5560922.html

配置2: http://www.cnblogs.com/shijingjing07/p/6024066.html

//=======安装======//

下载python安装器: https://pypi.python.org/pypi/setuptools

python 2.6/2.7 安装"安装器": http://blog.csdn.net/ab198604/article/details/8681851  (注, centos 6.x yum默认是python 2.6, 安装命令 python setup.py install, 升级pytho 2.7后yum会不可用)

官方安装指导: http://www.supervisord.org/installing.html

官方配置文件解释: http://www.supervisord.org/configuration.html

//=======配置翻译=======//

[program:x]

冒号紧跟在program后边

x是应用的名字, 也被supervisor的相关控制命令来使用;x值不能为空, 也不能含有冒号和括号;x的值还用于%(program_name)s表达式

如果x=foo且指令numprocs=3, process_name=%(program_name)s_%(process_num)02d 那么就会启动3个进程, 名字分别为foo_01,foo_02,foo_03;

如果不指定这几个值,那么就启动一个进程, 名字为x

命令 是否必须 默认值 解释
command y   要执行、监控的命令
process_name n %(program_name)s 启动后进程名, 常结合numprocs指令值使用
numprocs n 1 启动进程数
numprocs_start n 0 整数偏移量,从numprocs中的第几个开始启动
priority n 999 当执行start all/stop all时启动/停止的顺序, 值越小越先启动越后停止
autostart n true supervisord启动的时候自动启动
startsecs n 1 启动后延迟多少秒后执行命令
startretries n 3 失败后重试次数
autorestart n unexpected 重新拉起 false、unexpected(发现程序退出,根据exit_code选择性是否重启)、true(发现程序退出,则无条件重启)
exitcodes n 0,2 配合autorestart=unexpected时使用

 

举例:

1 [program:activityCandleSendCouponQueue]
2 directory=/mnt/hostcode/openapi/basic_service
3 command=php7 artisan queue:work redis --queue=activityCandleSendCoupon
4 autorestart=true
5 stdout_logfile=/usr/local/supervisor/activityCandleSendCouponQueue.log
1 ps -ef | grep queue
2 www 3578 3575 0 Aug23 pts/1 00:00:15 php7 artisan queue:work redis --queue=activityCandleSendCoupon