三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

效率倍增:用快马AI生成批量网络诊断脚本,自动化执行工具箱v8.4的例行任务

效率倍增:用快马AI生成批量网络诊断脚本,自动化执行工具箱v8.4的例行任务

最近在维护公司网络时,经常需要批量测试几十个服务器的连通性。手动一个个ping和telnet实在太费时间,于是尝试用Node.js写了个自动化脚本。这里分享下我的实现思路,特别感谢InsCode(快马)平台让整个开发过程变得特别顺畅。

  1. 整体设计思路这个工具主要解决三个核心需求:批量ping测试、端口扫描和生成可视化报告。我把它拆分成四个模块:配置文件读取、网络检测、报告生成和主流程控制。

  2. 配置文件处理首先创建一个ip_list.txt文件,每行放一个IP或域名。脚本启动时会读取这个文件,同时支持通过参数指定检测端口(默认检查80和443)。这里用了Node.js的fs模块同步读取,简单直接。

  3. 网络检测实现

    • ping测试使用了node-ping这个npm包,比直接调用系统命令更方便处理结果
    • 端口检测用net模块创建socket连接,设置2秒超时避免卡住
    • 每个检测都封装成Promise,方便用Promise.all并行执行
  4. 报告生成优化最开始用console.log输出,后来改成生成HTML文件。用模板字符串构建表格,添加了CSS样式:

    • 绿色表示正常
    • 红色标记异常
    • 显示平均延迟数值
    • 自动记录测试时间
  5. 使用示例安装依赖后直接运行:

    node scanner.js --ports 80,443,8080

    程序会自动读取同目录下的ip_list.txt,完成后生成result.html。

  1. 实际效果测试50个IP的完整过程从原来的30分钟缩短到20秒左右。报告可以直接发给领导,比手工记录专业多了。我们还把这个脚本设为定时任务,每天早上自动跑一遍。

  2. 遇到的坑

    • 某些服务器禁ping需要特殊处理
    • 异步并发数太多会导致误报
    • 中文路径生成HTML会乱码 这些都在代码里做了兼容处理。
  3. 扩展方向后续准备加入:

    • 邮件自动发送报告
    • 历史结果对比
    • 可视化图表展示
    • 支持更多检测类型(DNS、HTTP等)

在InsCode(快马)平台上开发这类工具特别省心,不用操心环境配置,写完直接就能跑。他们的在线编辑器响应很快,还能随时预览HTML效果。最棒的是可以一键部署成在线服务,我们团队现在都直接用它生成的链接查看报告。

如果你也需要做类似的网络检测,强烈推荐试试这个方案。从手动测试到自动化,效率提升不是一点点。关键代码不到200行,却能让日常工作轻松很多。平台自带的AI辅助还能帮忙优化代码,连我这样的前端开发都能快速搞定运维工具。

← 返回列表