项目地址:Beszel,A lightweight server resource monitoring hub with historical data, docker stats, and alerts.
Beszel架构
Beszel 的架构是一个基于客户端-服务器模型的监控平台,由Hub(中心服务器)和Agent(代理)组成。
Hub(中心服务器)
- 功能:Hub 作为 Beszel 的中心服务器,用于聚合和展示监控数据。它接收从多个系统发来的数据,并在界面上显示服务器资源使用情况,如 CPU、内存、磁盘 I/O 等历史数据。
Agent(代理)
- 功能:Agent 是安装在被监控系统上的轻量级程序。它负责收集服务器的资源使用情况,并将数据发送给 Hub。Agent 还支持监控 Docker 容器,跟踪容器的 CPU、内存、网络使用情况。
Beszel特点
- 轻量级:比主流解决方案更小,且占用资源更少。
- 简单:设置简便,无需暴露在公共互联网中。
- Docker 统计:跟踪每个容器的 CPU、内存和网络使用历史。
- 告警:可配置的告警功能,针对 CPU、内存、磁盘使用率及系统状态。
- 多用户:每个用户管理自己的系统,管理员可以共享系统给其他用户。
- OAuth / OIDC:支持多种 OAuth2 提供商,可以禁用密码认证。
- 自动备份:可将数据保存到磁盘或兼容 S3 的存储,并支持恢复。
- REST API:可以在你的脚本和应用中使用或更新数据。
部署教程
1.服务端
创建docker-compose.yaml
内容如下:
services: beszel: image: 'henrygd/beszel' container_name: 'beszel' restart: unless-stopped ports: - '8090:8090' volumes: - ./beszel_data:/beszel_data
然后使用docker-compose up -d
启动,启动成功后通过http://IP:8090
访问WEB页面,设置管理员邮箱和密码
2.客户端
在Beszel后台 – 点击右上角 Add System
填写服务器IP/端口等信息,先点击 Copy docker compose 按钮
会自动生成docker-compose.yaml
内容,如下格式:
services: beszel-agent: image: "henrygd/beszel-agent" container_name: "beszel-agent" restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # monitor other disks / partitions by mounting a folder in /extra-filesystems # - /mnt/disk1/.beszel:/extra-filesystems/disk1:ro environment: PORT: 45876 KEY: "ssh-ed25519 xxx" # FILESYSTEM: /dev/sda1 # override the root partition / device for disk I/O stats
注意:请修改KEY
!
在客户机端新建docker-compose.yaml
,填入以上代码保存,输入命令docker-compose up -d
即可启动Beszel Agent
注意:请放行相应端口!
操作完毕后在服务端的Beszel页面,点击Add System按钮
稍等片刻就可以在页面看到监控数据了
相关说明
由于Beszel没有中文界面,其他功能比如告警,邮件推送,请自行谷歌翻译解决。
发布者:木木,转载请注明出处:https://blog.mmcool.site/5750.html