品质管理 网站外链可用性监控系统

81—1 · 2019年06月12日 · 最后由 81—1 回复于 2019年06月13日 · 65036 次阅读

简介

大部分的网站都会有一些相关行业的外部链,这些一般是由相关模块的运营部门提供的,但是这些第三方链接可用性我们很难去保证。如果用户从我们这边点击了不可用的外链,也会对我们的服务产生质疑。因此开发了这个外链可用性监控系统。

框架

其实原理很简单,利用 python requests 库,加上一些超时、重试、切换代理的方式去多次检查链接的可用性,以保证报告的准确性。结合富文本邮件,并 Email 提供给相关人员报告展示。
数据我选择放在 Excel 里是为了降低系统的复杂度,主要是对接的运营人员都是 Excel 提供数据 ,你也可以改装下放数据库。

整体的架构

工程结构

├── common
│   ├── emailCommon.py     # 邮件发送模块
│   └── HTMLBuilder.py       # HTML报告生成模块
├── data
│   └── url_data.xls              # 测试&配置数据
├── templete
│   └── templete.html           # HTML模板
├── venv                              # 虚拟环境
├── .gitignore                       # 提交过滤模板
├── checkScript.py              # 检查核心脚本
├── requirements.txt            # 模块依赖说明
└── run.py                            # 启动脚本

功能点

  • 定时执行检查任务
  • 邮件及部门通知人可配置
  • 支持 2 个以下的额外网络代理检查
  • 是否只在失败时通知部门负责人可配置
  • 测试报告邮件相关人员 # 报告 ### 总览报告

出错收到的报告

配置

文件字段说明

系统中的配置信息都在 url_data.xls 的各个 sheet 中,其实就相当于数据库的各个表。

url_data.xls > mail_config # 邮件及定时任务配置

  • mail_server # 邮件服务器
  • user_name # 发件人账号
  • user_password # 发件人密码
  • mail_From_user # 邮件中显示的发件人名
  • mail_From # 邮件中显示的发件人邮箱
  • mail_subject # 邮件标题
  • admin_user # 系统管理员邮箱(总览报告通知人)
  • admin_cc_user # 系统报告抄送人邮箱(总览报告通知人)
  • run_time # 定时任务启动时间

url_data.xls > proxy_config # 可用代理配置

  • id # 序号
  • name # 代理名
  • proxy # 代理配置(可配置账号密码)

url_data.xls > dep_config # 部门配置

  • id # 部门 ID(URL 的所属用的)
  • name # 部门名称
  • owner # 部门负责人
  • cc # 抄送人
  • report_type # 是否只有出错时才通知(1.只有出错时通知,0.都会通知)

url_data.xls > data # 检查链接数据

  • id # 序号
  • page_name # 检查的链接所属的页面名称
  • page_url # 检查的链接所属的页面链接
  • check_name # 检查的链接的名称(暂时没用,报告中直接显示了检查的 URL)
  • check_url # 被检查的链接
  • dep # 所属的部门

安装依赖

系统是基于 py3 写的,使用的虚拟环境,具体用啥你随意。

$ pip install -r requirements.txt

启动系统

$ python run.py

开源地址

https://github.com/t880216t/url_check

更多的测试技术及工具使用,欢迎 QQ 进群交流:

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复 时间 点赞

图片挂了,楼主更新一下吧

simple 回复

已补图,谢谢提醒

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册