帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:监督者  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  |  如果智培  |  酷兔英语