轻量级服务器资源监控平台Beszel

在这里插入图片描述

什么是 Beszel ?

Beszel 是一个轻量级平台,借助 Beszel,可以访问 CPU 和内存使用情况的历史数据,以及 Docker 容器指标(例如特定于容器的 CPU 和内存统计信息)。还能收到针对潜在问题的可自定义警报通知,以便采取主动措施来优化服务器性能。

软件特点:

  • 轻量级:比领先的解决方案小得多,要求也低得多。
  • Docker 统计:每个容器的 CPU 和内存使用历史记录。
  • 警报:可配置 CPU、内存和磁盘使用情况以及系统状态的警报。
  • 多用户:每个用户都有自己的系统。管理员可以跨用户共享系统。
  • 简单:易于设置,不需要任何内容​​在线公开。
  • OAuth / OIDC:支持许多 OAuth2 提供商。可以禁用密码验证。
  • 自动备份:将数据保存到磁盘或 S3 兼容存储并从磁盘或 S3 兼容存储中恢复数据。
  • REST API:在您自己的脚本和应用程序中使用您的指标。

安装

在群晖上以 Docker 方式安装。

Beszel 分为 HubAgent 两部分,Agent 负责数据采集,Hub 端汇聚并展示数据

  • Hub 端的镜像为 henrygd/beszel
  • Agent 端的镜像为 henrygd/beszel-agent

本文折腾时,latest 版本均为 0.1.1

为了省事,老苏把 HubAgent 合并到了一个 docker-compose.yml 中,但是实际上执行是分开的

需要先运行 Hub ,生成一个 Public Key 之后,再运行 Agent

version: '3'

services:
  beszel:
    image: 'henrygd/beszel'
    container_name: 'beszel'
    restart: unless-stopped
    ports:
      - '8092:8090'
    volumes:
      - ./beszel:/beszel_data

  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
    environment:
      PORT: 45876
      KEY: <YOUR_PUBLIC_KEY>
      FILESYSTEM: /dev/md2 # set to the correct filesystem for disk I/O stats

agent 使用 host 网络模式,因此它可以访问网络接口统计信息。这会自动公开端口,因此如果需要,可以使用环境变量更改端口。

用于磁盘 I/O 统计的文件系统/分区在FILESYSTEM环境变量中指定。可以通过下面的方式来获取,其中群晖上支持 13

  • 运行 df -h 并在 Filesystem 下选择一个选项;
  • 运行 lsblk 并在 NAME下选择一个选项;
  • 运行sudo fdisk -l 并在 Device 下选择一个选项;

任何一种都是可以的,关键就是找到你要监视的硬盘,对老苏而言,就是那个最大的硬盘 /dev/md2

更多环境变量,请参考官方文档:https://github.com/henrygd/beszel#environment-variables

然后执行下面的命令

# 新建文件夹 beszel 和 子目录
mkdir -p /volume1/docker/beszel/data

# 进入 beszel 目录
cd /volume1/docker/beszel

# 将 docker-compose.yml 放入当前目录

# 一键启动 hub
docker-compose up -d beszel

注意,这里只启动了 Hub

运行

在浏览器中输入 http://群晖IP:8092 就能看到注册界面

密码不能少于 10 个字符;

登录后的主界面

Add System 添加 agent,第一个 agent 是本机

  • Name :主机名称;
  • Host/IP:主机的 IP 地址;
  • Port:主机端口,如果你要修改,对应的 agent 的环境变量 PORT 也要对应做修改;
  • Public Key:点后面的复制按钮,替换掉环境变量中的 <YOUR_PUBLIC_KEY>

注意:如果没有使用 https 协议,复制是无用的,需要在弹出框里再复制

Add system 保存后,暂时什么都没有

将获取到的 Public Key 替换掉 <YOUR_PUBLIC_KEY> ,现在你的 docker-compose.yml 是这样的

接下来启动 agent

# 一键启动 agent
docker-compose up -d beszel-agent

agent 启动成功后

就会有数据了

如果有多台机器需要监控,只要再运行一次。被监控的主机只安装 agent 即可

下面👇是老苏在另一台机器上的 docker-compose.yml 文件

version: '3'

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
    environment:
      PORT: 45876
      KEY: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICFYiBMMsEUVgNA6K7JZysslYqXrX7JVvH9WETHks41+
      FILESYSTEM: /dev/md3 # set to the correct filesystem for disk I/O stats

运行👇的命令

# 一键启动
docker-compose up -d

agent 启动成功后,就能看到数据了

点铃铛图标,可以设置报警

因为时间短,所以数据不多。意思到了就行了

参考文档

henrygd/beszel: A lightweight server monitoring hub with historical data, docker stats, and alerts.
地址:https://github.com/henrygd/beszel

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值