当前位置:首页>Linux>开源|一款Linux自动巡检系统,支持HTML报告、JSON输出、定时巡检

开源|一款Linux自动巡检系统,支持HTML报告、JSON输出、定时巡检

  • 2026-10-11 07:47:02
开源|一款Linux自动巡检系统,支持HTML报告、JSON输出、定时巡检

做 Linux 服务器运维,大家多少都遇到过这个场景:机器越来越多,环境越来越杂,平时靠 top、free、df -h、ss -lntp 这些命令一点点查,单机排查还行,一旦要做日常巡检、交付验收、节前检查或者问题复盘,整个人就很容易陷进“命令敲了一堆,结果还得手工整理”的循环里。

更麻烦的是,很多巡检动作并不难,难的是把信息收齐、把重点挑出来、再整理成别人也能看懂的结果。尤其是碰到服务器负载高、磁盘快满、证书快到期、异常登录偏多这类问题时,如果没有一份像样的巡检报告,沟通成本会一下子上来。

那有没有一款工具,既不用折腾复杂环境,又能把巡检这件事做得省心一点?

今天要聊的这个开源项目还挺接地气,它定位非常直接:一键巡检 Linux 服务器,并自动生成结构化 HTML 报告。

介绍

一个纯 Bash 编写的 Linux 服务器巡检脚本

这个项目的思路很务实,不搞很重的体系,也不要求你额外搭一堆运行环境。拉下来、给执行权限、跑一下,就能开始巡检。巡检完成后,它会输出一份比较完整的 HTML 报告,同时也支持 JSON 格式,方便继续接到监控平台或者自动化流程里。

它目前覆盖 17 大类、25+ 项检查维度,包括:

  • • 主机基础信息
  • • CPU 与负载
  • • 内存与 Swap
  • • 磁盘空间与 Inode
  • • 大文件分析
  • • 文件描述符
  • • 网络状态
  • • 进程状态
  • • 常见服务状态
  • • Docker 容器信息
  • • 定时任务
  • • 安全检查
  • • 内核参数
  • • 系统更新情况
  • • SSL 证书检查
  • • 系统日志异常
  • • 总体建议

这类工具的价值就在这里:平时手工要拆成很多命令去看的内容,它帮你一次性捞出来了,而且最终是报告化输出,不只是命令行里飘过去的一堆文本。

特点

这个项目有几个点,我觉得挺适合拿出来单独说说。

一是零依赖思路比较讨喜。

它本身是 Bash 脚本,不需要再装一套复杂运行时。对很多线上机器来说,这种方式比部署一套完整平台轻很多,拿来就能用。

二是巡检维度比较全。

很多脚本只能看 CPU、内存、磁盘三件套,这个项目把网络、服务、Docker、定时任务、安全配置、系统日志、SSL 证书这些内容也带上了,做日常巡检会更顺手。

三是报告可读性不错。

不少巡检工具的问题不是“采不到数据”,而是“采到了但不好看”。这个项目输出的是现代 Dashboard 风格的 HTML 报告,概览卡片、章节导航、状态标签这些元素都做了,拿去给同事、测试、运维负责人看,会比贴命令输出友好很多。

四是兼顾自动化场景。

它支持 JSON 输出,也定义了语义化退出码:0 表示正常,1 表示有警告,2 表示有严重告警或脚本错误。这个设计很适合放进 CI/CD 或定时任务里,不只是给人看,也方便给流程判断。

五是有快慢两种使用节奏。

项目提供 --fast 快速模式,README 里给出的典型耗时是 8 到 15 秒。如果只是做日常健康检查,这个速度已经很实用了。完整模式会更细,像大文件扫描、包管理器更新检查、SSL 检查这些也能带上。

技术架构

这个项目的技术架构其实很朴素,但也正因为朴素,所以落地门槛不高。

核心实现语言是 Shell / Bash 4.0+。脚本里用了 Bash 的一些能力,比如 here-string、关联数组,以及对系统命令和系统文件的读取能力,去完成数据采集、结果整理和 HTML 渲染。

从架构角度看,可以把它理解成两层:

  • • 采集层:负责读取系统信息,比如 systemctl、dmesg、/proc、网络、进程、磁盘、日志等数据
  • • 展示层:把采集结果整理成 HTML 报告或 JSON 输出

它不是那种前后端分离的平台型产品,而是典型的单脚本工具型项目。优点就是轻,部署也干脆。

README 里提到,项目在 v2.4 做过性能重构,巡检耗时从原来的大约 60 秒压到了快速模式下的 8 到 15 秒。这说明作者并不只是把功能堆上去,也在关注脚本执行效率。

部署方式

如果你平时就喜欢“少折腾、快开跑”的工具,这个项目的部署方式会比较合胃口。

环境要求不算高:

  • • Linux 系统
  • • Bash 4.0+
  • • 建议 root 权限

README 给了两种方式。

一种是常规克隆:

git clone https://github.com/Aidan-996/Linux_Auto_Inspection.gitcd Linux_Auto_Inspectionchmod +x linux_inspect.sh

另一种更直接,适合临时拉起就跑:

curl -sO https://raw.githubusercontent.com/Aidan-996/Linux_Auto_Inspection/main/linux_inspect.sh \  && chmod +x linux_inspect.sh \  && ./linux_inspect.sh --fast

日常巡检我更建议直接用快速模式,尤其是机器多的时候,体验会更干脆。

前端

这里说的“前端”,不是传统意义上的 Web 前端页面,而是巡检结果的展示层。

这个项目生成的是 HTML 报告,从 README 展示来看,页面风格已经不再是“白底黑字加一堆表格”的老路子了,而是比较偏 Dashboard 的组织方式:

  • • 顶部蓝色 Banner 展示主机信息
  • • 概览卡片展示 CPU、内存、磁盘、连接数、告警数等核心指标
  • • 左侧有导航目录,定位章节更方便
  • • 各类巡检项按编号章节展示,结构清晰
  • • 还能根据巡检结果自动给出总体建议

如果你平时要给团队做巡检说明,或者要把机器状态发给别人确认,这种展示方式真的比贴终端截图省事很多。

下面这张图就是项目 README 里的报告预览:

后端

这个项目的“后端”同样不是传统服务端,而是脚本执行逻辑本身。

整套逻辑都在 linux_inspect.sh 里,负责做这些事:

  • • 采集系统指标
  • • 判断阈值和告警级别
  • • 汇总问题项
  • • 生成 HTML / JSON 结果
  • • 输出退出码,供自动化流程消费

对开发同学来说,这种实现方式有两个好处。

一个是部署成本低,不需要再准备 Java、PHP、Python Web 服务,也不需要数据库。

另一个是改造成本低,你完全可以按自己的环境去调阈值、删减检查项、补充公司内部的巡检规则,适合做二次定制。

开源协议

这个项目使用的是 MIT License。

如果你是企业内部使用、团队自用、或者基于它做一些定制化调整,MIT 协议一般不会构成太大阻碍。真正要留心的,更多还是你自己修改后的维护边界,以及是否保留好原始协议信息。

即刻体验一波

这个项目上手挺快,README 里常见用法已经给得比较全了。

完整巡检:

./linux_inspect.sh

快速巡检:

./linux_inspect.sh --fast

输出 JSON:

./linux_inspect.sh -f json -o /tmp/inspect.json

自定义输出路径:

./linux_inspect.sh -v -o /var/log/inspect.html

它还有几个参数挺实用:

  • • --skip-update-check:跳过更新检查
  • • --skip-ssl-check:跳过证书检查
  • • --no-large-file-scan:跳过大文件扫描
  • • -h:查看帮助

如果你是拿它做定时任务,也可以配合 cron 周期执行;如果你想接自动化流程,就可以直接吃它的退出码;如果你想往别的平台推数据,那就用 JSON 输出。

说白了,这个项目并不只是“跑一次看看”,它是能接进日常工作的。

业务场景

只看功能列表,很多人会觉得“嗯,挺全”。但工具值不值得用,还是得看场景。

场景一:日常服务器巡检

运维同学或开发同学日常查看机器状态,用它跑一遍,很快就能知道 CPU、内存、磁盘、连接、异常日志这些有没有明显问题。比一个个命令切着看更省时间。

场景二:项目上线前的环境检查

新服务要上线,或者要做版本切换,提前跑一轮巡检,能更快确认系统负载、磁盘空间、核心服务状态、证书情况是不是正常,避免环境本身就埋着坑。

场景三:问题排查前的基础摸底

有些问题刚出现时,并不一定马上就能定位到代码层。先跑个巡检,把系统状态、连接情况、日志异常、资源占用摸清楚,排查思路会更顺。

场景四:批量机器检查

README 里给了批量巡检的示例,可以通过 SSH 跑多台机器,再把报告收回来。对中小规模服务器集群来说,这种方式已经很实用。

场景五:接入自动化流程

因为它支持语义化退出码,所以可以放到 Jenkins、GitLab CI 一类流程里,巡检结果不只是“看一眼”,还能作为流程判断条件。

场景六:对接监控平台或自建平台

JSON 输出意味着它不只是一个展示工具,也可以作为数据采集入口。你可以把结果推到自建接口,或者接到监控链路里,继续做统一汇总。

功能展示

从项目当前能力看,我觉得下面这几个功能最容易打动实际使用者。

CPU、内存、磁盘这类基础项,一眼就能看懂。

不少人并不怕巡检内容多,怕的是报告里全是密密麻麻的文本。这个项目把关键指标做成概览卡片后,阅读门槛会低很多。

安全相关内容没有缺位。

像 SSH 配置、UID=0 账户、空密码账户、密码过期、失败登录记录、SUID/SGID 文件扫描,这些都属于平时容易被忽略,但真出问题时又必须回头检查的项。它能一起带上,这点比较加分。

Docker 和常见服务状态也照顾到了。

现在很多业务机器不只是跑一个简单进程,还会有容器、代理、数据库、缓存、Web 服务。项目对这部分做了兼顾,实战价值会更高。

总体建议这一块比较接地气。

不是单纯把告警丢给你,而是按短期、中期、长期做建议分类。哪怕这部分不能替代人工判断,也能帮你更快抓住重点。

适合哪些人

如果你是下面这几类人,这个项目可以放进收藏夹里:

  • • 经常要管 Linux 服务器的开发同学
  • • 需要做日常巡检的运维同学
  • • 想给客户或团队输出巡检报告的交付人员
  • • 想搭建轻量自动化巡检能力的小团队
  • • 喜欢 Bash 工具、偏爱轻量方案的技术同学

它不一定适合那种超大规模、超复杂、需要平台化统一管控的场景,但对于很多团队的日常巡检、快速排查、报告输出来说,已经足够能打。

结语

这两年大家看工具看得越来越实际了,花架子少一点,能真的帮忙省时间、省重复劳动,才更容易留下来。

Linux_Auto_Inspection 就属于这种类型:轻、直接、上手快、结果也好分享。如果你最近正好想补一个 Linux 巡检脚本,或者想把巡检结果整理得更像样一点,这个项目值得你抽点时间跑一遍。

有些工具不一定要很大,能把一个高频动作做顺手,其实就已经很有价值了。

源码:https://github.com/Aidan-996/Linux_Auto_Inspection

往期项目

开源|一款域名和SSL证书到期自动监控平台,支持邮件/企微/钉钉/飞书告警、自动续期

开源|这款AI助手接入了118个服务,自带记忆树和 Obsidian 同步

开源|一款能操控电脑的AI工具,可手点按钮、天然跨平台,界面改版也不怕

开源|一款 Markdown 转公众号排版神器,支持 AI 智能优化和 72 套模板

DeepSeek估值3500亿背后,我翻到了一个被所有人忽视的赛道

了解更多

Linux自动巡检、服务器巡检脚本、HTML巡检报告、JSON输出、Bash脚本、开源运维工具、MIT License

最新文章

随机文章