轻量级服务器监控新选择:Beszel——比Grafana更简单的监控方案

给服务器装监控,比被监控本身还复杂?

Prometheus + Grafana + Node Exporter + cAdvisor + Alertmanager------少说五六个组件,每个都要配、都要学。半小时能跑起来算你厉害,还要学 PromQL、画仪表盘。折腾完一看,内存先被监控吃了 500MB。

如果你只是想看一眼 CPU、内存、Docker 容器状态,真没必要这么隆重。

beszel:开源、轻量、开箱即用的服务器监控面板,5 分钟部署,10MB 内存,开箱即用。

Beszel 核心特性

  • 极致轻量:Agent 内存 <10MB,CPU 几乎零占用
  • Docker 自动发现:无需额外配置,容器状态开箱即看
  • 仪表盘开箱即用:不学 PromQL,不画图
  • 告警与多用户支持:阈值告警、邮件/Webhook 推送

架构:Hub + Agent

  • Hub(服务端) :提供 Web 面板,负责数据展示与存储(端口 8090
  • Agent(客户端) :每台被监控设备部署一个,采集系统/容器指标并上报(端口 45876

实战:5 分钟部署 Beszel

1. 部署 Hub(服务端)

创建 docker-compose.yml

yml 复制代码
services:
  beszel:
    image: henrygd/beszel:latest
    container_name: beszel
    restart: unless-stopped
    ports:
      - "8090:8090"
    volumes:
      - beszel-data:/beszel_data
volumes:
  beszel-data:
    name: beszel-data

启动:

bash 复制代码
docker compose up -d

浏览器访问 http://你的服务器IP:8090,创建管理员账号和密码完成初始化。

2. 部署 Agent(被监控端)

登录 Hub 面板,点击右上角 "Add System",填写新设备的主机名和内网 IP。

点击 "Copy docker compose" 复制生成的 Agent 配置。

登录被监控服务器,创建目录并粘贴 docker-compose.yml,然后启动:

bash 复制代码
docker compose up -d

Agent 配置的关键点:

复制代码
services:
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host          # 必须,否则无法采集网络指标
    environment:
      - KEY=ssh-ed25519 xxx     # Hub 自动生成的公钥
      - PORT=45876
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro   # 采集容器数据
      - ./beszel_agent_data:/var/lib/beszel-agent

回到 Hub 面板,点击 "Add system" 完成添加。设备状态变绿后,监控数据开始出现。

3. 查看监控面板

刷新 Hub 面板 http://你的服务器IP:8090,所有设备的概览卡片------CPU、内存、磁盘使用率一目了然。点击任意设备进入详情页,查看完整指标图表和所有 Docker 容器的实时状态。

注意事项

  • Agent 必须用 network_mode: host,否则网络数据会缺失
  • 需要监控 Docker 容器,务必挂载 /var/run/docker.sock
  • Hub 数据存储在 beszel-data 命名卷中,建议定期备份
  • 升级:docker compose pull && docker compose up -d

写在最后

工具没有绝对好坏,只有合不合适。

  • Grafana/Prometheus:适合需要深度定制、大规模部署的专业场景
  • Beszel:开箱即用的轻量级监控,专注于系统资源监控,把最常用的功能做到极致

如果你符合下面任意一条,Beszel 比 Grafana 更适合你:

  • Homelab 有多台设备要监控
  • 不想花半小时以上部署配置监控系统
  • 服务器资源有限,经不起 500MB 内存消耗
  • 只需要系统级指标和 Docker 容器状态

一台面板看遍所有设备,5 分钟部署完成,10MB 内存搞定监控------这就是 Beszel。

你还在为复杂的监控配置头疼吗?欢迎在评论区分享你的监控踩坑经历------用过什么方案?觉得 Beszel 怎么样?一起来聊聊。