摘要:随着云计算的普及,企业对于高效、灵活的计算资源需求日益增长。华为云Flexus云服务器X实例作为新一代面向中小企业和开发者的柔性算力平台,以其出色的性能和灵活性满足了这一需求。本文将详细介绍如何在基于openEuler操作系统的X实例上部署Beszel轻量级服
前言
随着云计算的普及,企业对于高效、灵活的计算资源需求日益增长。华为云Flexus云服务器X实例作为新一代面向中小企业和开发者的柔性算力平台,以其出色的性能和灵活性满足了这一需求。本文将详细介绍如何在基于openEuler操作系统的X实例上部署Beszel轻量级服务器监控系统,通过这一组合,不仅能够充分发挥X实例的强大计算能力,还能借助Beszel提供的全面监控功能,包括历史数据记录、Docker容器统计信息以及系统状态警报,帮助系统管理员和开发人员实现高效、精细的服务器资源管理,同时保持较低的资源消耗。这一部署实践将为企业带来显著的运维效率提升和技术保障。
一、Flexus云服务器X实例介绍
1.1 Flexus云服务器X实例简介
官网地址: 华为云Flexus云服务器X实例华为云Flexus云服务器X实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。
1.2 Flexus云服务器X实例特点
提供丰富的公共镜像:Flexus云服务器X实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。可灵活自定义vCPU内存配比:用户可以根据自己的需要灵活调整虚拟CPU和内存的配比,以满足不同场景的需求。智能感知业务动态升降配:Flexus云服务器X实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。负载范围更高:相对于Flexus应用服务器L实例,Flexus云服务器X实例能够处理更高的负载,适用于更复杂和繁忙的场景。1.3 Flexus云服务器X实例使用场景
Flexus云服务器X实例针对不同的使用场景展现出其独特的优势:
电商直播:利用X实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。企业建站:面向博客、论坛和企业门户等应用场景,X实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过X实例便捷获取,不仅提高了搭建效率,而且降低了成本。游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。二、Beszel介绍
2.1 Beszel简介
Beszel 是一款专为现代数据中心设计的轻量级服务器资源监控中心,提供全面的监控功能,包括历史数据记录、Docker 容器统计信息以及系统状态警报。该工具旨在帮助系统管理员和开发人员高效地管理服务器资源,同时保持较低的资源消耗。
2.2 Beszel主要特点
轻量化设计:相比市场上的同类产品,Beszel 占用更少的系统资源,更加高效。Docker 监控:支持跟踪每个 Docker 容器的 CPU 和内存使用情况的历史记录。动态警报:用户可以根据 CPU 使用率、内存消耗、磁盘使用情况等指标配置警报。多用户支持:每个用户可以独立管理自己的监控系统;管理员则可以跨用户共享系统信息。简易部署:安装和配置过程简单,无需公开暴露于互联网即可工作。安全认证:支持 OAuth/OIDC 认证机制,并允许禁用密码验证,增强安全性。数据保护:提供自动备份功能,支持从本地磁盘或 S3 兼容存储中保存和恢复数据。开放接口:开放 REST API 接口,便于用户将监控数据集成到自己的脚本或应用程序中。2.3 系统组件
Beszel 的核心架构由两个主要组件构成:
集线器 (Hub):基于 PocketBase 构建的 Web 应用程序,为用户提供直观的界面来查看和管理连接的系统。代理 (Agent):在需要监控的每台服务器上运行的服务,通过一个精简的 SSH 服务器将系统指标发送至集线器。三、本次实践介绍
3.1 本次实践简介
1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为华为云Flexus云服务器X实例,使用的操作系统为openEuler 22.03 LTS;3.本次实践在Docker环境下部署Beszel轻量级服务器监控系统。
3.2 本次环境规划
服务器类别
公共镜像选择
内网IP地址
Docker版本
操作系统版本
华为云Flexus云服务器X实例
openEuler
192.168.0.169
26.1.3
openEuler 22.03 LTS
四、远程连接华为云Flexus云服务器X实例
4.1 购买Flexus云服务器X实例
进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云首页。
镜像选择:本次实践使用openEuler作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。镜像切换说明:参考的公共镜像原为Huawei Cloud EulerOS,但本次实践中已切换至openEuler。基础配置参考:购买时可参考以下基础配置进行选择。1.计费模式:包年/包月,这里选择此模式;2.区域:华北—北京四,可用区:随机即可;3.实例规格:关闭性能模式,选择自定义,4vCPUs | 12GiB;4.镜像:公共镜像,Huawei Cloud EulerOS,版本,Huawei Cloud EulerOS 2.0 Standard 64 bit(10GiB);5.应用加速:这里选择不加速;6.存储:系统盘,通用型SSD100G;7.网络:选择默认即可;8.安全组:选择默认即可;9.弹性公网IP:选择“现在购买”,全动态BGP,带宽3Mbit/s;10.云服务器名称:可自定义设置,这里选择默认的名称;11.登录凭证:自定义设置密码;12.云备份:暂不购买;其余配置默认即可。
确认配置及购买:在确认配置页面仔细检查Flexus云服务器X实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。4.2 查看Flexus云服务器X实例状态
进入华为云Flexus云服务的控制台,选择Flexus云服务器X实例,可以看到已经正在运行的Flexus云服务器X实例。
4.3 使用Xshell远程连接
复制Flexus云服务器X实例的弹性公网IP地址主要填写Flexus云服务器X实例的弹性公网IP地址,输入其登录用户和密码,连接即可。五、检查Flexus云服务器X实例系统环境
5.1 检查操作系统版本
检查Flexus云服务器X实例的操作系统版本,本次实践选择的版本为openEuler 22.03 LTS
[root@flexusx-51a1 ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"
5.2 检查内核版本
检查当前操作系统的内核版本,当前内核版本为5.10.0-60.109.0.136.oe2203.x86_64。
[root@flexusx-51a1 ~]# uname -r
5.10.0-60.109.0.136.oe2203.x86_64
5.3 检查Docker版本
部署该项目需要提前安装Docker环境,检查Docker版本,当前安装的Docker版本为 26.1.3。
[root@flexusx-51a1 ~]# docker -v
Docker version 26.1.3, build b72abbb
5.4 检查Docker服务状态
检查Docker服务状态,确保Docker服务正常。
[root@flexusx-51a1 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2024-09-04 21:23:44 CST; 15min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 10018 (dockerd)
Tasks: 10
Memory: 196.3M
CGroup: /system.slice/docker.service
└─ 10018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
5.5 检查Docker compose版本
检查docker compose版本,当前默认安装版本为v2.27.0`。
[root@flexusx-51a1 ~]# docker compose version
Docker Compose version v2.27.0
六、安装Beszel—hub端
6.1 下载Beszel镜像
拉取Beszel的hub端镜像[root@flexusx-51a1 ~]# docker pull henrygd/beszel
Using default tag: latest
latest: Pulling from henrygd/beszel
51edc119987e: Pull complete
d8ffd2b99b4e: Pull complete
Digest: sha256:93dabedc6eb74a0c63d95f2022ee4d677e313961749cb4575429cfd655718b23
Status: Downloaded newer image for henrygd/beszel:latest
docker.io/henrygd/beszel:latest
[root@flexusx-51a1 ~]# docker pull henrygd/beszel-agent
Using default tag: latest
latest: Pulling from henrygd/beszel-agent
0494e1db2bbd: Pull complete
Digest: sha256:f1035c5583b680f2e55eab3efc2e0fe33f8b5851af5a0d0d49a8bb2097c0b20b
Status: Downloaded newer image for henrygd/beszel-agent:latest
docker.io/henrygd/beszel-agent:latest
6.2 创建部署目录
创建项目部署目录/data/beszel/。mkdir -p /data/beszel/{hub,agent} && cd /data/beszel/
6.3 编辑docker-compose.yaml文件
本次使用docker compose方式部署,需要新建及编辑docker-compose.yaml文件。在部署文件中,可以自定义修改宿主机映射端口等信息,注意防止端口冲突。
进入/data/beszel/hub部署目录,编辑docker-compose.yaml文件。 cd hub/
vim docker-compose.yaml
services:
beszel:
image: 'henrygd/beszel'
container_name: 'beszel-hub'
restart: unless-stopped
ports:
- '7500:8090'
volumes:
- ./beszel_data:/beszel_data
6.4 创建Beszel-Hub容器
执行以下命令,快速创建eszel-Hub容器容器。
[root@flexusx-51a1 hub]# docker compose up -d
[+] Running 2/2
✔ Network hub_default Created 0.0s
✔ Container beszel-hub Started 0.2s
6.5 查看Beszel-Hub容器状态
检查Beszel-Hub容器状态,确保Beszel-Hub容器正常启动。
[root@flexusx-51a1 hub]# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
beszel-hub henrygd/beszel "/beszel serve --htt…" beszel 45 seconds ago Up 44 seconds 0.0.0.0:7500->8090/tcp, :::7500->8090/tcp
6.6 查看Beszel-Hub容器日志
检查Beszel-Hub容器日志,确保Beszele服务正常运行。
[root@flexusx-51a1 hub]# docker compose logs
beszel-hub | 2024/09/15 06:09:47 Server started at http://0.0.0.0:8090
beszel-hub | ├─ REST API: http://0.0.0.0:8090/api/
beszel-hub | └─ Admin UI: http://0.0.0.0:8090/_/
七、访问Beszel网页
7.1 关闭防火墙与selinux
关闭防火墙 systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
7.2 Flexus云服务器X实例安全组配置
进入Flexus云服务器X实例控制台,进行安全组规则配置。在安全组入方向规则上,放行6500端口。
7.3 访问Beszel初始页
浏览器访问地址:http://弹性公网IP地址:7500,将IP替换为自己服务器IP地址。浏览器打开后,进入Beszel初始页。
7.4 创建登录账号
根据如下图所示,可自定义创建登录账号。
7.5 添加被控主机
在右上角,点击“+ Add Systemctl”,进入被控主机信息填写界面。
被控主机信息如下,记住需要复制Public Key内容。
八、安装Beszel—agent端
8.1 进入部署目录
进入/data/beszel/agent
[root@flexusx-51a1 beszel]# ls
agent hub
[root@flexusx-51a1 beszel]# cd agent/
8.2 编辑docker-compose.yaml文件
编辑docker-compose.yanml文件,内容如下所示。特别注意环境变量中跟的KEY值,将刚才复制的Keyt填写为当前docker-compsoe.yaml文件中的Key值。
services:
beszel-agent:
image: 'henrygd/beszel-agent'
container_name: 'beszel-agent'
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
# monitor other disks / partitions by mounting a folder in /extra-filesystems
- /mnt/disk1/.beszel:/extra-filesystems/disk1:ro
environment:
PORT: 45876
KEY: ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAwGedGokQ4p05Kwl661oEUmObIzlP3iSvHdDL5Bl8Hm''
FILESYSTEM: /dev/sda1 # override the root partition / device for disk I/O stats
8.3 运行Beszel-agent容器
执行以下命令,创建Beszel-agent容器.
[root@flexusx-51a1 agent]# docker compose up -d
[+] Running 1/0
✔ Container beszel-agent Started 0.1s
8.4 查看Beszel-agent容器状态
查看Beszel-agent容器状态,确保当前容器正常运行。
[root@flexusx-51a1 agent]# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
beszel-agent henrygd/beszel-agent "/agent" beszel-agent About a minute ago Up 59 seconds
九、查看Beszel的监控服务
9.1 添加被控节点
返回刚才的主机信息填写页面,点击确认即可。
9.2 查看被控节点状态
被控节点添加完毕后,可以看到已经成功监控本机服务器,显示除了CPU、内存、磁盘状态。
点击列表中的监控项,进入监控详情页,可以看到各监控指标的详细情况。
可以将Beszel与华为云Fuxi云服务器X实例的监控功能相结合,互补使用,以便更全面地了解云服务器的资源使用情况,操作非常便捷。
十、使用体验与总结
在华为云Flexus云服务器X实例上部署Beszel轻量级服务器监控系统,不仅展现了X实例卓越的性能和灵活性,还充分发挥了Beszel在资源监控方面的优势。Beszel的轻量化设计与华为云X实例的高效算力完美结合,实现了对服务器资源使用的实时监测与历史数据分析。尤其在Docker容器管理方面,Beszel提供了详尽的统计信息,使我们能够及时调整资源配置,确保应用的稳定运行。此外,Beszel的警报机制与多用户支持功能,进一步增强了系统的可用性和管理效率。这种组合为我们带来了前所未有的监控体验,显著提升了运维工作的效率和服务器的管理水平。
把握华为云828 B2B企业节的良机,探索Flexus X实例带来的超值优惠,感受技术与创新的完美融合。不论是高性能计算还是智能监控,每一个细节都彰显出华为云对卓越品质的持续追求。选择华为云,不仅是技术实力的提升,更是向未来迈出的关键一步。让我们一同携手,在云端书写新的辉煌篇章!
来源:互联网播客