Django日志可视化大作战

来源:互联网 发布:js离开页面事件 编辑:程序博客网 时间:2024/04/28 07:29

简介:

日常的各种应用都有很多的日志文件,某些特殊的应用需要分析日志,对于较小的应用我门可以采用自己编写脚本工具来完成分析,那么对于大型应用的日志数据,我们就需要借用开源软件帮助我们完成。我将会分两部分来讲,第一部分是介绍如何使用Python+echart 完成日志可视化的任务,后部分讲给大家介绍如何使用Elasticsearch + logstash + Kibana 实现对日志的实时大批量的数据可视化。

Python实现

背景:如果老板让你对一个web应用的访问日志进行分析,给力你一些基本的要求,比如说访问量最大的IP地址,防止爬虫影响网站运行。分析访问客户的一些特征。

1.简单版本
你写了一个脚本,去分析日志,出一个报表,基本满足了老板的要求,但是没有什么特点,不能让你的工作出色。
2. Django版本
你整懂得一些web开发知识,决定写一个一个web工具报表更好的展示,这样了老板就不用每次都查看邮件了,只要点点就能找到他想看到的数据。

这里写图片描述
2.1 这样他只显示前10可能不够,偶尔会看到后面的,做好是能查看所有的,按照访问量排序。
这里写图片描述

这样的版本基本上对于绝大多数运维来说已经够了,老板说小伙子不错啊!但是如果你是一个开发,这样显然是不够的。然后我就有开发一个用图来展示的版本。
这里写图片描述
这里写图片描述

利用echart实现了可以调节时间的显示,并且可以下载图片,老板看到这个版本可能说小伙子不错啊,有发展前途,年底涨工资。

3.Django酷炫版本
这样已经满足了可视化的要求,既美观又直接,但是不够惊艳,你想做的更加惊艳一些,然后我就有做出来一个更牛逼的版本。
这里写图片描述

老板看到这个版本直接和HR说这个月就加工资。哈哈都是自己幻想的。

最后一图幅可视化图数据是微博的数据,由于暂时只找到这一份数据。以上都是自己实现几个日志可视化例子,对于一般的网站日志分析应该是已经够了,我将会在下面把实现源码链接贴出来,日志数据来源于网络,所以不要做任何对应关系,日志数量比较少,所以图标出来并不是很漂亮,这样对于一些较小的应用已经够了,但是对于大型应用,巨量日志的实时分析就不能采用以让的方法,必须借用一些开源软件的结合。

源码: https://github.com/Dushibing/log-visual

ELK

ELK由Elasticsearch、Logstash和Kibana三部分组件组成;
Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用
kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

ELK的帮助手册
ELK官网:https://www.elastic.co/
ELK官网文档:https://www.elastic.co/guide/index.html
ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html

这里写图片描述

0 0
原创粉丝点击