CeSi(Supervisor 守护进程集中管理工具)

简介
  CeSi 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI,该工具是用 Python 编写,基于 Flask Web 框架 。
  Superviosr 自带的 Web UI 不支持跨机器管理
  Supervisor 进程,功能比较简单,通过 CeSi 可以集中管理各个服务器节点的进程,在 Web 界面就可以轻松管理各个服务的启动、关闭、重启等,很方便使用。(以上概论网络拷贝,侵删)

当前部署环境:CentOS7.6、Python3.5

安装部署

1、升级系统python版本

CentosOS7.6 默认Python版本为2.7,CeS基于 Python3 (+3.4)、Flask (+1.0)、ReactJs (+16.0)

#安装依赖
[root@datacloud21 ~]# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
#下载Python源码包:
[root@datacloud21 ~]# wget http://mirrors.sohu.com/python/3.5.2/Python-3.5.2.tgz
#编译、安装:
[root@datacloud21 ~]# tar -xzvf /usr/local/src/Python-3.5.2.tgz -C /usr/local/src/
[root@datacloud21 ~]# cd /usr/local/src/Python-3.5.2
[root@datacloud21 Python-3.5.2]# ./configure --prefix=/usr/local/python
[root@datacloud21 Python-3.5.2]# make -j 4
[root@datacloud21 Python-3.5.2]# make install
#查看扩展安装包:
[root@datacloud21 ~]# /usr/local/python/bin/pip3 list
pip (8.1.1)
setuptools (20.10.1)
#添加Python命令到环境变量:
[root@Python /]# vim /etc/profile
 
PATH=$PATH:$HOME/bin
#添加:
PATH=$PATH:$HOME/bin:/usr/local/python/bin
#使环境变量生效:
[root@datacloud21 ~]#  source /etc/profile
#查看Python版本:
[root@datacloud21 ~]#  python3 -V
Python 3.5.2
#更改系统默认python版本为Python3.5(CentOS 7)
[root@datacloud21 ~]#  mv /usr/bin/python /usr/bin/python2.7
[root@datacloud21 ~]#  ln -s /usr/local/python/bin/python3.5 /usr/bin/python
[root@datacloud21 ~]#  python -V
Python 3.5.2

二、部署CeSi

#安装依赖
[root@datacloud21 ~]# yum install -y git wget epel-release  npm bzip2 
[root@datacloud21 ~]# pip3 install flask flask_sqlalchemy tomlkit

[root@datacloud21 ~]# npm install -g n (升级node到最新的版本)
[root@datacloud21 ~]# n latest
[root@datacloud21 ~]# curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
[root@datacloud21 ~]# yum install -y yarn (安装yarn)

#开始部署cesi,参考官网教程
[root@datacloud21 ~]# export CESI_SETUP_PATH=/home/cesi
[root@datacloud21 ~]# mkdir ${CESI_SETUP_PATH}
[root@datacloud21 ~]# cd ${CESI_SETUP_PATH}
[root@datacloud21 cesi]# wget https://github.com/gamegos/cesi/releases/download/v2.6.8/cesi-extended.tar.gz -O cesi.tar.gz
[root@datacloud21 cesi]# tar -xvf cesi.tar.gz
[root@datacloud21 cesi]# python -m venv venv
[root@datacloud21 cesi]# source venv/bin/activate
(venv) [root@datacloud21 cesi]# pip3 install -r requirements.txt
(venv) [root@datacloud21 cesi]# deactivate
[root@datacloud21 ~]# cd ${CESI_SETUP_PATH}/cesi/ui
[root@datacloud21 ui]# yarn install
[root@datacloud21 ui]# yarn build

#出现Successful,即成功。

#创建日志文件目录
mkdir -p /home/cesi/logs/

#开始配置配置文件

[root@datacloud21 ~]# cat /etc/cesi.conf.toml
[cesi]
database = "sqlite:///users.db" # Relative path
activity_log = "/home/cesi/logs/activity.log" # File path for CeSI logs
admin_username = "admin" # Username of admin user
admin_password = "admin" # Password of admin user

[[nodes]]
name = "node1"  #节点名称,自定义
environment = "TEST" #这个可以理解为进程分组
username = "admin"  #远程主机supervisor的web主机帐号密码
password = "admin"  #密码不支持特殊字符,如果web成功监听远程主机但是无法选中操作,原因大都基于此。
host = "172.16.23.102"
port = "9001"

[[nodes]]
name = "node2"
environment = "TEST"
username = "admin"
password = "pass123"
host = "172.16.23.241"
port = "9001"

[[nodes]]
name = "node3"
environment = "TEST"
username = "admin"
password = "admin"
host = "172.16.23.205"
port = "9001"

[[nodes]]
name = "Admin_web"
environment = "Admin_web"
username = "admin"
password = "admin"
host = "127.0.0.1"
port = "9001"


[[nodes]]
name = "23.153"
environment = "线上测试"
username = "admin"
password = "admin"
host = "172.16.23.153"
port = "9001"

[[nodes]]
name = "23.159"
environment = "线上测试"
username = "admin"
password = "admin"
host = "172.16.23.159"
port = "9001"

#配置CeSi启动方式
[root@datacloud21 ~]# cp /home/cesi/defaults/cesi.service /etc/systemd/system/cesi.service

[root@datacloud21 ~]# cat /etc/systemd/system/cesi.service

[Unit]
Description=cesi
[Service]
Environment=
ExecStart=/home/cesi/cesi/run.py --config-file /etc/cesi.conf.toml
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=TERM
User=root
WorkingDirectory=/home/cesi
Restart=on-failure
[Install]
WantedBy=multi-user.target

#启动
systemctl daemon-reload
systemctl start cesi

三、Web访问

浏览器访问 http://IP:5000

Nodes

Supervisor_CeSi

以上

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,999评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,102评论 1 302
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,709评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,439评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,846评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,881评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,062评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,783评论 0 205
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,517评论 1 248
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,762评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,241评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,236评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,145评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,941评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,965评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,802评论 2 275

推荐阅读更多精彩内容