cesi(Centralized Supervisor Interface)をインストールした

今までpy-supervisord-monitorを利用していたが、
・認証画面がないこと
・グループ化して管理できないこと
から変更した。ポイントのみ記載する。

cesiインストール

# aptitude install sqlite3 python python-flask
# cd /usr/local/src/
# git clone https://github.com/Gamegos/cesi
# cd cesi/
# cp -R cesi /etc/
# sqlite3 /etc/cesi/userinfo.db < userinfo.sql
# vi /etc/cesi.conf
==================================
[node:node1]
username = username
password = password
host = x.x.x.x
port = 9001

[environment:production]
members = node1

[cesi]
database = /etc/cesi/userinfo.db
activity_log = /var/log/cesi-activity.log
host = 127.0.0.1
;port = 5000
;name = what name mean?
==================================
# cd /etc/cesi/
# python web.py

cesiの永続起動

supervisordに以下を追加する。

# vi /etc/supervisor/conf.d/cesi.conf
==================================
[program:cesi]
directory=/etc/cesi
command=python web.py
user=root
group=root
autostart=true
autorestart=true
redirect_stdout=true
redirect_stderr=true
stopasgroup=true
stopsignal=QUIT
stdout_logfile=/var/log/supervisor/%(program_name)s_%(process_num)s.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile=/var/log/supervisor/%(program_name)s_%(process_num)s_error.log
process_name=%(process_num)s
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5
==================================

cesiの80番ポート動作

nginxでリバースプロキシした。configは以下。

location / {
    try_files $uri @cesi;
}

### cesi(supervisor) ###
location @cesi {
    proxy_pass http://127.0.0.1:5000;
    include /etc/nginx/proxy_params;
}

参考URL

GitHub:gamegos/cesi
consul-template & supervisorでプロセスの可視化
nginxでURLでリバースプロキシ先を振り分ける設定