项目地址:https://www.github.com/henrygd/beszel

安装Hub

  1. 测试运行beszel hub

    [root@ecs ~]# cd /usr/local/beszel
    [root@ecs beszel]# chmod a+x beszel
    [root@ecs beszel]# ./beszel serve --http 0.0.0.0:8090
    2026/08/29 11:03:09 Server started at http://0.0.0.0:8090
    ├─ REST API:  http://0.0.0.0:8090/api/
    └─ Dashboard: http://0.0.0.0:8090/_

    Server started at http://0.0.0.0:8090表明beszel hub已经启动成功,ctrl + c结束进程,以便接下来通过服务方式启动。

  2. 注册服务

    [root@ecs ~]# cat > /etc/systemd/system/beszel.service << EOF
    [Unit]
    Description=Beszel Hub
    After=network.target
    
    [Service]
    Type=simple
    Restart=always
    RestartSec=3
    User=root
    WorkingDirectory=/usr/local/beszel
    ExecStart=/usr/local/beszel/beszel serve --http "0.0.0.0:8090"
    
    [Install]
    WantedBy=multi-user.target
    EOF
  3. 启动服务

    [root@ecs ~]# systemctl enable --now beszel

    测试访问:http://192.168.1.100:8090/

反向代理

  • nginx

    http {
        server {
            listen 80;
            server_name beszel.dev.wiseidc.com;
        
            location / {
                proxy_pass http://127.0.0.1:8090;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
            }
        }
    }

    必须设置Upgrade,否则Windows客户端WebSocket连接会失败,报400错误。

添加agent

  1. hub端添加系统

    登录beszel hub端,点击右上角的“添加系统”,弹出“添加系统”对话框,切换到“二进制”标签页,填写“名称”和“主机/IP”,“公钥”和“令牌”会自动生成,接下来的步骤要用到。

    添加系统

  2. agent端测试运行beszel agent

    [root@ecs ~]# cd /usr/local/beszel
    [root@ecs beszel]# chmod a+x beszel-agent
    [root@ecs beszel]# ./beszel-agent -key "<公钥>" -token "<令牌>" -url "http://beszel.dev.wiseidc.com"
    • -key:为第一步获取的公钥。
    • -token:为第一步获取的令牌。
    • http://beszel.dev.wiseidc.com:是做了反向代理的域名地址,也可以使用IP:45876
    • 当配置了url或HUB_URL后,agent会主动连接hub(WebSocket),这种方式数据传输是实时双向的,性能更好。这种方式要求hub必须处于公网环境(或做内网穿透)。在没做反向代理的情况下,必须开放hub的8090端口。
    • 当去掉url或HUB_URL后,hub会主动连接agent(ssh),这种方式数据传输采用轮训模式,开销较大。这种方式要求agent必须处于公网环境且开放45876端口。
  3. 注册服务

    [root@ecs ~]# cat > /etc/systemd/system/beszel-agent.service << EOF
    [Unit]
    Description=Beszel Agent Service
    After=network-online.target
    Wants=network-online.target
    
    [Service]
    ExecStart=/usr/local/beszel/beszel-agent
    Environment="LISTEN=45876"
    Environment="KEY=<公钥>"
    Environment="TOKEN=<令牌>"
    Environment="HUB_URL=http://beszel.dev.wiseidc.com"
    Restart=on-failure
    RestartSec=5
    StateDirectory=beszel-agent
    
    KeyringMode=private
    LockPersonality=yes
    NoNewPrivileges=yes
    PrivateTmp=yes
    ProtectClock=yes
    ProtectHome=read-only
    ProtectHostname=yes
    ProtectKernelLogs=yes
    ProtectSystem=strict
    RemoveIPC=yes
    RestrictSUIDSGID=true
    
    [Install]
    WantedBy=multi-user.target
    EOF

    Windows

    C:\Users\Administrator>beszel-agent -listen 45876 -key "公钥" -token "令牌" -url "http://beszel.dev.wiseidc.com"

    bat脚本:

    @echo off
    
    nssm install BeszelAgent "C:\beszel\beszel-agent.exe"
    nssm set BeszelAgent AppDirectory "C:\beszel"
    nssm set BeszelAgent AppParameters "-listen 45876 -key ""<公钥>"" -token ""<令牌>"" -url ""http://beszel.dev.wiseidc.com"""
    nssm set BeszelAgent AppStdout "C:\beszel\logs\out.log"
    nssm set BeszelAgent AppStderr "C:\beszel\logs\error.log"
    nssm set BeszelAgent Start SERVICE_AUTO_START
    nssm set BeszelAgent AppExit Default Restart
    
    nssm start BeszelAgent

    nssm命令:

    命令说明
    nssm restart BeszelAgent重启BeszelAgent服务
    nssm stop BeszelAgent停止BeszelAgent服务
    nssm remove BeszelAgent删除BeszelAgent服务
    nssm edit BeszelAgent修改BeszelAgent服务
  4. 启动服务

    [root@ecs ~]# systemctl enable --now beszel-agent

告警

  1. 配置通知

    点击hub web管理界面右上角的“设置”(齿轮图标)按钮,打开“设置”界面,切换到“通知”页面。

    beszel设置

    • 电子邮件通知

      1. 点击“配置SMTP服务器”,打开PocketBase登录界面(beszel基于PocketBase开发),输入管理员账号和密码,进入后台管理。
      2. 点击“Settings”,进入“System”管理页面,切换到“Mail settings”页面。

        邮件设置

        • Sender name:麦思
        • Sender address:yclyk@qq.com
        • 开启“Use SMTP mail server”
        • SMTP server host:smtp.qq.com
        • Port:465
        • Username:yclyk@qq.com
        • Password:
        • TLS encryption:Always

        配置完之后,点击“Send test email”,如果收到测试邮件则表明SMTP配置成功了。

    • 企业微信通知

      点击Webhook / 推送通知后面的“添加 URL”按钮,输入企业微信webhook地址(格式为:wecom://<key>,key到企业微信机器人中获取)。

      Webhook

      点击“测试URL”,如果收到企业微信的推送消息则表明Webhook配置成功了。

  2. 配置告警规则

    1. 进入Beszel管理页面,点击客户端列表最后的“铃铛”图标,弹出告警规则设置页面。

    Beszel客户端管理

    1. 设置硬盘容量小于80%则告警,且10分钟不重复告警。

    告警设置

标签: none

添加新评论