温馨提示×

如何在Ubuntu上用Postman进行接口监控

小樊
42
2025-12-29 22:42:52
栏目: 智能运维

在 Ubuntu 上使用 Postman 进行接口监控

一 安装与准备

  • 方式一 使用 Snap(推荐)
    • 执行:sudo apt update && sudo apt install snapd -y
    • 安装:sudo snap install postman
  • 方式二 使用官方压缩包
    • 下载:Postman-linux-x64-.tar.gz
    • 解压:tar -xvf Postman-linux-x64-<version>.tar.gz
    • 移动:sudo mv Postman /opt/
    • 软链:sudo ln -s /opt/Postman/Postman /usr/bin/postman
  • 准备监控内容
    • 在 Postman 中创建集合 Collection,将需要监控的接口请求加入集合
    • 建立环境 Environment,配置如 {{BASE_URL}}{{API_KEY}} 等变量,便于多环境切换

二 创建监视器与断言

  • 创建监视器
    • 在集合侧边栏选择 … → Monitor → Add New Monitor
    • 配置:名称频率(如每 5/15/30 分钟、1 小时)、持续时间(如 7 天/30 天/永久)、运行地区关联环境
  • 编写断言 Tests(示例)
    • 状态码:pm.test("Status code is 200", () => pm.response.to.have.status(200));
    • 响应时间:pm.test("Response time < 500ms", () => pm.expect(pm.response.responseTime).to.be.below(500));
    • 响应内容:pm.test("Has valid name", () => { const d = pm.response.json(); pm.expect(d.name).to.exist; pm.expect(d.name).to.equal("Expected Product Name"); });
  • 保存并运行
    • 点击 Save and Run,后续将按计划自动执行,并在云端展示每次运行的状态码、响应时间、断言结果等报告

三 报警与通知集成

  • 邮件通知
    • 监视器 Settings → Alerts → Email Notifications,勾选“Send email alerts when monitor fails”,添加接收邮箱(可多个)
  • 第三方集成
    • Settings → Integrations 中添加 Slack / PagerDuty
    • 授权并选择目标频道/服务,设置触发条件(如监控失败时推送),实现即时告警

四 进阶 使用 Newman 在 Ubuntu 自建定时监控

  • 适用场景
    • 需要内网可达的接口监控、更灵活的定时策略、与 CI/CD 集成、或希望脱离 Postman 云端托管的场景
  • 快速步骤
    • 导出集合与环境:Collection → ExportEnvironment → Export
    • 安装 Newman:npm i -g newman
    • 运行示例:newman run Order_API_Monitor.json -e production_env.json --reporters cli,html --reporter-html-export report.html
    • 定时执行:在 crontab 中配置,例如每 5 分钟执行一次
      • */5 * * * * /usr/bin/newman run /path/Order_API_Monitor.json -e /path/production_env.json --reporters cli,html --reporter-html-export /var/reports/api-report-$(date +\%F-\%H\%M).html
  • 扩展
    • 可使用开源的 monitor-man(基于 Newman)搭建带 Web UI错误告警多机房分发 的监控服务

五 常见问题与排障

  • 内网接口无法被 Postman 云端监视器访问
    • 云端监视器更适合公网接口;对内网接口,采用 Newman + 定时任务/Cron 的方式更可靠
  • 变量与环境
    • 善用 环境变量/全局变量 管理 {{BASE_URL}}{{TOKEN}},避免硬编码,便于环境切换与保密
  • 资源与稳定性
    • 长时间运行的监控任务建议放在后台/容器中执行;同时用系统工具(如 top/htop/vmstat/iostat)观察 CPU/内存/IO,保障监控任务稳定

0