社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

一款轻量级探针、监控 VPS / NAS 历史数据以及 Docker 统计数据

院长技术 • 1 月前 • 60 次点击  

院长简介

作者:院长

职位:运维开发工程师

官网:https://deanit.cn

博客:https://blog.deanit.cn

擅长:

【虚拟化,容器化,自动化运维,CICD,监控,日志,中间件,双机热备,分布式存储,数据库,认证,组网隧道,Kali 安全渗透,网络攻击,负载均衡,Html,Css,Js,Jq,Vue3,Shell,Python,Go,前后端框架】

介绍

一、基本概述

Beszel是一款由henrygd开发的开源轻量级服务器资源监控工具,提供历史数据记录、Docker容器统计信息监控以及多种警报功能。它由Hub(中心服务器端应用)和Agent(运行在被监控系统上)两部分组成,通过创建一个最小化的SSH服务器与Hub通信并传递系统指标。

二、主要特点

  1. 轻量级 :Beszel的体积相对较小,对系统资源的要求也较低,这使得它能够在各种环境中轻松部署和运行。
  2. Docker支持:Beszel能够监控Docker容器的状态,包括CPU和内存使用历史记录等,这对于使用Docker进行容器化部署的用户来说非常有用。
  3. 警报功能:Beszel允许用户配置CPU、内存、磁盘使用情况以及系统状态的警报,当这些指标达到预设的阈值时,Beszel会发送警报通知,帮助用户及时发现问题并采取措施。
  4. 多用户支持:Beszel支持多用户系统,每个用户都有自己的系统视图,管理员可以在用户之间共享系统,提高了系统的灵活性和可扩展性。
  5. 易于设置:Beszel的设置过程相对简单,用户不需要具备复杂的技术背景就能快速上手。
  6. 安全性:Beszel支持许多OAuth2提供商,可以禁用密码身份验证,提高了系统的安全性。
  7. 自动备份:Beszel能够将数据保存到磁盘或S3兼容存储中,并支持从备份中恢复数据,确保了数据的可靠性和完整性。
  8. REST API:Beszel提供了一个完整的内置API工具,用户可以在自己的脚本和应用程序中使用这些API来获取和使用监控数据。

三、部署与安装

Beszel的部署与安装可以通过脚本安装或Docker安装两种方式进行。脚本安装方式需要用户下载并运行相应的安装脚本,而Docker安装方式则更为简便,用户只需通过Docker Compose部署Beszel Hub和Agent即可。

四、应用场景

Beszel适用于各种需要监控服务器资源的场景,包括但不限于VPS、NAS、Docker容器等。它可以帮助用户实时了解系统资源的使用情况,及时发现并解决问题,确保系统的稳定性和可靠性。

综上所述,Beszel作为一款全新的轻量级探针,在服务器资源监控领域具有显著的优势和特点。它不仅能够提供丰富的监控功能和警报机制,还支持多用户和Docker环境,并易于设置和部署。无论是对于小型团队还是大型企业来说,Beszel都是一个值得推荐的服务器监控解决方案。

部署安装

安装Docker

curl -sSL https://get.docker.com/ | sh

安装Docker-compose




    
下载 Docker-Compose 二进制包
curl -L https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

给文件增加执行权限
chmod +x /usr/local/bin/docker-compose

检查 Docker-Compose 版本
docker-compose -v

Docker-compose部署服务


部署 Hub

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

访问 http://ip:8090 后提示创建用户,由于 Beszel 支持多用户,此时创建的是管理员账户

进入到主界面后,点击右上角的 “Add System”,填写上 Name 和 IP,部署方式推荐使用 Docker,Port 和 Public Key 保持默认即可

点击 “Copy docker compose” 后再点击 “Add system” 保存,就可以看到刚刚添加的机器了

部署 Agent

通过刚才复制的 Docker Compose 后运行可以直接完成 Agent 的部署

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/disk/.beszel:/extra-filesystems/sda1:ro
    environment:
      PORT: 45876
      KEY: "ssh-ed25519 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"

效果展示

Agent 部署完成后,返回到 Hub 中,可以看到前面的红点变成绿点并且数据也成功获取到了,这就代表 Agent 已经成功上线了

单机进入后还可以看到更加具体的数据,右上角也可以切换不同时间段内的统计数据

知识星球-永久会员制

院长技术-知识星球

原价:188/年,现将推出499/永久

注:已加入的星球成员,可补差价加入永久会员。

技术福利:

1. 运维开发技术栈全部技术文档-持续更新中(仅院长维护)

2. 永久会员成员添加院长私人微信

3. 添加院长技术知识星球VIP交流群(一对一解答问题)

4. 永久制知识星球成员

星球技术路线:

1. 将持续更新云原生技术栈的相关技术文档,例如:Kubernetes,Tekton,Istio,Kubevirt,监控,日志,网络等等技术......

2. 更新Go语言的全套资料,包括基础,进阶,功能设计等技术......

图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/180179
 
60 次点击