news 2026/9/15 7:24:46

轻量级监控服务器Beszel部署与邮件告警配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轻量级监控服务器Beszel部署与邮件告警配置

前言

在日常运维中,我们需要一套轻量、高效、告警及时的监控系统来掌握服务器的健康状态。Prometheus+Grafana虽然强大,但对于开发/测试场景来说略显笨重。Beszel是一款开源监控工具,它采用Hub‑Agent架构,资源占用极低,支持CPU、内存、磁盘、网络、温度等指标,并且内置了邮件和Webhook告警功能。

本文在一台中心机器上部署Beszel Hub,在多台被监控机器上部署Agent,并通过SMTP配置邮件告警,最后设置CPU使用率超过80%等实用告警规则。


一、Beszel简介

  • 项目地址:https://github.com/henrygd/beszel
  • 架构:Hub(中心端)+Agent(采集端)
  • 特点
    • 二进制单文件部署,无外部依赖
    • Web界面美观,实时图表
    • 支持Docker和二进制两种安装方式
    • 告警支持SMTP(邮件)和Shoutrrr(Slack、TG等)
    • 自动更新(可选)

二、环境准备

假设我们有如下两台虚拟机:

主机名IP地址角色
host01192.168.200.100Hub+Agent(自己也监控)
host02192.168.200.101Agent(仅被监控)

操作系统:CentOS/Rocky Linux/Ubuntu/Debian均可。
以下命令均需root权限执行。


三、部署Beszel Hub

3.1 一键安装脚本

Beszel官方提供了一个自动化安装脚本,支持systemd服务注册、自动创建专用用户等。我们使用--china-mirrors参数以解决GitHub访问慢的问题。

curl -sL https://get.beszel.dev/hub -o /tmp/install-hub.sh && \ chmod +x /tmp/install-hub.sh && \ /tmp/install-hub.sh -p 8090 --china-mirrors

参数说明:

  • -p 8090:指定Hub Web端口(默认8090)
  • --china-mirrors:使用国内代理加速下载(如https://gh.beszel.dev

脚本执行过程:

  1. 检测系统架构(amd64/arm64/arm)
  2. 安装必要依赖(tar,curl)
  3. 创建beszel用户
  4. 下载最新版beszel二进制到/opt/beszel/
  5. 创建systemd服务/etc/systemd/system/beszel-hub.service
  6. 启动服务并设置开机自启

3.2 启动与验证

systemctl enable beszel-hub.service --now systemctl status beszel-hub.service

输出应包含active(running)。此时通过浏览器访问http://192.168.200.100:8090即可看到Beszel登录界面。

3.3 初始化管理员账户

首次访问需要注册一个管理员账号(邮箱、密码)。请牢记该密码,后续配置告警和添加主机都需要登录。


四、部署Beszel Agent

4.1 在Hub上生成Agent密钥

登录Beszel Web界面,点击右上角“Add System”按钮:

  • Name:输入主机名,如host01
  • Host/IP:填写Agent机器的IP(这里填192.168.200.100127.0.0.1
  • Port:默认45876

点击“复制 Linux 安装命令”类似下面的命令:

curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh -p 45876 -k "ssh-ed25519AAAAC3NzaC1lZDI1NTE5AAAAILlJEN/vQ8pKQitHm5bE1TTY9U+k/Wdb7FmhEpJo+Vp2" -t "593-6612bc041ec-5c2-04da119237" -url "http://192.168.200.100:8090" --china-mirrors

其中-k后面的字符串是公钥-t后面的是令牌(Token)-url是Hub的访问地址。

4.2 在被监控主机上执行安装命令

分别在host01host02上执行安装命令。脚本会自动:

  • 创建beszel用户
  • 下载beszel-agent二进制到/opt/beszel-agent/
  • 创建systemd服务beszel-agent.service
  • 启动Agent并设置开机自启

4.3 验证Agent状态

systemctl status beszel-agent.service

如果一切正常,稍等几秒钟刷新Beszel Web界面,即可看到host01host02出现在仪表盘上,并显示实时的CPU、内存、磁盘图表。


五、配置SMTP邮件告警

Beszel默认使用系统sendmail发送邮件,但在实际环境中sendmail配置复杂且容易被拒收。我们直接使用Beszel内置的SMTP配置,以QQ邮箱为例。

5.1 获取邮箱授权码

登录QQ邮箱网页版→设置→账户→POP3/IMAP/SMTP服务→开启SMTP服务,并生成授权码(例如abcdefghijklmnop)。注意:此授权码将作为SMTP密码使用,不是你的QQ登录密码。

5.2 在Beszel中配置SMTP

  1. 登录Beszel Web界面,点击左下角的齿轮图标(设置)。
  2. 选择“通知”选项卡。
  3. 进入“Mail settings”后,填写以下信息:
字段示例值
发件人邮箱your_qq_number@qq.com
SMTP主机smtp.qq.com
端口587
用户名your_qq_number@qq.com
密码上面生成的授权码(不是QQ密码)

保存后,点击“发送测试通知”,检查你的收件箱是否收到测试邮件(可能进入垃圾箱)。

5.3 设置告警接收邮箱

设置-通知-电子邮件通知中,可以填写默认接收告警的邮箱地址。


六、添加告警规则

Beszel默认没有预置任何告警规则,需要我们手动创建。

警报类型阈值持续时间说明
CPU80%5分钟避免短时峰值误报
内存80%5分钟Linux缓存通常占用高,85%比较合理
磁盘80%5分钟重点关注数据盘,系统盘可设为85%
1/5/15分钟平均负载CPU核心数*1.55分钟系统负载过高触发告警
带宽(发送/接收)100MB/s1分钟根据实际带宽调整,默认滑块上限125MB/s

带宽单位:Beszel中带宽单位是MB/s(兆字节/秒),1MB/s=8Mbps。如果服务器带宽超过1Gbps,Web界面滑块无法满足,需要通过内置PocketBase后台手动修改value字段。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 7:24:44

角膜塑形镜(OK镜)使用注意事项全解析:安全与效果并重

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/15 7:24:37

AI驱动的学术写作工具:提升效率与数据安全

1. 文献管理工具崩溃后的自救指南上周三凌晨两点,当我正在赶制一篇核心期刊论文时,Zotero突然弹出"数据库损坏"的报错窗口。那一刻,我盯着屏幕上闪烁的红色警告,突然意识到自己过去三年积累的2000多篇文献可能毁于一旦。…

作者头像 李华
网站建设 2026/9/15 7:24:30

MATLAB+CPLEX双层优化在微网储能配置中的应用

1. 项目概述:储能电站与微网系统的优化配置冷热电多微网系统是当前分布式能源领域的前沿研究方向,而储能电站作为微网系统中的关键缓冲单元,其配置方案直接影响整个系统的经济性和可靠性。这个MATLABCPLEX的双层优化模型,本质上要…

作者头像 李华
网站建设 2026/9/15 7:22:49

六大高危端口安全加固实战:从暴露面收敛到纵深防御

1. 这六个端口不是“默认开放”,而是“默认暴露风险”的起点你有没有遇到过这样的情况:刚装好一台新服务器,连基础防火墙都没来得及配,就发现netstat -an | findstr :22里已经跑着 SSH 服务;或者用nmap -sT -p 3306 19…

作者头像 李华