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

GitHub:

https://github.com/yjlch1016/dmonitor

一、参考文档:

Django官方文档

https://docs.djangoproject.com/zh-hans/3.0/

django-xadmin官方文档

https://xadmin.readthedocs.io/en/docs-chinese/

Django REST framework官方文档

https://www.django-rest-framework.org/

drf-yasg官方文档

https://drf-yasg.readthedocs.io/en/stable/

django-redis官方文档

https://django-redis-chs.readthedocs.io/zh_CN/latest/

uWSGI官方文档

https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/

Celery官方文档

https://docs.celeryproject.org/en/stable/

钉钉机器人开发文档

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

pyecharts官方文档

https://pyecharts.org/#/zh-cn/intro

二、设计思想:

进程管理工具:Supervisor

反向代理服务器:Nginx

Web服务器:uWSGI

Web开发框架:Django

消息中间件:Redis

缓存中间件:Redis

数据库:MySQL

任务队列:Celery

监控可视化:Grafana

三、目录结构:

四、第三方依赖库:

Django==2.2.2
PyMySQL==0.9.3
xadmin==2.0.1
xlrd==1.2.0
XlsxWriter==1.1.8
xlwt==1.3.0
uWSGI==2.0.18
uwsgitop==0.11
djangorestframework==3.10.2
drf-yasg==1.16.1
django-redis==4.12.1
django-import-export==2.2.0
requests==2.23.0
demjson==2.2.4
celery==4.3.0
django-celery-beat==1.5.0
django-celery-results==1.1.2
redis==3.2.1
pyecharts==1.8.1

五、工程说明:

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

微服务表:
微服务名称、Swagger地址、微服务开关、钉钉开关、邮件开关、微服务简介、创建时间、修改时间

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

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

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

环境配置表:
外键、域名、钉钉Webhook、密钥、收件人邮箱、创建时间、修改时间

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 monitor:latest
启动容器
后台运行
给容器取个别名monitor2020
映射80端口

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

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

exit
退出容器内部

docker stop monitor2020
停止容器

docker rm monitor2020
删除容器

4、公网访问地址:

(此为虚拟地址,真实并不存在,因为没买域名和服务器)
http://www.monitor.com/admin/
账号:admin
密码:test123456

Supervisor:
http://www.monitor.com/supervisor/
账号:admin
密码:test123456

六、Web页面:

七、钉钉报警示例:

八、API:

http://www.monitor.com/api/

http://www.monitor.com/redoc/

http://www.monitor.com/swagger/

原文地址:https://www.cnblogs.com/yjlch1016/p/13100572.html