基于Django的轻量级生产环境接口监控平台


一、设计思想:

进程管理工具:Supervisor

Web服务器:Nginx+uWSGI

Web框架:Django

中间件:Redis

数据库:MySQL

任务队列:Celery

监控可视化:Grafana

 

二、目录结构:

 

 

三、工程说明:

1、模型:
微服务表一对多用例表
用例表一对多步骤表
步骤表一对多运行结果表
微服务表一对一环境配置表

微服务表:
微服务开关、钉钉开关、微服务简介、创建时间、修改时间

用例表:
用例名称、用例开关、钉钉开关、创建时间、修改时间

步骤表:
步骤名称、请求方式、接口路径、请求体、请求头、请求参数、预期的响应时间、预期的响应代码、预期的响应结果、正则、创建时间、修改时间

运行结果表:
是否通过、失败原因、运行时间、实际的响应时间、实际的响应代码、实际的响应结果

环境配置表:
域名、创建时间、修改时间

2、本地调试:
python manage.py collectstatic
复制xadmin静态文件

python manage.py makemigrations
激活模型

python manage.py migrate
迁移

python manage.py createsuperuser
创建超级管理员账号
输入账号:admin
输入邮箱:123456789@qq.com
输入密码:test123456
二次确认

python manage.py runserver
启动服务

http://127.0.0.1:8000/admin/
用户名:admin
密码:test123456

3、本地打包:
docker build -t monitor .
monitor为镜像名称,随便取

docker run -d --name monitor2020 -p 80:80 mock:latest
启动容器
后台运行
给容器取个别名monitor2020
映射80端口

http://0.0.0.0/admin/
宿主机的IP地址
账号:admin
密码:test123456

docker exec -it monitor2020 /bin/bash
进入容器内部

exit
退出容器内部

docker stop monitor2020
停止容器

docker rm monitor2020
删除容器

4、公网访问地址:
http://www.monitoring.com/admin/
账号:admin
密码:test123456

 

四、Web页面:

 

 

 

 

 

 

五、钉钉报警示例:

 


作者:此生不换Yang,发布于:2020/06/12
原文:https://www.cnblogs.com/yjlch1016/p/13100572.html