登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. LINUX
  4. Supervisor
  5. 正文

supervisor进程、服务超级监控工具配置-折腾笔记

2016-10-14

是否经常会遇到服务器的某个进程挂了而导致停止服务?是否遇到自己写的监控工具工作也并非稳定?

好了,可以试试supervisor这款由python编写的监控神器。

此款神器可以配置的服务、进程进行监控,当被监控的进程挂掉之后,supervisor可以迅速将进程拉起,从而使得服务可以继续提供。而且,将supervisor设置为开机启动之后,supervisor也可以在开始后,自动启动配置的监控项。

环境:

Centos7

一、安装supervisor

由于supervisor使用Python编写,所以需要先安装python环境,方法不再赘述。

1、通过源安装

yum install epel-release -y
yum install supervisor

2、通过python包管理安装

easy_install supervisor

二、配置supervisor

1、生成配置文件

$ echo_supervisord_conf > /etc/supervisord.conf

2、编译配置文件

vim /etc/supervisord.conf

修改末尾如下:

[include]
files = /etc/supervisor/conf.d/*.ini

supervisor会扫描/etc/supervisor/conf.d/目录下的*.ini配置文件

3、添加被监测项

[program:druid_historical]
command=java -V
directory=/
user=root
autostart=true # 在 supervisord 启动的时候也自动启动
autorestart=true  # 启动 5 秒后没有异常退出,就当作已经正常启动了
stopsignal=KILL
killasgroup=true
stopasgroup=true
# logfile=/var/log/supervisor/druid.log
# log_stderr=true
# redirect_stderr=true
# stdout_logfile=/var/log/supervisor/druid.log
# stdout_logfile_maxbytes=5MB
# stdout_logfile_backups=3

program:后为被检测项的名称

command后为被监控项的启动命令

4、应用配置文件

supervisord -c /etc/supervisord.conf
systemctl enable supervisord

5、启动supervisor

supervisorctl restart all

6、更新supervisor被监控项

supervisorctl update

7、更多命令,请看supervisor官方文档

$supervisorctl shutdown
$supervisorctl reload

三、问题

1、unix:///tmp/supervisor.sock no such file问题

执行supervisorctl时提示unix:///tmp/supervisor.sock no such file错误,后经排查后发现,是supervisor程序为执行。

执行,下面命令解决:

supervisord -c /etc/supervisord.conf
systemctl enable supervisord
systemctl start supervisord

2、莫名奇妙无法运行问题

请配置日志,从日志文件找出原因。

3、各种命令找不到问题

建议使用find命令,搜索该命令完整路径。

标签: 暂无
最后更新:2019-06-03

代号山岳

知之为知之 不知为不知

点赞

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号