⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 极客之家 「丛林」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

简介

在当今的互联网环境中,服务器的稳定性和性能监控是每个运维团队的核心任务之一。无论是小型团队还是大型企业,都需要一个高效、易用的工具来实时监控服务器资源,并在异常发生时及时告警。

今天,我要向大家推荐一个开源的轻量级服务器监控工具——Beszel,它以其简洁的设计和强大的功能,成为了许多开发者和运维人员的首选。

核心特点

1. 轻量级设计

Beszel 的设计理念是“小而美”。它的体积小、资源占用低,能够在各种环境中轻松部署和运行。无论是单台服务器还是大规模集群,Beszel 都能以最低的资源开销提供高效的监控服务。

2. 全面的 Docker 支持

对于使用 Docker 进行容器化部署的用户来说,Beszel 是一个不可多得的工具。它能够监控每个容器的 CPU、内存和网络使用情况,并记录历史数据,帮助用户更好地了解容器的性能表现。

3. 强大的告警功能

Beszel 支持配置多种告警规则,包括 CPU、内存、磁盘使用率以及系统状态等。当这些指标达到预设的阈值时,Beszel 会通过邮件或其他方式发送告警通知,帮助用户及时发现问题并采取措施。

4. 多用户与 OAuth 支持

Beszel 支持多用户系统,每个用户都可以管理自己的监控视图。管理员还可以在用户之间共享系统,提高了系统的灵活性和可扩展性。此外,Beszel 支持 OAuth2 和 OIDC 身份验证,可以禁用密码验证,进一步增强了安全性。

5. 自动备份与 REST API

Beszel 提供了自动备份功能,可以将数据保存到磁盘或 S3 兼容的存储中,并支持从备份中恢复数据。同时,Beszel 还提供了完整的 REST API,用户可以在自己的脚本和应用程序中使用这些 API 来获取和更新监控数据。

架构

Beszel 的架构分为两个主要组件:Hub 和 Agent。

  • Hub: 作为中心服务器,Hub 负责数据的汇聚、展示和管理。用户可以通过 Web 浏览器访问 Hub 的仪表板,查看和管理连接的系统。
  • Agent: Agent 是安装在被监控系统上的客户端组件,负责采集系统指标并通过 SSH 将数据传输到 Hub。Agent 还支持监控 Docker 容器,跟踪容器的资源使用情况。

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。

适用场景

Beszel 非常适合中小型服务器的日常监控需求。它的轻量级设计和易用性使其成为个人开发者和小型团队的理想选择。对于需要监控 Docker 容器的用户来说,Beszel 更是提供了开箱即用的支持。

界面截图

仪表板

系统页面

通知设置

总结

Beszel 是一款功能强大且易于使用的开源服务器监控工具。它通过轻量级的设计、全面的 Docker 支持和强大的告警功能,帮助用户轻松管理服务器资源。如果你正在寻找一个简单高效的监控解决方案,Beszel 绝对值得一试。

开源地址

https://github.com/henrygd/beszel

文章目录
  1. 1. 简介
  2. 2. 核心特点
    1. 2.0.1. 1. 轻量级设计
    2. 2.0.2. 2. 全面的 Docker 支持
    3. 2.0.3. 3. 强大的告警功能
    4. 2.0.4. 4. 多用户与 OAuth 支持
    5. 2.0.5. 5. 自动备份与 REST API
  • 3. 架构
  • 4. Docker安装
    1. 4.0.1. Hub安装
    2. 4.0.2. Agent安装
  • 5. 适用场景
  • 6. 界面截图
  • 7. 总结
    1. 7.0.1. 开源地址