Beszel丨一个轻量级的服务器监控平台

beszel

Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问。

功能

  • 轻量级: 比主要解决方案更小,资源占用更少。
  • 简单: 易于设置,无需公网暴露。
  • Docker 统计: 跟踪每个容器的 CPU、内存和网络使用历史。
  • 警报: 可配置 CPU、内存、磁盘、带宽、温度和状态的警报。
  • 多用户: 用户管理自己的系统。管理员可以在用户之间共享系统。
  • OAuth / OIDC: 支持多种 OAuth2 提供程序。可以禁用密码验证。
  • 自动备份: 从磁盘或 S3 兼容的存储保存和恢复数据。
  • REST API: 在您自己的脚本和应用程序中使用或更新您的数据。

架构

  • Hub: 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
  • Agent: 在您要监控的每个系统上运行,创建一个最小的 SSH 服务器以将系统指标传递到中心。

部署

Beszel 部署可以分为 Hub 的部署和 Agent 的部署,官方提供二进制文件、脚本、容器等方案供选择。本教程采用二进制文件部署方案。

Hub 部署

下载与自己平台架构相符的二进制文件

cd /opt
mkdir beszel_linux
wget https://github.com/henrygd/beszel/releases/download/v0.9.1/beszel_linux_amd64.tar.gz
gunzip beszel_linux_amd64.tar.gz
tar xvf beszel_linux_amd64.tar

创建 systemd 服务

vim /etc/systemd/system/beszel.service

[Unit]
Description=Beszel Hub
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=3
User=root
WorkingDirectory=/opt/beszel_linux
ExecStart=/opt/beszel_linux/beszel serve --http "0.0.0.0:8090"
[Install]
WantedBy=multi-user.target

启动服务

systemctl daemon-reload
systemctl start beszel.service
systemctl enable beszel.service
skyline :: /opt/coder » systemctl status beszel.service
● beszel.service - Beszel Hub
     Loaded: loaded (/etc/systemd/system/beszel.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-01-19 19:37:18 CST; 2h 10min ago
   Main PID: 3522 (beszel)
      Tasks: 10 (limit: 9430)
     Memory: 24.5M
        CPU: 4.113s
     CGroup: /system.slice/beszel.service
             └─3522 /opt/beszel_linux/beszel serve --http 0.0.0.0:8090
Jan 19 19:37:18 skyline systemd[1]: Started beszel.service - Beszel Hub.
Jan 19 19:37:18 skyline beszel[3522]: 2025/01/19 19:37:18 Server started at http://0.0.0.0:8090
Jan 19 19:37:18 skyline beszel[3522]: ├─ REST API:  http://0.0.0.0:8090/api/
Jan 19 19:37:18 skyline beszel[3522]: └─ Dashboard: http://0.0.0.0:8090/_/

Agent 部署

访问 http://127.0.0.1:8090/ 注册账户并登录。

  1. 点击 Add System
  2. DockerBinary 二选一
  3. 拷贝对应的安装指令,下面选择的是 Binary 安装指令
  4. Name Host/IP 填写自己机器的信息

在需要监控的服务器上执行安装 Agent 指令

curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh && chmod +x install-agent.sh && ./install-agent.sh -p 45876 -k "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILL1qN+Q2Aw8gLrV//7uVxyOz0nzruCyfGarTfjt7PRA" --china-mirrors

参考链接

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注