当前位置: 首页 > news >正文

Beszel​​ 轻量级服务器监控平台的详细安装步骤

什么是 Beszel

Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。

它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问

https://beszel.dev/zh/guide/what-is-beszel#什么是-beszel

功能

  • 轻量级: 比主要解决方案更小,资源占用更少。
  • 简单: 易于设置,无需公网暴露。
  • Docker 统计: 跟踪每个容器的 CPU、内存和网络使用历史。
  • 警报: 可配置 CPU、内存、磁盘、带宽、温度和状态的警报。
  • 多用户: 用户管理自己的系统。管理员可以在用户之间共享系统。
  • OAuth / OIDC: 支持多种 OAuth2 提供程序。可以禁用密码验证。
  • 自动备份: 从磁盘或 S3 兼容的存储保存和恢复数据。
  • REST API: 在您自己的脚本和应用程序中使用或更新您的数据。

架构

Beszel 由两个主要组件组成:中心 (hub)代理 (agent)

  • 中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
  • 代理 (agent): 在您要监控的每个系统上运行,创建一个最小的 SSH 服务器以将系统指标传递到中心。

屏幕截图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

支持的指标

  • CPU 使用率 - 主机系统和 Docker / Podman 容器。
  • 内存使用率 - 主机系统和容器。包括交换分区和 ZFS ARC。
  • 磁盘使用率 - 主机系统。支持多个分区和设备。
  • 磁盘 I/O - 主机系统。支持多个分区和设备。
  • 网络使用率 - 主机系统和容器。
  • 温度 - 主机系统传感器。
  • GPU 使用率 / 温度 / 功耗 - 仅限 Nvidia 和 AMD。必须使用二进制代理。

Hub 安装

Beszel 支持通过 Docker/ Podman 或单个二进制文件进行安装。

docker下载镜像

docker pull henrygd/beszel

安装

Beszel 支持通过 Docker/ Podman 或单个二进制文件进行安装。

docker安装

mkdir -p ./beszel_data && \
docker run -d \--name beszel \--restart=unless-stopped \-v ./beszel_data:/beszel_data \-p 8090:8090 \henrygd/beszel

docker-compose安装

docker-compose.yml

services:beszel:image: henrygd/beszel:latestcontainer_name: beszelrestart: unless-stoppedports:- 8090:8090volumes:- ./beszel_data:/beszel_data- ./beszel_socket:/beszel_socketbeszel-agent:image: henrygd/beszel-agent:latestcontainer_name: beszel-agentrestart: unless-stoppednetwork_mode: hostvolumes:- ./beszel_socket:/beszel_socket- /var/run/docker.sock:/var/run/docker.sock:roenvironment:LISTEN: /beszel_socket/beszel.sock# 请勿删除密钥周围的引号KEY: '使用"添加系统"对话框复制的公钥进行更新'

如果您更喜欢以不同的方式设置容器,请随意

1.如果尚未安装,请安装 Docker 和 Docker Compose.2.复制 docker-compose.yml 内容3.创建一个目录用于存储 docker-compose.yml 文件mkdir beszel
cd beszel4.创建一个 docker-compose.yml 文件,粘贴内容并保存vim docker-compose.yml5.启动服务docker compose up -d

二进制文件安装

1. 快速脚本

此命令下载并运行我们的 install-hub.sh 脚本。该脚本将安装最新二进制文件并创建 systemd 服务,使其在重新启动后继续运行。

  • -u : 卸载
  • -p <port> : 指定端口号(默认: 8090)
curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-hub.sh -o install-hub.sh && chmod +x install-hub.sh && ./install-hub.sh

2. 手动下载和启动

下载

从 releases 下载匹配您服务器 CPU 架构的最新二进制文件,并手动运行它。您需要手动创建一个服务才能使其在重新启动后继续运行。

curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel
启动中心
./beszel serve --http "0.0.0.0:8090"
更新中心
./beszel update
创建服务(可选)

如果您的系统使用 systemd,则可以创建一个服务来使中心在重新启动后继续运行。

/etc/systemd/system/beszel.service 中创建一个服务文件。如果用户对工作目录具有写入权限,则可以使用非 root 用户。

[Unit]
Description=Beszel Hub
After=network.target[Service]
Type=simple
Restart=always
RestartSec=3
User=root
WorkingDirectory={/path/to/working/directory}
ExecStart={/path/to/working/directory}/beszel serve --http "0.0.0.0:8090"[Install]
WantedBy=multi-user.target

启用并启动服务。

sudo systemctl daemon-reload
sudo systemctl enable beszel.service
sudo systemctl start beszel.service

相关文章:

  • 软考复习——综合布线
  • 用键盘实现控制小球上下移动——java的事件控制
  • C语言自增自减题目
  • 【英语语法】词法---副词
  • 【Oracle专栏】函数中SQL拼接参数 报错处理
  • unordered_map、unordered_set详解
  • 学习笔记二十——Rust trait
  • RabbitMQ,添加用户时,出现Erlang cookie不一致,导致添加用户失败的问题解决
  • 防抖与节流的理解与应用
  • 代码随想录算法训练营第三十五天|416. 分割等和子集、698.划分为k个相等的子集、473.火柴拼正方形
  • Docker 安装配置教程(配置国内源)
  • 中间件--ClickHouse-14--案例-3-其他案例思路概述
  • JavaScript 一维数组转二维数组
  • Python实现对大批量Word文档进行批量自动化排版(15)
  • 快速下载Node.js
  • 面向对象程序设计(双语)|| 实验八:字符流(Java版)
  • Vue.js 简介
  • Cribl 对Windows-xml log 进行 -flatten-03
  • 【智驾中的大模型 -3】VLA 在自动驾驶中的应用
  • MFC文件-写MP4
  • 广西气象干旱面积97.5%,影响人畜饮水、农业生产
  • 从南宋遗韵到海派风情,解码江南服饰美学基因
  • “我们一直都是面向全世界做生意”,“世界超市”义乌一线走访见闻
  • 日本乒乓名将丹羽孝希因赌博被禁赛6个月,曾获奥运男团银牌
  • 经济日报:“关税讹诈”拦不住中国制造升级
  • 日本长野一夜连震47次,当局呼吁警惕更大地震