帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:监督者  Super  PROC  MAN  golang  SUP  
golang port of python-supervisor

  • 源代码名称:gosuv
  • 源代码网址:http://www.github.com/codeskyblue/gosuv
  • gosuv源代码文档
  • gosuv源代码下载
  • Git URL:
    git://www.github.com/codeskyblue/gosuv.git
  • Git Clone代码到本地:
    git clone http://www.github.com/codeskyblue/gosuv
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/codeskyblue/gosuv
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • gosuv

    Build Status

    电流处于测试版

    进程管理writtern由golang提供,由python管理员

    为什么要写另一个主管?

    我多年来一直在使用python管理器,感觉有些不舒服。

    • 日志不能包含ANSI颜色字符
    • 配置文件可以在网络上添加,经常会忘记一些设置。
    • supervisorctl reload 将导致supervisord重新启动
    • 很难将状态更改设置为致命通知。
    • 无进程性能监视器页。
    • 程序从没有公共环境开始,例如缺少家庭和用户变量
    • 杀死进程默认值不是使子进程仍在运行的组终止。
    • 更多。当我想到它的时候。

    特性

    • 网页控制页

    • HTTP基本身份验证

    • Github webhook

    • 单一日志页面,包括搜索支持

    要求

    转到版本至少为 1.6+

    安装

    二进制文件

    最快的方法是运行。 默认安装位置为 /usr/local/bin,更改 env BINDIR 也将更改安装位置。

    curl https://raw.githubusercontent.com/codeskyblue/gosuv/master/get.sh | bash

    或者下载二进制文件

    https://github.com/codeskyblue/gosuv/releases

    感谢 goreleaser,它自动发布二进制文件。

    基于源代码的

    go get -d github.com/codeskyblue/gosuvcd$GOPATH/src/github.com/codeskyblue/gosuv
    go generate # package html resources into gogo build -tags vfs

    快速启动

    安装gosuv后,首先要启动服务器。

    gosuv start-server

    基本操作

    $ gosuv status
    PROGRAM NAME STATUStest running
    test_again stopped
    $ gosuv stop test$ gosuv start test

    打开 web http://localhost:11313 查看管理器页面。 然后跟着gif向gosuv添加一个程序。

    gosuv web

    配置

    存储在目录 $HOME/.gosuv/ 中的默认配置文件,设置 env-var GOSUV_HOME_DIR 可以更改配置文件存储目录。

    • 文件 programs.yml 包含所有程序设置。
    • 文件 config.yml 包含服务器配置

    文件 config.yml 可以由 gosuv conftest 生成

    示例 config.yaml

    server:
     httpauth:
     enabled: true
     username: admin
     password: admin
     addr: :8083
     name: 10.10.99.177
     master:""
    notifications:
     dingtalk:
     groups:
     - secret: c1b8032******************aa736a
     mobile:
     -"153********"
    client:
     server_url: http://admin:admin@localhost:8083

    主的支持来自 https://github.com/ihaiker/distributed-gosuv 日志可以在 $HOME/.gosuv/log/ 中找到

    编辑配置文件( 默认位于 $HOME/.gosuv/programs.yml 中) 并运行 gosuv reload 将立即生效。

    设计

    HTTP是遵循rest式指南的。

    获取或者更新程序

    <GET|PUT>/api/programs/:name

    添加新程序

    POST/api/programs

    Del程序

    DELETE/api/programs/:name

    状态

    只有 4个状态。引用

    states

    电子邮件通知

    配置示例

    - demo-program:
     command: ...notifications:
     pushover:
     api_key: [token]users:
     - [user1] - [user2]

    现在只支持 pushover,并且只有状态更改才会得到通知。

    与github集成( todo )

    这是在github更新后帮助更新部署环境的特性。

    这里部分在 programs.yml 中设置,请看下面的示例

    - demo-program:
     command: python app.pydirectory: /opt/demowebhook:
     github:
     secret: 123456command: git pull origin master

    许可证



    文章标签:MAN  SUP  PROC  golang  Super  监督者  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语