写点什么

华为云 Flexus 云服务器 X 实例之 openEuler 系统部署 Beszel 轻量级服务器监控系统

  • 2025-01-12
    海南
  • 本文字数:6220 字

    阅读完需:约 20 分钟

前言




随着云计算的普及,企业对于高效、灵活的计算资源需求日益增长。华为云 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 实例针对不同的使用场景展现出其独特的优势:

1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

2. 企业建站:面向博客、论坛和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。

4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、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 本次环境规划

四、远程连接华为云 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-releaseNAME="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 -r5.10.0-60.109.0.136.oe2203.x86_64

5.3 检查 Docker 版本

部署该项目需要提前安装 Docker 环境,检查 Docker 版本,当前安装的 Docker 版本为 26.1.3。

[root@flexusx-51a1 ~]# docker -vDocker 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 agoTriggeredBy:●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 versionDocker Compose version v2.27.0

六、安装 Beszel—hub 端

6.1 下载 Beszel 镜像

· 拉取 Beszel 的 hub 端镜像

[root@flexusx-51a1 ~]# docker pull henrygd/beszelUsing default tag: latestlatest: Pulling from henrygd/beszel51edc119987e: Pull completed8ffd2b99b4e: Pull completeDigest: sha256:93dabedc6eb74a0c63d95f2022ee4d677e313961749cb4575429cfd655718b23Status: Downloaded newer image for henrygd/beszel:latestdocker.io/henrygd/beszel:latest

· 拉取 Beszel 的 agent 端镜像

[root@flexusx-51a1 ~]# docker pull henrygd/beszel-agentUsing default tag: latestlatest: Pulling from henrygd/beszel-agent0494e1db2bbd: Pull completeDigest: sha256:f1035c5583b680f2e55eab3efc2e0fe33f8b5851af5a0d0d49a8bb2097c0b20bStatus: Downloaded newer image for henrygd/beszel-agent:latestdocker.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

· 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 psNAME         IMAGE            COMMAND                  SERVICE   CREATED          STATUS          PORTSbeszel-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 logsbeszel-hub  | 2024/09/15 06:09:47 Server started at http://0.0.0.0:8090beszel-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

· 关闭 selinux

setenforce 0sed -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]# lsagent  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 psNAME           IMAGE                  COMMAND    SERVICE        CREATED              STATUS          PORTSbeszel-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 实例带来的超值优惠,感受技术与创新的完美融合。不论是高性能计算还是智能监控,每一个细节都彰显出华为云对卓越品质的持续追求。选择华为云,不仅是技术实力的提升,更是向未来迈出的关键一步。让我们一同携手,在云端书写新的辉煌篇章!




 

用户头像

还未添加个人签名 2023-04-20 加入

还未添加个人简介

评论

发布
暂无评论
华为云Flexus云服务器X实例之openEuler系统部署Beszel轻量级服务器监控系统_平平无奇爱好科技_InfoQ写作社区