WEB日志分析

主要通过上传nginx日志,1、通过饼图画出200,400,404 占用多少比例。2、通过柱状图,根据昨天每小时的访问量是多少。

1、创建app 为webanalysis
python manage.py startapp webanalysis

2、在主路由上添加
WEB日志分析_第1张图片

settings中添加app:
WEB日志分析_第2张图片

3、编辑app的url
WEB日志分析_第3张图片

编辑views.py
WEB日志分析_第4张图片

在base.html模板中添加日志模块
WEB日志分析_第5张图片

验证:
访问:http://192.168.1.48:9000/user/index/

WEB日志分析_第6张图片

4、编辑上传文件功能
[root@test-01 webanalysis]# pwd
/mnt/Django-re/cmdb-14/webanalysis
[root@test-01 webanalysis]# mkdir templates/webanalysis -p

5、编辑modles.py
WEB日志分析_第7张图片

6、同步文件、数据表

python manage.py makemigrations
python manage.py migrate

7、编辑视图函数
def upload
作用:上传文件到服务器文件中
[root@test-01 media]# pwd
/mnt/Django-re/cmdb-14/media
[root@test-01 media]# ls
notices uploads

uploads:将上传文件写入到里面
notices:{"id": 13, "path": "/mnt/Django-re/cmdb-14/media/uploads/1541145498.1169226"}

8、(写个while True 死循环)监控notices的文件,有的话就去分析

from django.core.management import BaseCommand

class Command(BaseCommand):
def handle(self, *args, **options):

9、编辑views.py 中的index 方法
通过request在前端获取到id,然后再通过数据库查询到name的值,返回到前端展示数据

10、下载后放到static目录:
因为:统一存放在一个目录下

11、用工具echarts工具画图:
http://echarts.baidu.com/echarts2/doc/example.html

12、echarts使用:
http://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts

13、排查问题通过浏览器按12查看前端,还是后端的问题

14、结果: