Beszel 轻量级服务器监控平台的详细安装步骤
什么是 Beszel
Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。
它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问
https://beszel.dev/zh/guide/what-is-beszel#什么是-beszel
功能
- 轻量级: 比主要解决方案更小,资源占用更少。
- 简单: 易于设置,无需公网暴露。
- Docker 统计: 跟踪每个容器的 CPU、内存和网络使用历史。
- 警报: 可配置 CPU、内存、磁盘、带宽、温度和状态的警报。
- 多用户: 用户管理自己的系统。管理员可以在用户之间共享系统。
- OAuth / OIDC: 支持多种 OAuth2 提供程序。可以禁用密码验证。
- 自动备份: 从磁盘或 S3 兼容的存储保存和恢复数据。
- REST API: 在您自己的脚本和应用程序中使用或更新您的数据。
架构
Beszel 由两个主要组件组成:中心 (hub) 和 代理 (agent)。
- 中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
- 代理 (agent): 在您要监控的每个系统上运行,创建一个最小的 SSH 服务器以将系统指标传递到中心。
屏幕截图
支持的指标
- CPU 使用率 - 主机系统和 Docker / Podman 容器。
- 内存使用率 - 主机系统和容器。包括交换分区和 ZFS ARC。
- 磁盘使用率 - 主机系统。支持多个分区和设备。
- 磁盘 I/O - 主机系统。支持多个分区和设备。
- 网络使用率 - 主机系统和容器。
- 温度 - 主机系统传感器。
- GPU 使用率 / 温度 / 功耗 - 仅限 Nvidia 和 AMD。必须使用二进制代理。
Hub 安装
Beszel 支持通过 Docker/ Podman 或单个二进制文件进行安装。
docker下载镜像
docker pull henrygd/beszel
安装
Beszel 支持通过 Docker/ Podman 或单个二进制文件进行安装。
docker安装
mkdir -p ./beszel_data && \
docker run -d \--name beszel \--restart=unless-stopped \-v ./beszel_data:/beszel_data \-p 8090:8090 \henrygd/beszel
docker-compose安装
docker-compose.yml
services:beszel:image: henrygd/beszel:latestcontainer_name: beszelrestart: unless-stoppedports:- 8090:8090volumes:- ./beszel_data:/beszel_data- ./beszel_socket:/beszel_socketbeszel-agent:image: henrygd/beszel-agent:latestcontainer_name: beszel-agentrestart: unless-stoppednetwork_mode: hostvolumes:- ./beszel_socket:/beszel_socket- /var/run/docker.sock:/var/run/docker.sock:roenvironment:LISTEN: /beszel_socket/beszel.sock# 请勿删除密钥周围的引号KEY: '使用"添加系统"对话框复制的公钥进行更新'
如果您更喜欢以不同的方式设置容器,请随意
1.如果尚未安装,请安装 Docker 和 Docker Compose.2.复制 docker-compose.yml 内容3.创建一个目录用于存储 docker-compose.yml 文件mkdir beszel
cd beszel4.创建一个 docker-compose.yml 文件,粘贴内容并保存vim docker-compose.yml5.启动服务docker compose up -d
二进制文件安装
1. 快速脚本
此命令下载并运行我们的 install-hub.sh 脚本。该脚本将安装最新二进制文件并创建 systemd 服务,使其在重新启动后继续运行。
-u
: 卸载-p <port>
: 指定端口号(默认: 8090)
curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-hub.sh -o install-hub.sh && chmod +x install-hub.sh && ./install-hub.sh
2. 手动下载和启动
下载
从 releases 下载匹配您服务器 CPU 架构的最新二进制文件,并手动运行它。您需要手动创建一个服务才能使其在重新启动后继续运行。
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel
启动中心
./beszel serve --http "0.0.0.0:8090"
更新中心
./beszel update
创建服务(可选)
如果您的系统使用 systemd,则可以创建一个服务来使中心在重新启动后继续运行。
在 /etc/systemd/system/beszel.service
中创建一个服务文件。如果用户对工作目录具有写入权限,则可以使用非 root 用户。
[Unit]
Description=Beszel Hub
After=network.target[Service]
Type=simple
Restart=always
RestartSec=3
User=root
WorkingDirectory={/path/to/working/directory}
ExecStart={/path/to/working/directory}/beszel serve --http "0.0.0.0:8090"[Install]
WantedBy=multi-user.target
启用并启动服务。
sudo systemctl daemon-reload
sudo systemctl enable beszel.service
sudo systemctl start beszel.service