跳过正文
Beszel 【入门篇】
  1. 运维日记/

Beszel 【入门篇】

目录
beszel - 这篇文章属于一个选集。
§ 1: 本文

Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。如果你有多个主机需要监控,Beszel 是一个适合的解决方案。

Beszel 【入门篇】
#

Beszel 由两个主要组件组成:中心 (hub) 和 代理 (agent)。本文从 部署主动模式被动模式告警配置 方向介绍如何使用 Beszel 监控系统。

  • 中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
  • 代理 (agent): 在您要监控的每个系统上运行,并将系统指标传递给中心。(支持 主动被动 模式)!

部署文档
#

一、中心服务
#

中心服务理解为 服务端 ,服务端采集系统指标,支持 主动被动 两种方式。

services:
  beszel:
    image: henrygd/beszel:0.15.2
    container_name: beszel
    restart: unless-stopped
    # ports:
    #   - 8090:8090
    volumes:
      - /etc/localtime:/etc/localtime
      - ./beszel/beszel_data:/beszel_data
      - ./beszel/beszel_socket:/beszel_socket
    environment:
      TZ: Asia/Shanghai
    networks:
      # dhcp 自动分配
      - service
    # 资源限制优化:
    deploy:
      resources:
        limits:
          memory: 256m
          cpus: "0.50"
networks:
  service:
    external: true

二、代理服务
#

代理支持 容器、二进制模式,根据需求选择即可。

一、中心服务 主动 模式
#

主动模式,服务端 主动 访问监控主机(客户端),采集数据。主动模式适合 客户端有公网IP的场景,服务器可以直接访问客户端IP:Port。

  1. 添加客户端

  2. 输入名称、IP

  3. 添加客户端

二、中心服务 被动模式
#

被动模式,客户端向服务端发送数据,服务器被动接收。被动模式适合局域网 公网出口动态模式,没有固定公网IP的网络状态;客户端隐藏在NAT网络后面

  1. 打开设置

  2. 选择 指纹与令牌

  3. 开启 通用令牌

  4. 按照部署模式复制安装命令

告警配置
#

部署完成后,我们应该思考: 我们为什么需要需要监控系统?只是把所有客户端指标数据采集汇总起来展示?还是应该更近一步,指标处于不正常范围时,进行信息通知,运维团队及时快速处理。

beszel 提供 邮件webhook 告警方式,本文介绍如何使用 飞书 接收告警信息。

  1. 飞书创建机器人,复制 Webhook 地址 最后一段 ID
https://open.feishu.cn/open-apis/bot/v2/hook/409963d1-7927-4259-a152-d8590sds8f3a
  1. 打开 beszel 设置,选择 通知 ;拼接 webhook
lark://open.feishu.cn/409963d1-7927-4259-a152-d8590sds8f3a
  1. 点击测试,如果成功,则告警通知配置成功!

  2. 打开 beszel 主页,点击 告警 图标,进入告警配置页面;根据自身需求配置告警指标阈值

反向代理【可选】
#

使用反向代理服务,如 TraefikNginxCaddyAPISIX 等。实现域名访问。

Traefik
#

    labels:
      # Traefik 服务发现和路由配置
      # 启用 Traefik 对此服务进行发现
      - "traefik.enable=true"
      # 指定 Traefik 应该监听哪个网络来发现此服务
      - "traefik.docker.network=service"
      # Router (路由器) 配置
      # 定义路由规则:匹配域名 beszel.artoio.com
      - "traefik.http.routers.beszel.rule=Host(`monitor.artoio.com`)"
      # 指定此路由只监听 'websecure' 入口点(通常是 443 端口)
      - "traefik.http.routers.beszel.entrypoints=websecure"
      # 为此路由启用 TLS (HTTPS)
      - "traefik.http.routers.beszel.tls=true"
      # 使用名为 'letsencrypt' 的证书解析器(需要在 Traefik 配置中定义)
      - "traefik.http.routers.beszel.tls.certresolver=letsencrypt"
      # Service (服务) 配置
      # 指定此路由要转发到哪个 Traefik 服务(与下面的服务名一致)
      - "traefik.http.routers.beszel.service=beszel"
      # beszel 容器内部监听的端口
      - "traefik.http.services.beszel.loadbalancer.server.port=8090"

结语
#

beszel 监控工具适用于个人用户、中小企业,尤其适合运维团队、系统管理员及技术支持人员使用。其部署简单,支持快速安装与配置,兼容多种环境。界面直观,提供实时数据展示、多维度图表分析及关键指标概览。支持邮件、webhook等告警方式,可以集成国内 企业微信飞书钉钉 等工具,确保异常及时响应,助力高效运维管理。


参考:

beszel - 这篇文章属于一个选集。
§ 1: 本文

相关文章


微信赞赏
微信赞赏
关注公众号
关注公众号
支付宝赞赏
支付宝赞赏