本文首发于只抄博客,欢迎点击原文链接了解更多内容。
前言
Beszel 是一款全新的轻量级探针,有人可能要问,那它和之前介绍过的哪吒探针和 MyNodeQuery 有什么区别呢?
首先,最明显的一个区别,它和后两者的部署方式不同,Hub 与 Agent 都是通过 Docker 的方式进行安装的,并且需要开放 Agent 的端口用于收集数据,而哪吒探针和 MyNodeQuery 只需要开放主控端的端口,这意味着 Beszel 被监控的机器需要拥有公网 IP 或者与主控端处于同一内网(当然你也可以使用组网工具)
其次,从功能上来说,Beszel 主要功能是记录机器的历史数据(包括 Docker)并且支持多用户,默认情况下可以保存 30 天的数据并生成图表。哪吒探针则是主打实时监控,可以看到当前状态下的机器占用情况,但没有存储历史数据;而 MyNodeQuery 虽然可以记录历史数据,但是监控的内容没有 Beszel 丰富且项目不开源。
目前来说,我个人使用的是哪吒 + Beszel 搭配使用,哪吒用来看实时数据和网络监控,Beszel 用来看历史数据。
部署 Hub
通过 Docker Compose 可以直接部署 Hub
services:beszel:image: 'henrygd/beszel'container_name: 'beszel'restart: unless-stoppedports:- '8090:8090'volumes:- ./beszel_data:/beszel_data
访问 http://ip:8090 后提示创建用户,由于 Beszel 支持多用户,此时创建的是管理员账户
进入到主界面后,点击右上角的 “Add System”,填写上 Name 和 IP,部署方式推荐使用 Docker,Port 和 Public Key 保持默认即可
点击 “Copy docker compose” 后再点击 “Add system” 保存,就可以看到刚刚添加的机器了
部署 Agent
通过刚才复制的 Docker Compose 后运行可以直接完成 Agent 的部署
services:beszel-agent:image: "henrygd/beszel-agent"container_name: "beszel-agent"restart: unless-stoppednetwork_mode: hostvolumes:- /var/run/docker.sock:/var/run/docker.sock:ro# monitor other disks / partitions by mounting a folder in /extra-filesystems# - /mnt/disk/.beszel:/extra-filesystems/sda1:roenvironment:PORT: 45876KEY: "ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
效果展示
Agent 部署完成后,返回到 Hub 中,可以看到前面的红点变成绿点并且数据也成功获取到了,这就代表 Agent 已经成功上线了
单机进入后还可以看到更加具体的数据,右上角也可以切换不同时间段内的统计数据