zoukankan      html  css  js  c++  java
  • supervisor

    supervisor是py2下的一个web管理工具

    python2版本:
    使用py2的pip工具进行安装
    pip install supervisor

    安装完成之后多了三个命令
    supervisord
    supervisorctl
    echo_supervisord_conf

    在centos下默认在etc下没有生成supervisor的配置文件目录

    mkdir /etc/supervisor/supervisord.d/ -p
    echo_supervisord_conf > /etc/supervisord.conf 生成supervisor的主配置文件
    /usr/bin/supervisord -c /etc/supervisord.conf 按照指定的配置文件启动进程
    

    根据需求修改supervisord.conf最后的include

    常用命令
    supervisorctl 进入交互界面
    supervisorctl status 查看被监控进程状态
    supervisorctl stop all 关闭被监控的进程
    supervisorctl start all 启动被监控的进程
    supervisorctl start program-name 其中program-name为配置文件[program:xx]中的xx
    supervisorctl stop program-name 其中program-name为配置文件[program:xx]中的xx
    supervisorctl restart all 重启被监控的进程
    supervisorctl reatart program-name 重启某一进程,program-name为[program:xx]中的xx
    supervisorctl shutdown 关闭supervisord服务端
    supervisorctl reload 重新加载配置文件
    

    将supervisor加入到开机自启动服务中

    1 利用/etc/rc.local
    echo "/usr/bin/supervisord -c /etc/supervisord.conf" >> /etc/rc.local
    
     /etc/rc.local是/etc/rc.d/rc.local的软连接
    如果开机启动不生效,则首先需要检查下/etc/rc.d/rc.local是否具有可执行权限
    
    2 加入systemctl管理
    编辑配置文件
    vim /lib/systemd/system/supervisor.service
    
    [Unit]
    Description=supervisor
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf  #指明启动停止重载的命令
    ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
    ExecReload=/usr/bin/supervisorctl $OPTIONS reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    
    [Install]
    WantedBy=multi-user.target
    
    
      上述文件编写后,执行如下命令即可:
    
       systemctl enable supervisor.service      加入开机自启动服务
       systemctl daemon-reload      重新载入systemd,扫描新的或有变动的单元(必要步骤)
       chmod 766 /lib/systemd/system/supervisor.service   修改文件权限
    
    • supervisor

    一个Linux/Unix系统上的进程监控工具
    一个Python开发的通用的进程管理程序
    可以管理和监控Linux上面的进程
    能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
    不过同daemontools一样,它不能监控daemon进程

    特点

    • supervisor则可以完美的解决这些问题。supervisor管理进程,就是通过fork/exec的方式把这些被管理的进程,当作supervisor的子进程来启动。这样的话,我们只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去就OK了
    • 被管理进程作为supervisor的子进程,当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,所以当然也就可以对挂掉的子进程进行自动重启,当然重启还是不重启,也要看你的配置文件里面有木有设置autostart=true了
    • supervisor通过INI格式配置文件进行配置

    组件

    • supervisord

    主进程,负责管理进程的server,它会根据配置文件创建指定数量的应用程序的子进程,管理子进程的整个生命周期,对crash的进程重启,对进程变化发送事件通知等。同时内置web server和XML-RPC Interface,轻松实现进程管理。。该服务的配置文件在/etc/supervisor/supervisord.conf。

    • supervisorctl

    客户端的命令行工具,提供一个类似shell的操作接口,通过它你可以连接到不同的supervisord进程上来管理它们各自的子程序,命令通过UNIX socket或者TCP来和服务通讯。用户通过命令行发送消息给supervisord,可以查看进程状态,加载配置文件,启停进程,查看进程标准输出和错误输出,远程操作等。服务端也可以要求客户端提供身份验证之后才能进行操作。

    • Web Server

    superviosr提供了web server功能,可通过web控制进程(需要设置[inethttpserver]配置项)

    • XML-R- #supervisor

    一个Linux/Unix系统上的进程监控工具
    一个Python开发的通用的进程管理程序
    可以管理和监控Linux上面的进程
    能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
    不过同daemontools一样,它不能监控daemon进程

    安装、配置、使用

    • supervisor是python编写的,可以用easy_install、pip都可以安装
      yum install python-setuptools
      easy_install pip
      pip install supervisor
    • 配置
      在supervisord.conf中设置通过web可以查看管理的进程,加入以下代码(默认即有,取消注释即可)
      [inet_http_server]
      port=9001
      username=user
      password=123
    • 启动
      supervisord -c /etc/supervisord.conf
      或者 systemctl start supervisord.service
    • 查看是否处于监听状态
      lsof -i:9- #supervisor
      一个Linux/Unix系统上的进程监控工具
      一个Python开发的通用的进程管理程序
      可以管理和监控Linux上面的进程
      能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
      不过同daemontools一样,它不能监控daemon进程

    管理

    • 查看supervisorctl支持的命令

    supervisorctl help

    查看当前运行的进程列表

    原文地址
    https://www.cnblogs.com/smail-bao/p/5673434.html




    看是否处于监听状态
    lsof -i:9001

  • 相关阅读:
    quartz 之misfire
    quartz 之job
    quartz 日志观察
    quartz集群原理2
    netty 之 GlobalEventExecutor
    redis 修改配置文件不起作用?
    Qto_MemberBaseQuantities
    Qto_PlateBaseQuantities
    Pset_BuildingElementProxyCommon
    matlab绘制函数(观察凹凸性)
  • 原文地址:https://www.cnblogs.com/cizao/p/11484329.html
Copyright © 2011-2022 走看看