zoukankan      html  css  js  c++  java
  • supervisord监控服务必备命令

    supervisord(http://supervisord.org/introduction.html)是一个非常优秀的进程管理工具,使用Python开发。它可以在类UNIX系统的方式让用户来准确地监视和控制后台一定数量的服务进程。并作为一个天使进程让后台进程在当发生内部错误退出、或者进程被意外杀死时自动重启。除此之外,supervisord可以监控TCP端口,让其他主机通过客户端了命令supervisorctl通过HTTP协议直接对Server端进程进行启停,避免让进程/服务器管理者直接接触Shell或root用户。进程之间也有一个优先级和进程组关系,让管理员使用start all和stop all的关系来启动。

    下面就让我们来介绍下supervisord监控服务必备命令:

    supervisord : supervisor的服务器端部分,用于supervisor启动
    supervisorctl:启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、

    1.手动启动:

    supervisord -c /etc/supervisor/supervisord.conf 

    2.查看已启动服务

    pstree -p | grep supervisord 

    3.查看log日志

    cat  /tmp/supervisord.log

    4.用 supervisorctl 查看已经被监控的program

    (注:直接用 #supervisorctl 会提示:http://localhost:9001 refused connection)

    supervisorctl -c /etc/supervisor/supervisord.conf

    5.执行supervisorctl  reload的命令可以重启监控服务

    supervisorctl reload  

    6.supervisorctl status命令查看运行状态

    supervisorctl status

    7. supervisord,初始启动Supervisord,启动、管理配置中设置的进程。

    supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:mhqdemo]里配置的值,这个示例就是mhqdemo。

    supervisorctl start programxxx,启动某个进程
    supervisorctl restart programxxx,重启某个进程
    supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

    以下参考文章 :supervisor常用命令

    查看任务状态
    # supervisorctl status
    SmartCoin                        RUNNING   pid 13203, uptime 0:04:05
    coin                             RUNNING   pid 30744, uptime 17 days, 20:45:18
    deepwellserver                   RUNNING   pid 30257, uptime 30 days, 4:13:01
    jingtumassetapi                  RUNNING   pid 14536, uptime 45 days, 19:18:08
    moac                             RUNNING   pid 20015, uptime 15 days, 5:15:11
    new                              RUNNING   pid 10041, uptime 43 days, 22:41:56
    nginx                            RUNNING   pid 18752, uptime 22:59:40
    redis                            RUNNING   pid 14542, uptime 45 days, 19:18:08
    sonyflakeserver                  FATAL     can't find command 'go'
    sparkportal                      RUNNING   pid 26073, uptime 1 day, 23:11:17
    sparkportal2                     RUNNING   pid 25732, uptime 1 day, 23:11:21
    sparkportal3                     RUNNING   pid 25834, uptime 1 day, 23:11:20
    sparkportal4                     RUNNING   pid 25974, uptime 1 day, 23:11:18
    sparkuser                        RUNNING   pid 26957, uptime 9 days, 23:07:21
    sparkwallet                      RUNNING   pid 29045, uptime 5 days, 15:11:58
    summaryservice                   RUNNING   pid 14535, uptime 45 days, 19:18:08

    第一列是服务名;第二列是运行状态,RUNNING表示运行中,FATAL 表示运行失败,STARTING表示正在启动,STOPED表示任务已停止; 第三/四列是进程号,最后是任务已经运行的时间。

    查看单个任务状态: supervisorctl status 服务名

    # supervisorctl status sparkportal
    sparkportal                      RUNNING   pid 26073, uptime 1 day, 23:12:10

    启动/停止/重启任务

    1.启动任务

    supervisorctl start 服务名
    
    # supervisorctl stop sparkportal
    sparkportal: stopped
    #supervisorctl status sparkportal
    sparkportal                      STOPPED   Jan 05 01:59 PM

    2.停止任务

    supervisorctl stop 服务名
    
    # supervisorctl start sparkportal
    sparkportal: started
    # supervisorctl status sparkportal
    sparkportal                      RUNNING   pid 32207, uptime 0:00:05

    3.重启任务

    supervisorctl restart 服务名
    
    # supervisorctl restart sparkportal
    sparkportal: stopped
    sparkportal: started
    # supervisorctl status sparkportal
    sparkportal                      RUNNING   pid 4952, uptime 0:00:03
  • 相关阅读:
    Django中的syncdb命令
    notepad++下的字体设置
    python中的getattr函数
    python实现虚拟茶话会
    利用python爬取海量疾病名称百度搜索词条目数的爬虫实现
    SQL里面如何取得前N条数据?
    python中怎么查看当前工作目录和更改工作目录
    python中thread模块中join函数
    python中的自测语句是什么?
    python读取数据库数据有乱码怎么解决?
  • 原文地址:https://www.cnblogs.com/mhq-martin/p/8649621.html
Copyright © 2011-2022 走看看