轻量级服务器监 Beszel

核心功能解析:从数据采集到智能预警

1. 多维度资源监控

基础指标:实时统计 CPU、内存、磁盘 I/O、网络带宽及温度数据。

Docker 容器细化:展示每个容器的资源消耗趋势,帮助优化容器配置。

历史数据分析:长期记录设备运行状态,便于回溯性能瓶颈。
2. 告警与通知

用户可自定义阈值(如 CPU 使用率超过 90%),触发告警后通过邮件或 Webhook 推送通知,确保问题及时处理。部分用户通过集成第三方服务(如钉钉、Slack),进一步扩展了告警渠道。

3. 安全与权限管理

OAuth2/OIDC 支持:兼容 Google、GitHub 等身份提供商,增强登录安全性。

多用户隔离:不同用户拥有独立视图,管理员可灵活分配权限。
4. 数据持久化与备份

支持本地存储或 S3 兼容云存储,自动备份监控数据,避免数据丢失。

技术架构:服务端与客户端的协同

Beszel 采用 Hub-Agent 分离式架构,兼顾灵活性与扩展性:

Hub(服务端):基于 PocketBase 构建,提供 Web 仪表盘,负责数据汇总与展示。用户通过浏览器访问 IP:8090 即可查看监控面板。

Agent(客户端):部署于被监控设备,通过轻量级 SSH 服务器采集系统指标并传输至 Hub。Agent 需访问 Docker 守护进程(/var/run/docker.sock)以获取容器数据。

安装部署

二进制安装

csharp 复制代码
#beszel安装
# 下载并运行Beszel服务端 https://github.com/henrygd/beszel/releases
wget https://github.com/henrygd/beszel/releases/download/v0.17.0/beszel_linux_amd64.tar.gz
tar zxf beszel_linux_amd64.tar.gz
nohup ./beszel serve --http 172.166.46.1:8090 &

#为了让Beszel开机自启,我们可以创建systemd服务文件:
# /etc/systemd/system/beszel.service
[Unit]
Description=Beszel Monitoring Server
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/data/beszel
ExecStart=/data/beszel/beszel serve --http 172.166.46.1:8090
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

登陆页面、创建用户,并创建KEY

csharp 复制代码
# 复制安装beszel-agent的命令后,直接到mysql服务器执行 #

或者使用二进制安装beszel-agent

csharp 复制代码
# 在被监控服务器上下载Agent
wget https://github.com/henrygd/beszel/releases/download/v0.17.0/beszel-agent_linux_amd64.tar.gz

tar zxf beszel-agent_linux_amd64.tar.gz
# 启动Agent
./beszel-agent --server http://your-beszel-server:8090 --key your-api-key

#这个key之还是需要在beszel页面上获取

docker安装

beszel安装

csharp 复制代码
services:
  beszel:
    image: 'henrygd/beszel'
    ports:
      - '8090:8090'
    volumes:
      - ./beszel_data:/beszel_data

登陆页面、创建用户,并查看KEY

beszel-agent安装

csharp 复制代码
services:
  beszel-agent:
    image: 'henrygd/beszel-agent'
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      PORT: 45876
      KEY: '从Hub获取的公钥'

KEY一样的需要在beszel页面上查看

监控与告警

告警值


选择你要告警的值

告警方式

配置步骤:

在"Settings > Notifications"添加通知渠道

邮件:smtp://user:pass@smtp.example.com:587

钉钉:dingtalk://access_token@webhook

企业微信:wecom://corpid@secret/agentid

csharp 复制代码
注意不同的告警方式有不同的写法
相关推荐
Lsir10110_8 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
郝学胜-神的一滴8 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
Doro再努力8 小时前
【Linux操作系统12】Git版本控制与GDB调试:从入门到实践
linux·运维·服务器·git·vim
全栈工程师修炼指南8 小时前
Nginx | stream content 阶段:UDP 协议四层反向代理浅析与实践
运维·网络·网络协议·nginx·udp
Lsir10110_8 小时前
【Linux】进程信号(上半)
linux·运维·服务器
开开心心就好9 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
火车叼位9 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
css趣多多9 小时前
add组件增删改的表单处理
java·服务器·前端
Sheep Shaun10 小时前
揭开Linux的隐藏约定:你的第一个文件描述符为什么是3?
linux·服务器·ubuntu·文件系统·缓冲区
野犬寒鸦10 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习