可视化集中管理服务器节点进程

简介: 在之前的文章《自动化测试之进程管理》中讲到了用Supervisor做进程管理的好处,可以很方便的用来启动、重启、关闭进程,类似于 Linux 的 systemd 守护进程一样,通过统一的命令来管理系统的各个服务,当管理的服务挂掉时会自动重新拉起,如果只有一台服务器的情况下,问题倒不大,但是如果你有一个自动化集群,部署着数十个进程服务,那么管理和维护成本就会陡增。今天就来给大家分享一个解决方案 - CeSi,该工具是 Supervisor 的 WebUI,可以通过这个统一的 WebUI 集中化管理各个服务器节点的进程。

CeSi的安装和部署


CeSi 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI,该工具是用 Python 编写的,基于 Flask Web 框架 。


Superviosr 自带的 Web UI 不支持跨机器管理,Supervisor 进程功能比较简单,通过 CeSi 可以集中管理各个服务器节点的进程,在 Web 界面就可以轻松管理各个服务的启动、关闭、重启等,使用很方便。


安装


以Ubuntu为例,具体的安装步骤如下:

$ sudo apt install -y git python3 python3-pip python3-venv
$ # If you want to change CESI_SETUP_PATH, you must change the configurations in the cesi.service file.$ export CESI_SETUP_PATH=/opt/cesi$ mkdir ${CESI_SETUP_PATH}$ cd ${CESI_SETUP_PATH}
$ # Download the project to CESI_SETUP_PATH directory$ wget https://github.com/gamegos/cesi/releases/download/v2.7.1/cesi-extended.tar.gz -O cesi.tar.gz$ tar -xvf cesi.tar.gz
$ # Create virtual environment and install requirement packages$ python3 -m venv venv$ source venv/bin/activate(venv) $ pip3 install -r requirements.txt(venv) $ deactivate   # Deactivate virtual environment
$ # Build ui (First you must install dependencies for ui -> yarn) - Optional$ cd ${CESI_SETUP_PATH}/cesi/ui$ yarn install$ yarn build
$ # Create cesi.conf.toml file and update cesi.conf.toml for your environment.$ # Config file documentation can be found inside default file.$ # (You must create cesi.conf in the etc directory for cesi.service)$ sudo cp ${CESI_SETUP_PATH}/defaults/cesi.conf.toml /etc/cesi.conf.toml
$ # Run as a service$ sudo cp ${CESI_SETUP_PATH}/defaults/cesi.service /etc/systemd/system/cesi.service$ sudo systemctl daemon-reload$ sudo systemctl start cesi

配置


CeSi 的配置非常简单,和 Supervisor 的配置文件类似,配置文件路径:

/etc/cesi.conf.toml

只需要把nodes部分填充为自己的各个服务器节点信息就可以了,含义可以看注释部分。


# This is the main CeSI toml configuration file. It contains CeSI web application and# supervisord information to connect
# This is the CeSI's own configuration.[cesi]# Database Uridatabase = "sqlite:///users.db"                         # Relative path# Etc#database = "sqlite:////opt/cesi/< version >/users.db"  # Absolute path#database = "postgres://<user>:<password>@localhost:5432/<database_name>"#database = "mysql+pymysql://<user>:<password>@localhost:3306/<database_name>"activity_log = "activity.log"   # File path for CeSI logsadmin_username = "admin"        # Username of admin useradmin_password = "admin"        # Password of admin user
# This is the definition section for new supervisord node.# [[nodes]]# name = "api"          # (String) Unique name for supervisord node.# environment = ""      # (String) The environment name provides logical grouping of supervisord nodes. It can be used as filtering option in the UI.# username = ""         # (String) Username of the XML-RPC interface of supervisord Set nothing if no username is configured# password = ""         # (String) Password of the XML-RPC interface of supervisord. Set nothing if no username is configured# host = "127.0.0.1"    # (String) Host of the XML-RPC interface of supervisord# port = "9001"         # (String) Port of the XML-RPC interface of supervisord
# Default supervisord nodes[[nodes]]name = "专项服务器"environment = ""username = "test"password = "test"host = ""port = "9001"
[[nodes]]name = "主服务器"environment = ""username = "test"password = "test"host = ""port = "9001"

最终的效果图如下:

image.png

相关文章
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
71 4
|
1月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
155 5
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
58 3
|
1月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
103 4
|
1月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
60 2
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
48 1
|
1月前
|
分布式计算 资源调度 数据可视化
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
Hadoop-06-Hadoop集群 历史服务器配置 超详细 执行任务记录 JobHistoryServer MapReduce执行记录 日志聚合结果可视化查看
41 1
|
4月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
4月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
176 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
3月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
下一篇
无影云桌面