LQYMonitor v1.5.1 · 飞书告警/自动恢复 · 附 122 款软件一键安装库

服务器运维工具箱
监控出事,飞书群里先知道

这里是礼轻昀科技的服务器运维工具箱:把下面那条命令粘贴到服务器,先弹出 122 个常用程序的数字菜单——1 下载 LQYPack 最新版, 2 安装 LQYMonitor 监控脚本,剩下 120 个是 Nginx、Docker、MySQL 这类常用软件,输编号就装,不用一个个翻文档。
菜单 2 号的监控脚本是这么来的:有台服务器半夜磁盘快写满了,第二天才发现,于是做了个每 30 秒看一眼 CPU、内存、磁盘的小工具,不对劲就往飞书群推一条告警。服务器重启它会自己起来,脚本出错也能自己缓过来,平时不用管它。

9 监控指标
30 看一眼的频率
0 需要人守着
server-monitor · CentOS 8
CPU 使用率
23%
内存使用率
64%
磁盘使用率
57%
系统负载
0.17
告警演示
92%

该盯的,都在盯着

下面这些,说的是软件库菜单里 2 号程序 LQYMonitor——CPU、内存、磁盘这些最容易出事的地方,它每 30 秒看一眼。(想看 122 个程序的菜单,直接回到上面「一条命令,122 个程序任选」)

CPU 使用率

整机占用率,1 秒采样算一次。跑了什么大任务、有没有人偷偷挖矿,都能看出来。

超过 85% 说一声
内存使用率

物理内存和 Swap 一起看。内存慢慢漏掉这种事,看趋势最直观。

超过 85% 说一声
磁盘使用率

默认看根目录。想多盯几个挂载点,配置里加一行路径就行——毕竟开头那个磁盘写满的教训就是这么来的。

超过 90% 说一声
网络流量

所有网卡收发加起来算速率。半夜流量突然飙高,多半不是什么好事。

超过 100 MB/s 说一声
系统负载

1、5、15 分钟负载都采。阈值不用自己算,跟着 CPU 核数自动走。

阈值 = 核数 × 2,自动算
进程数量

进程数突然翻倍,一般是哪里 fork 失控了。

超过 500 说一声

另外还顺带记了 Swap 和开机时长,推送到群里的卡片上能看到。

它自己会转

这是菜单 2 号监控脚本的运转方式:每 30 秒一轮,转起来之后就不需要人做什么了。

1

采集

psutil 每 30 秒取一轮数。网络速率是按前后差值算的,不是累计值。

2

比对

逐项跟阈值比。同一项 5 分钟内只提醒一次,不然告警能把群刷爆。

3

推送

超了就往群里推一张红色卡片。没超也每小时发条心跳,证明自己还活着。

4

兜底

脚本出错了自己缓过来,进程被杀了 systemd 会拉起来。都实际试过,管用。

默认阈值长这样

监控脚本的默认值都写在脚本开头,想改哪个改哪个,改完重启一下服务就生效(用后面「三合一管理入口」的「修改配置」改也行)。

指标 默认值 超过之后 备注
CPU 使用率 85% 群里推告警 1 秒采样窗口
内存使用率 85% 群里推告警 卡片里带已用/总量
磁盘使用率 90% 群里推告警 可以盯多个路径
网络发送/接收 100 MB/s 群里推告警 所有网卡加一起
系统负载(1分钟) 核数 × 2 群里推告警 按机器自己算,不用填
进程数量 500 群里推告警 机器大的可以调高
心跳报告 每 1 小时 群里推一条 嫌吵可以关掉
启动通知 起来就发 群里推一条 机器重启、服务重启都会发

一条命令,122 个程序任选

命令粘贴到服务器,先弹出数字菜单:1 下载 LQYPack 最新版,2 安装监控脚本,其余输编号即装。

一键下载 / 安装命令

软件库 v1.1.0 · 监控 v1.5.1 · 免费卡密授权 · SHA256 完整性校验
🔑 选 1 / 2 前先准备好一个飞书群机器人(免费,1 分钟搞定):
在任意飞书群 → 群设置 → 群机器人 → 添加「自定义机器人」→ 复制 Webhook 地址。
选择 1/2 时按提示粘贴该地址,卡密只会发送到这个飞书群,再粘贴卡密即自动绑定本机(一卡绑一机,Linux/Windows 卡密不通用)。 机器人安全设置建议选「自定义关键词」并填 卡密。编号 3~122 的开源软件无需卡密,照常免费安装。

在服务器终端粘贴执行,先进入软件库数字菜单(共 122 项): 选 1 下载 LQYPack 最新安装包; 选 2 自动下载校验监控脚本部署包、解压到 /opt/server_monitor 并进入配置向导,装完自动启动、开机自启; 选 3~122 则按编号安装 Nginx、Docker、MySQL 等常用软件。

命令对所有主流 Linux 发行版通用,软件库会自动识别 apt/dnf/yum 并装好依赖。

curl -sSL http://xn--2brt6v.top/hub.sh | bash
已复制,去服务器终端粘贴执行
服务器终端 · 执行后看到的菜单
╭──────────────────────────────────────────────────────╮
│       礼轻昀科技 · 服务器软件库  v1.1.0  (共 122 个程序)      │
╰──────────────────────────────────────────────────────╯
【本家程序 · 推荐】
  1) LQYPack 最新版              # Windows 打包/卡密授权/在线更新主程序
  2) LQYMonitor 服务器监控脚本     # 30秒巡检/飞书告警/自动恢复

【软件分类 · 输入 c+分类号 进入】
  c1  Web 服务 / 反向代理            (3-14)
  c2  数据库 / 缓存 / 消息队列        (15-26)
  c3  编程语言 / 运行时 / 构建        (27-39)
  c4  容器 / 编排 / 虚拟化           (40-47)
  c5  运维监控 / 性能诊断             (48-67)
  c6  网络 / 下载 / 文件传输          (68-83)
  c7  安全加固                       (84-93)
  c8  文本 / 压缩 / 系统工具          (94-122)

  a) 列出全部 122 个程序     s) 搜索     q) 退出
  也可以直接输入程序编号 1-122
请输入: 2   # 直达安装监控脚本;也可 bash hub.sh 2 跳过菜单
  • 四步搞定:① 准备好飞书群机器人 Webhook → ② 点「复制」粘贴执行 → ③ 输 12,按提示领卡密 → ④ 粘贴群里收到的卡密,自动完成绑定与下载安装
  • 需要 root 权限:直接用 root 执行,或在命令前加 sudo
  • 2 后监控配置向导还会再要一次飞书 Webhook(用于告警推送),可以直接粘贴同一个机器人地址,其余回车用默认值即可
  • 卡密与服务器绑定:换机/重装系统后需联系作者重置;监控配置信息 AES-256 加密存储在本机,权限 600,仅 root 可读
  • 脚本化直达:curl -sSL http://xn--2brt6v.top/hub.sh | bash -s -- 2(不进菜单直接装监控,卡密交互流程不变)
安装包获取方式(v1.5.0 起)
1

通过 hub.sh 菜单 2 自动获取

卡密验证通过后,安装器、部署包、校验文件全部走一次性签名令牌通道自动下载,临时链接 15 分钟内有效,无需手动 wget。下载后自动执行:

hub.sh 菜单 2 自动完成
curl -sSL http://xn--2brt6v.top/hub.sh | bash
# 输入 2 → 粘贴飞书 Webhook → 粘贴卡密 → 自动下载/校验/解压/进配置向导
2

配置向导与 systemd 托管

安装器解压到 /opt/server_monitor,装依赖、进配置向导、注册 systemd 服务一条龙。告警 Webhook 可直接复用领卡密的那个机器人。

安装完成后
systemctl status server-monitor      # 服务运行中、开机自启
journalctl -u server-monitor -f      # 盯实时日志
3

收条消息确认下

配置向导最后会发一条测试消息,飞书群里能收到就算通了。之后不用管——服务器重启它会自己起来,还会往群里推条启动通知。已安装 v1.4.1 旧版的机器不受影响,可继续使用(自动更新通道已并入卡密体系,需要新版时走菜单 2 覆盖安装即可)。

服务器上(三合一管理入口)
python3 /opt/server_monitor/config_wizard.py  # 主菜单:1安装 / 2卸载 / 3改配置
python3 /opt/server_monitor/test_feishu.py    # 群里收到消息就 OK
systemctl restart server-monitor        # 改完配置后重启生效

一个入口,三件事都能做

装好软件库菜单的 2 号程序 LQYMonitor 之后,日常管理都走这个入口。 从 v1.3.0 开始,配置向导升级为三合一管理控制台(当前最新 v1.5.1)。
运行 python3 /opt/server_monitor/config_wizard.py, 用数字 1 / 2 / 3 分别对应「安装配置」「一键卸载」「修改配置」,回车默认 1。 (注意:这里的 1/2/3 是监控脚本自己的管理菜单,和软件库选程序的编号不是一回事。)

卸载的 5 个步骤

  1. 备份数据:整份 /opt/server_monitor + 密钥目录,复制到时间戳备份目录(可跳过但不推荐)
  2. 停服务systemctl stop server-monitor
  3. 取消自启systemctl disable server-monitor
  4. 清理服务文件:删除 /etc/systemd/system/server-monitor.service 和软链,重载 daemon
  5. 删除目录/opt/server_monitor/etc/server_monitor,并打印验证命令

用备份回滚恢复

卸载时默认生成的备份目录,用下面三条命令就能恢复回来:

回滚恢复
rm -rf /opt/server_monitor
mv /opt/server_monitor.bak.YYYYmmddHHMMSS /opt/server_monitor
bash /opt/server_monitor/setup.sh --no-reconfig

如果不想保留备份,彻底删除用:

rm -rf /opt/server_monitor.bak.*

命令行直达(脚本化友好)

不想交互式地在菜单里选 1/2/3?用 --mode 参数直接跳:

直达模式
# 直接安装配置
python3 /opt/server_monitor/config_wizard.py --mode install
# 直接修改配置
python3 /opt/server_monitor/config_wizard.py --mode reconfig
# 进入卸载(仍会弹确认,便于脚本批量时交互关闭)
sudo python3 /opt/server_monitor/config_wizard.py --mode uninstall
# 全自动强制卸载(谨慎使用):跳过确认 + 跳过备份
sudo python3 /opt/server_monitor/config_wizard.py --mode uninstall --force --no-backup

关于工具箱、软件库和监控脚本,你可能会问

一键命令调出的是服务器软件库数字菜单,共收录 122 个程序:

· 输入 1:下载 LQYPack 最新版安装包(Windows 主程序,保存到当前目录,可再传回 Windows 机器);
· 输入 2:安装本页介绍的 LQYMonitor 服务器监控脚本(下载→SHA256 校验→配置向导→自启,一条龙);
· 输入 c1c8:按 8 大分类浏览其余 120 款软件(Web 服务、数据库、容器、运维监控、网络下载、安全加固、系统工具等);
· 输入 a 一次列出全部 122 项,输入 s 按关键词搜索(如 nginx、redis)。

脚本化场景不想进菜单,可在命令后直达:curl -sSL http://xn--2brt6v.top/hub.sh | bash -s -- 2(2 可换成任意程序编号)。

完全免费。卡密只是给 LQYPack 和监控脚本加了一层「领取 + 绑机」机制,防止安装包被外传盗链;菜单 3~122 的开源软件不受任何影响。

领取流程:① 在飞书群添加「自定义机器人」(安全设置选关键词「卡密」)→ ② 菜单选 1 或 2,粘贴机器人 Webhook → ③ 卡密只会发送到这个飞书群,粘贴回终端即自动绑定本机。规则:一卡绑一机,Linux/Windows 卡密不通用;换机、重装系统后绑定失效,在官网客服群联系作者重置即可。所有服务器响应带 RSA 数字签名,卡密在数据库只存哈希、Webhook 加密存储,请放心使用。

软件库会自动识别系统的包管理器(apt / dnf / yum),绝大多数程序直接走发行版官方软件源安装;Docker、kubectl、Helm 等官方推荐独立安装渠道的程序,则走其官方一键脚本或官方静态二进制(如 dl.k8s.io)。菜单中会注明哪些程序需要先启用官方源/EPEL。全程只执行安装动作,不捆绑任何第三方内容;本家监控脚本的部署包还带 SHA256 校验,文件损坏或被篡改会自动终止安装。

分两层说:软件库 hub.sh(122 个程序的菜单)只要系统带 apt / dnf / yum 任一包管理器就能跑,Ubuntu、Debian、CentOS、RHEL、Rocky Linux、AlmaLinux 这些主流发行版都支持,选 3~122 的软件时会自动适配。菜单 2 号监控脚本还需要 Python 3.6 以上,依赖只有 psutil 和 requests 两个库,安装时自动帮你装。我们自己的服务器(Debian 12)一直在跑,CentOS 7/8 也验证过。

十有八九是权限的事。去开放平台看应用开没开 im:message:send_as_bot 权限、发没发布版本——报 99991672 就是权限没开。再检查脚本里 FEISHU_RECEIVE_IDS 填的群 chat_id 对不对。拿不准就跑一下 test_feishu.py,它会一步步告诉你卡在哪个环节。

不用。部署的时候已经用 systemctl enable 挂进 systemd 了,机器一开机它就跟着起来,还会往群里发条启动通知。不放心的话,跑一下 systemctl is-enabled server-monitor,显示 enabled 就没问题。

两层保险。脚本里异常都接住了:出错了记日志、往群里发条通知,一分钟后自己接着跑。就算进程被人 kill -9,systemd 也会在 30 秒内把它拉起来——这个是真试过的,杀掉之后确实自己回来了。日志是滚动文件,10MB 一份留 5 份,不会把磁盘写满。

有两种方式:① 三合一主菜单:运行 python3 /opt/server_monitor/config_wizard.py,输入 3 进入「修改配置」流程,改完会询问是否立刻重启服务生效。② 命令行直达python3 /opt/server_monitor/config_wizard.py --mode reconfig,直接进入修改配置流程,跳过主菜单。愿意直接改文件也行:server_monitor.py 开头那一段有 COLLECT_INTERVALTHRESHOLDS 这些参数。不管哪种方式,改完都执行 systemctl restart server-monitor 生效。

运行 sudo python3 /opt/server_monitor/config_wizard.py,输入 2 即可进入一键卸载。卸载流程默认会在删除之前把加密配置、密钥、日志整份备份/opt/server_monitor.bak.<时间戳>/(权限 700,仅 root 可读),所以卸载之后想要恢复,用备份目录挪回 /opt/server_monitor 再跑一次 setup.sh --no-reconfig 就能还原。如果明确不要备份,可以在卸载备份确认步骤里输入 n,或者用 --mode uninstall --no-backup 参数直达。

卸载流程里的 6 位确认码是随机生成、大小写敏感的(为避免混淆,不含 0/O/1/I 这些字符)。输错或直接回车,脚本会立刻打印提示并取消卸载,不会执行任何删除操作,数据完全不变。你可以重新进入选项 2,重新走一遍确认流程——每次生成的确认码都不一样。

两者的 6 步配置流程几乎相同,区别在于语义和收尾:
· 选项 1(安装配置):面向首次部署场景,收尾提示「以后要改就重跑 config_wizard.py」。
· 选项 3(修改配置):面向已安装的日常调整,保存完成后会主动询问是否立即重启服务(如果是 root 且服务已注册),你确认后就执行 systemctl restart server-monitor,不用再手动敲命令。
如果你想要更「自动化」的安装体验,推荐选项 1;改参数就用选项 3。

可以,用 --mode 参数直接跳:
· --mode install:安装配置
· --mode reconfig:修改配置
· --mode uninstall:卸载(仍然会弹确认;要全自动就再加 --force --no-backup,非常不推荐)
另外也支持原有的 --non-interactive 参数式生成配置,通过命令行把 Webhook、阈值、间隔全部传进去,完全无交互一键写加密配置。详见 --help