首页
/ Beszel项目编译与运行指南:解决常见问题

Beszel项目编译与运行指南:解决常见问题

2025-05-21 11:31:49作者:俞予舒Fleming

项目概述

Beszel是一个开源系统监控和管理工具,由hub(中心服务器)和agent(监控代理)两部分组成。该项目基于Go语言开发,采用PocketBase作为后端框架,提供了系统资源监控、远程管理等功能。

常见问题解析

编译后无法找到可执行文件

许多开发者在自行编译Beszel项目后会遇到找不到beszel可执行文件的问题。实际上,项目编译后会生成两个主要可执行文件:

  1. hub - 中心服务器程序
  2. agent - 监控代理程序

正确运行hub服务器

编译完成后,需要通过指定子命令来运行hub服务器:

./hub serve

这个命令会启动web服务器,默认监听127.0.0.1:8090端口。值得注意的是,服务器启动后会显示两个不同的访问地址:

  1. 主应用界面:http://127.0.0.1:8090
  2. PocketBase管理后台:http://127.0.0.1:8090/_/

初次使用时,应该访问主应用界面而非管理后台,否则会错过初始用户创建流程。

agent代理的配置与运行

agent程序需要通过环境变量指定密钥才能正常运行:

KEY="your_key_here" ./agent

密钥可以在hub服务器的系统管理界面获取,或者从beszel_data/id_ed25519.pub文件中读取。

初始化流程详解

  1. 首次运行hub服务器后,访问主应用界面(不带/_/的URL)
  2. 系统会显示用户注册界面
  3. 创建初始用户后,进入Beszel主仪表盘
  4. 通过"Add System"按钮添加新系统并获取密钥
  5. 使用获取的密钥启动agent程序

常见误区与解决方案

  1. 错误访问管理后台:初次使用时访问PocketBase管理后台会导致无法完成初始用户注册。解决方案是删除beszel_data目录重新开始。

  2. agent无法识别设备:在某些系统上,agent可能无法正确识别所有设备,会显示警告信息如"Device not found in diskstats"。这通常不影响基本功能的运行。

  3. 密钥格式问题:确保密钥字符串正确无误,且不包含多余的空格或换行符。

最佳实践建议

  1. 开发模式下运行可以启用详细日志输出:

    ./hub serve --dev
    
  2. 指定自定义数据目录:

    ./hub serve --dir /path/to/custom_data
    
  3. 生产环境应考虑设置加密环境变量:

    ./hub serve --encryptionEnv YOUR_ENV_VAR
    

随着Beszel项目的文档体系正在重构,未来会有更完善的安装和使用指南。目前开发者可以通过理解项目的基本架构和运行原理,结合本文提供的解决方案,顺利开展Beszel的本地开发和测试工作。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
179
263
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
871
515
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
131
184
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
346
380
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
334
1.09 K
harmony-utilsharmony-utils
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
ArkTS
31
0
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.08 K
0
kernelkernel
deepin linux kernel
C
22
5
WxJavaWxJava
微信开发 Java SDK,支持微信支付、开放平台、公众号、视频号、企业微信、小程序等的后端开发,记得关注公众号及时接受版本更新信息,以及加入微信群进行深入讨论
Java
829
22
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
603
58