Bootstrap

一个开源轻量级的服务器资源监控平台,支持告警推送

大家好,今天给大家分享一款开源的轻量级服务器资源监控工具Beszel,提供历史数据记录、Docker容器统计信息监控以及多种警报功能,用于监控服务器资源。

项目介绍

Beszel由hub(中心服务器端应用,基于PocketBase构建,提供管理仪表板)和agent(运行在被监控系统上,通过创建最小化SSH服务器与hub通信并传递系统指标)两部分组成。

Beszel提供了丰富的监控功能和警报机制,支持多用户和Docker环境,并易于设置和部署。无论是对于小型团队还是大型企业来说,Beszel都是一个值得推荐的服务器监控解决方案。

核心特点

轻量级:Beszel的体积相对较小,对系统资源的要求也较低,这使得它能够在各种环境中轻松部署和运行。

Docker支持:Beszel能够监控Docker容器的状态,包括CPU和内存使用历史记录等,这对于使用Docker进行容器化部署的用户来说非常有用。

警报功能:Beszel允许用户配置CPU、内存、磁盘使用情况以及系统状态的警报,当这些指标达到预设的阈值时,Beszel会发送警报通知,帮助用户及时发现问题并采取措施。

多用户支持:Beszel支持多用户系统,每个用户都有自己的系统视图,管理员可以在用户之间共享系统,提高了系统的灵活性和可扩展性。

易于设置:Beszel的设置过程相对简单,用户不需要具备复杂的技术背景就能快速上手。

OAuth/OIDC支持:Beszel支持许多OAuth2提供商,可以禁用密码身份验证,提高了系统的安全性。

自动备份:Beszel能够将数据保存到磁盘或S3兼容存储中,并支持从备份中恢复数据,确保了数据的可靠性和完整性。

REST API:Beszel提供了一个完整的内置API工具,用户可以在自己的脚本和应用程序中使用这些API来获取和使用监控数据。

技术架构

Beszel分为HubAgent两部分:

Hub:Hub是Beszel的服务器端组件,负责数据的汇聚、展示和管理。用户可以通过Web浏览器访问Hub的仪表板来查看和管理连接的系统。

Agent:Agent是Beszel的客户端组件,负责数据的采集和传输。Agent需要安装在被监控的系统上,通过创建一个最小的SSH服务器将系统指标传达给Hub。

安装使用

安装

1.脚本安装

Hub安装

下载安装:

curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel && ls beszel

运行程序:

./beszel serve http "0.0.0.0:8090"

程序运行后会在当前目录生成beszel_data/id_ed25519.pub ssh公钥,该公钥用于启动Agent服务。

Agent安装

下载安装:

curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel-agent | tee ./beszel-agent >/dev/null && chmod +x beszel-agent && ls beszel-agent

运行程序:

PORT=45876 KEY="{SSH公钥}" ./beszel-agent
2.Docker安装

Hub安装

通过Docker Compose部署Beszel Hub,详细的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启动。

Agent安装

需要在Beszel后台 - 点击右上角添加系统,然后复制 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"

注意:KEY请改成自己的。

将上面的内容保存为docker-compose.yaml,并输入命令docker-compose up -d即可启动Beszel Agent。

使用

Hub启动成功后通过http://IP:8090访问WEB页面,需设置一个管理员邮箱和密码。

添加安装好的Agent系统

查看系统状态

系统告警设置

项目地址

https://github.com/henrygd/beszel

一个开源轻量级的服务器资源监控平台,支持告警推送 - BTool博客 - 在线工具软件,为开发者提供方便 

;