Beszel:轻量级的服务器资源监控集线器
Beszel 是一个轻量级的服务器资源监控集线器,具备历史数据、Docker 统计和警报功能。该工具分为两个主要组件:Hub(主控台)和 Agent(代理)。以下是其核心功能及安装方式的概述:
主要功能
- 轻量与简洁:比其他解决方案更轻便,不需要公开的网络访问。
- Docker 统计:监控每个容器的 CPU、内存和网络使用情况。
- 警报系统:可针对 CPU、内存、磁盘、带宽、温度和系统状态配置警报。
- 多用户支持:每个用户可以管理自己的系统,管理员可跨用户分享系统。
- OAuth/OIDC 支持:兼容多种 OAuth2 供应商,可禁用密码登录。
- 自动备份:支持将数据备份至本地或 S3 兼容的存储。
- REST API:通过 PocketBase 实现 API 支持,可在外部系统中读取或更新数据。
安装指南
使用 Docker 安装
- Hub 安装:使用
docker-compose.yml
文件运行 Hub(参考官方示例文件)。 - Agent 安装:通过 Hub 界面生成 Agent 的 Docker Compose 配置文件,并在要监控的系统上运行
docker compose up
。
使用二进制文件安装
Agent 启动(将 {PASTE_YOUR_KEY}
替换为 Hub 界面生成的密钥):
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent && PORT=45876 KEY="{PASTE_YOUR_KEY}" ./beszel-agent
Hub 启动:
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel && ./beszel serve
配置和环境变量
- Hub 配置:可以通过环境变量
CSP
设置内容安全策略,DISABLE_PASSWORD_AUTH
可禁用密码登录。 - Agent 配置:支持 Docker 主机的覆盖、文件系统和网卡白名单监控、日志级别等配置。
常见问题
- Agent 连接失败:确保防火墙允许指定端口的 TCP 连接,或者使用 Cloudflare Tunnel、WireGuard 或 Tailscale 绕过防火墙。
- Docker 容器统计数据缺失:可能需要启用 Docker 的 cgroup 内存统计功能,可参考 相关指南。
Beszel 提供多种自定义选项和功能,适用于需要监控多台设备并且关注资源效率的用户,尤其是在不希望暴露网络访问的情况下。