进程监控工具supervisor
supervisor是一个python编写的进程管理工具, 可以方便的管理和监控进程. supervisor分为服务端supervisord和客户端supervisorctl.
supervisor由python编写, 可以使用pip安装:
pip install supervisor
也可以使用apt-get来安装:
apt-get install supervisor
配置supervisor
在/etc/supervisor
目录下可以看到supervisord的主要配置文件supervisord.conf
:
; supervisor config file
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
[include]
files = /etc/supervisor/conf.d/*.conf
为了便于管理, 我们将需要监控的进程写入/etc/supervisor/conf.d/*.conf
中, 这些配置文件将被导入主配置文件.
新建一个blog.conf文件:
[program:blog]
directory=/home/www/Blog
command=uwsgi --ini wsgi.ini
user=www
autostart=true
autorestart=true
stdout_logfile=/home/www/Blog/log/supervisor.log
在启动blog子进程时supervisord会以user的身份在directory目录下执行command命令以启动子进程. 一般情况下, 每个program配置都要设置这三项.
autostart=true
表示在supervisord启动时该子进程会自动启动. 在服务器重启后只需要重启supervisord, 不再需要一个一个地启动进程.
autoresatrt=trus
表示若该子进程崩溃, supervisor会自动重启该进程.
使用supervisorctl
supervisorctrl客户端可以查看子进程的状态并进行控制:
-
supervisorctl status
查看各子进程运行状态 -
supervisorctl start <program>
根据program配置启动相应的子进程 -
supervisorctl stop <program>
停止子进程 -
supervisorctl restart <program>
重启子进程 -
supervisorctl reread
重新读入配置文件, 但不会增加新的程序 -
supervisorctl update
根据新读入配置文件, 更新程序配置
需要注意的一点是supervisor更新配置文件比较麻烦, 更新原有程序的配置需要reread - update - restart
三个操作, 而添加新程序也需要reread - update - start
.
相关文章
- 详解Supervisor进程守护监控
- 编译安装 nginx的http_stub_status_module监控其运行状态
- linux 进程监控
- 使用 utmpdump 监控 CentOS 用户登录历史
- 《HTML5 2D游戏编程核心技术》——第3章,第3.1节滚动背景和监控帧频
- Java之JMX获取应用进程CPU/内存使用率,监控GC回收
- HP 打印机监控
- cacti监控linux和windows磁盘IO
- Nginx监控
- 国产开源监控系统
- 7步做好云上监控
- Qt编写安防视频监控系统31-onvif设备搜索
- 转 做了两款数据库监控工具(mysql and nosql),打算在近期开源
- 浅析PM2的十个实用功能:自动保存、自定义日志文件、设置内存限制、查看进程信息详细、监控所有进程、使用SourceMap定位错误位置、监听目录文件变化自动重启、4种失败重启策略(零延迟高可用)、命名空间对服务归类、内置http服务器
- 开源倾情奉献:基于.NET打造IP智能网络视频监控系统(五)客户端介绍
- LoadRunner监控Windows资源
- JConsole远程监控Tomcat7
- SQL Server扩展事件-- 使用system_health默认跟踪会话监控死锁
- 进程死锁运行状态、进程阻塞、死锁监控
- 揭秘:美国警方监控技术大曝光
- 音频监控,如何让”好声音”从听得见到听得懂?
- 关于视频监控线缆的常识
- Azkaban 进程和任务监控(任务状态从MySQL同步到SqlServer或者MySQL)