侧边栏壁纸
博主头像
飞梭的博客 博主等级

行动起来,活在当下

  • 累计撰写 31 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

几分钟部署一个目前最流行的探针!Beszel,让你的小鸡重新发光发热

FlyShadow
2024-12-12 / 0 评论 / 0 点赞 / 96 阅读 / 0 字

前言

作为一名服务器运维人员,之前我一直在使用哪吒探针进行服务器监控。虽然哪吒探针功能丰富,但对我来说有些过于笨重,且 agent 端需要 root 权限也让人担忧。最近我发现了一款轻量级的监控工具 Beszel,今天就来分享下使用体验。.

Beszel 简介

Beszel 是一个轻量级的服务器监控工具,主要功能包括:

  • CPU/内存/磁盘IO监控

  • Docker 容器资源占用监控

  • 网络流量监控

  • 历史数据记录

  • 告警功能

项目地址: https://github.com/henrygd/beszel

项目没有中文文档,目前和国内其余探针比起来缺点也有一些,更不用说和哪吒相比了.不过哪吒新版本难用而且安装麻烦并且传出了有漏洞的说法.不过优点也是有的,占用小而且好看!

下面贴几个beszel的界面图片:

1.1 优点

  1. 轻量级:比领先的解决方案更小且资源密集程度更低。

  2. 中文:新版本已经支持中文!

  3. Docker 统计:跟踪每个容器的 CPU、内存和网络使用历史记录。

  4. 警报:可配置 CPU、内存、磁盘、带宽、温度和系统状态的警报。

  5. 多用户:每个用户管理自己的系统。管理员可以跨用户共享系统。

  6. OAuth / OIDC:支持多个 OAuth2 提供商。可以禁用密码验证。

  7. 自动备份:从磁盘或 S3 兼容存储保存和恢复数据

  8. Docker安装:目前主控可以docker安装,被控原本是docker安装,现在是docker和二进制都可以选择

  9. 支持arm

  10. 国外人做的,其实我一直觉得一个开源项目是国外做的话,那这个项目会有更长的更新周期和更少的B事.

安全!

主控和代理通过 SSH 进行通信,因此它们不需要暴露在互联网上。即使您在集线器前面放置外部身份验证网关(例如 Authelia),它也不会中断或破坏集线器和代理之间的连接。当集线器首次启动时,它会生成一个ED25519密钥对。代理的 SSH 服务器配置为仅接受使用此密钥的连接。它不提供伪终端或接受输入,因此即使您的私钥被泄露,也无法在代理上执行命令。

当然,ssh通信也是有点小缺点的.需要在被控服务器上开通通信端口,这点和哪吒等不需要开通端口的不同.如果你使用了防火墙,那么会导致无法通信,需要在防火墙放行端口.

1.2 缺点

  1. 被控无法修改,当你在主控界面天街被控以后,无法修改.可能是由于ssh密钥通信的原因.但是连被控的名字都无法修改就有点过分了.

  2. IPV6支持不好,目前github里面有不少人提了这个问题.作者说会在下个版本修复这个问题.

  3. 多磁盘支持不好,目前作者介绍的比较少,可以通过手动办法解决:https://github.com/henrygd/beszel?tab=readme-ov-file#monitoring-additional-disks-partitions-or-remote-mounts

  4. 自定义功能少,目前来说在设置页里面无法修改皮肤/站点名字/图标等,有需要的可以进程序自己修改,不过后续升级就会改回来的.

  5. 不支持游客访问,可以设置一个只读的账号.

  6. 少了个流量总共使用了多少监控功能

当然,由于这些缺点也导致了beszel有着超高的易用性,反正就是安装和使用都很简单的意思.

2安装

2.1 主控安装

主控还是建议docker安装,不管是管理还是删除都方便,被控就不建议用docker了,很多小机再额外安装一个docker很麻烦.

部署Beszel Hub(也就是主控/后端)

2.1.1 SSH界面手动安装

通过Docker Compose部署,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.1.2 docker界面安装

这里用带有docker面板的宝塔面板演示,群晖等面板也是一样的流程.如果是宝塔用户,那么就在宝塔侧边栏的Docker里面,找到线上镜像,然后搜索beszel,将第一个henrygd/beszel的镜像下载到本地.

然后找到容器,然后选择创建容器,容器名称随便写,镜像选择刚下载好的镜像,端口将容器的8090暴露出来,本地端口随便写,不起冲突就可以,但是你要记得你输入的这个端口.

2.1.3 docker-compose面板安装

在宝塔侧边栏的Docker里面,找到容器,然后选择创建容器-容器编排-创建,名字随便起一个,然后讲上述docker-compose.yaml内容填写到里面.演示看下图:

然后会自动回到容器编排界面,模板选择刚刚创建的模板,用户名随便起一个,建议叫做beszel方便区分,然后创建容器即可.记得放行8090端口

2.2 使用

接下来使用你服务器的IP后面加英文冒号:然后加上你刚刚设置的端口,如果和我设置的一样那就是IP:8090

设置一个用户名/邮箱/密码.然后进入面板

如果不是中文,那么点击右上角的齿轮图标设置,在Language那里找到中文设置就好.

2.3 添加被控

在主界面的右上角找到添加客户端,这里我建议使用二进制安装,而不是docker.如果让你的小鸡再额外安装一个docker管理器就有点麻烦了,对于有docker环境的小机可以使用docker安装

然后填写被控的名称和IP,端口可以自己设置,建议使用默认的端口.然后记得去你的小鸡防火墙那里放开端口,最后点击复制linux命令按钮,去你的小鸡ssh上面安装即可,记得小鸡安装的时候需要你输入一下y确认安装.

然后就可以在你的主控里面看到你的被控了.使用就是这么简单.

总结

Beszel 作为一款轻量级监控工具,虽然功能不及哪吒探针丰富,但胜在轻量安全,非常适合个人或小规模服务器监控使用。


以上就是我对 Beszel 的使用体验分享,希望对大家有帮助。欢迎在评论区交流讨论!

0

评论区