Py学习  »  docker

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

院长技术 • 1 年前 • 305 次点击  

院长简介

作者:院长

职位:运维开发工程师

官网: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