在 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 → Export、Environment → 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,保障监控任务稳定