核心用法
Website Monitor 是一款基于 Python 标准库 urllib 开发的零依赖网站监控工具,无需安装 requests、aiohttp 等第三方包即可运行。核心功能包括:
- 可用性检测:验证指定 URL 是否返回预期的 HTTP 状态码(默认 200),支持自定义超时时间(默认 10 秒)
- 性能监控:精确测量并输出响应时间(毫秒级)与响应体大小
- 内容变更检测:基于 SHA-256 哈希算法对比页面内容变化,适合监控静态页面更新或防止未授权篡改
- 文本验证:检查响应体是否包含指定字符串,适用于状态页监控(如验证 "All Systems Operational")
- 批量与自动化:支持同时检测多个站点,输出 JSON 格式便于管道处理,退出码设计(失败返回 1)完美兼容 Cron 作业与 Shell 脚本
显著优点
1. 零部署成本:纯标准库实现,在任意装有 Python 的环境中直接运行,无依赖冲突风险
2. 运维友好:退出码机制、JSON 输出、毫秒级计时,天然适配 CI/CD 流水线与告警系统
3. 灵活验证:状态码预期、文本包含、哈希比对三层校验,覆盖常见监控场景
潜在局限
- 不支持 JavaScript 渲染的动态页面(单页应用、前端框架生成的内容无法检测)
- 缺乏持久化存储,历史趋势分析需配合外部数据库或日志系统
- 无内置告警通道(邮件/短信/Slack),需自行对接
- 哈希检测对动态内容(如广告、时间戳)会产生误报
适合人群
- 运维工程师与 SRE:快速搭建站点可用性监控
- 开发者:CI/CD 中验证部署状态或预览环境可用性
- 个人站长:轻量级服务器健康检查,替代复杂监控方案
常规风险
- 高频请求可能触发目标站点 WAF 或速率限制,需合理设置检查间隔
- 明文 URL 与敏感参数可能暴露于进程列表或日志中,注意权限管理