Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。如果你有多个主机需要监控,Beszel 是一个适合的解决方案。
Beszel 【入门篇】#
Beszel 由两个主要组件组成:中心 (hub) 和 代理 (agent)。本文从 部署 、主动模式 、被动模式 、 告警配置 方向介绍如何使用 Beszel 监控系统。
- 中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
- 代理 (agent): 在您要监控的每个系统上运行,并将系统指标传递给中心。(支持
主动、被动模式)!
部署文档#
一、中心服务#
中心服务理解为 服务端 ,服务端采集系统指标,支持 主动 、 被动 两种方式。
services:
beszel:
image: henrygd/beszel:0.15.2
container_name: beszel
restart: unless-stopped
# ports:
# - 8090:8090
volumes:
- /etc/localtime:/etc/localtime
- ./beszel/beszel_data:/beszel_data
- ./beszel/beszel_socket:/beszel_socket
environment:
TZ: Asia/Shanghai
networks:
# dhcp 自动分配
- service
# 资源限制优化:
deploy:
resources:
limits:
memory: 256m
cpus: "0.50"
networks:
service:
external: true
二、代理服务#
代理支持 容器、二进制模式,根据需求选择即可。
一、中心服务 主动 模式#
主动模式,服务端 主动 访问监控主机(客户端),采集数据。主动模式适合 客户端有公网IP的场景,服务器可以直接访问客户端IP:Port。

添加客户端
输入名称、IP
添加客户端
二、中心服务 被动模式#
被动模式,客户端向服务端发送数据,服务器被动接收。被动模式适合局域网 公网出口动态模式,没有固定公网IP的网络状态;客户端隐藏在NAT网络后面

打开设置
选择
指纹与令牌开启
通用令牌按照部署模式复制安装命令
告警配置#
部署完成后,我们应该思考: 我们为什么需要需要监控系统?只是把所有客户端指标数据采集汇总起来展示?还是应该更近一步,指标处于不正常范围时,进行信息通知,运维团队及时快速处理。
beszel 提供 邮件 、webhook 告警方式,本文介绍如何使用 飞书 接收告警信息。
- 飞书创建机器人,复制 Webhook 地址 最后一段 ID
https://open.feishu.cn/open-apis/bot/v2/hook/409963d1-7927-4259-a152-d8590sds8f3a
- 打开 beszel 设置,选择 通知 ;拼接 webhook
lark://open.feishu.cn/409963d1-7927-4259-a152-d8590sds8f3a
点击测试,如果成功,则告警通知配置成功!
打开 beszel 主页,点击 告警 图标,进入告警配置页面;根据自身需求配置告警指标阈值

反向代理【可选】#
使用反向代理服务,如 Traefik、Nginx、Caddy、APISIX 等。实现域名访问。
Traefik#
labels:
# Traefik 服务发现和路由配置
# 启用 Traefik 对此服务进行发现
- "traefik.enable=true"
# 指定 Traefik 应该监听哪个网络来发现此服务
- "traefik.docker.network=service"
# Router (路由器) 配置
# 定义路由规则:匹配域名 beszel.artoio.com
- "traefik.http.routers.beszel.rule=Host(`monitor.artoio.com`)"
# 指定此路由只监听 'websecure' 入口点(通常是 443 端口)
- "traefik.http.routers.beszel.entrypoints=websecure"
# 为此路由启用 TLS (HTTPS)
- "traefik.http.routers.beszel.tls=true"
# 使用名为 'letsencrypt' 的证书解析器(需要在 Traefik 配置中定义)
- "traefik.http.routers.beszel.tls.certresolver=letsencrypt"
# Service (服务) 配置
# 指定此路由要转发到哪个 Traefik 服务(与下面的服务名一致)
- "traefik.http.routers.beszel.service=beszel"
# beszel 容器内部监听的端口
- "traefik.http.services.beszel.loadbalancer.server.port=8090"
结语#
beszel 监控工具适用于个人用户、中小企业,尤其适合运维团队、系统管理员及技术支持人员使用。其部署简单,支持快速安装与配置,兼容多种环境。界面直观,提供实时数据展示、多维度图表分析及关键指标概览。支持邮件、webhook等告警方式,可以集成国内 企业微信 、 飞书 、 钉钉 等工具,确保异常及时响应,助力高效运维管理。
参考:



