django+pandas+matplotlib進行日誌分析,畫圖,頁面展現

首先裝好環境。php

Django的配置這裏再也不說了python

看看日誌格式,以及咱們須要作什麼,一條舉例api

218.104.141.167 - - [26/Jan/2014:06:46:30 +0800] "GET /main/index.php?cmd=CheckMob&Useage=REGIST&Mob=15377587416%20alt= HTTP/1.1" 200 55 "http://www.zhasini.ml/ddos.php?hm=15377587416&c=281
" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko" 90021
175.41.23.251 - - [26/Jan/2014:06:46:31 +0800] "GET /main/index.php?cmd=CheckMob&Useage=REGIST&Mob=13276444989 HTTP/1.1" 200 55 "http://www.zhanimei.ga/mini/index.php?hm=13276444989&c=50689
" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" 65882

這裏有2條日誌,是我站點的日誌,能夠看見我須要統計個人站點究竟是有多少數量是直接輸入域名訪問,多少是從其餘地方referred過來,大概統計下。app

如何統計我就不說了,直接上結果ide

d={'1.htldxhzj.duapp.com': 9398,
 'gtxapi.cdn.duapp.com': 79496,
 'www.xxx.com': 2477070,
 'www.baidu.com': 1465,
 'www.bing.com': 777,
 'www.aaa.com': 1113101,
 'www.ccc.net.cn': 922,
 'www.zhanimei.ga': 29847,
 'www.zhanimei.ml': 40155,
 'www.zhasini.ml': 373436}

我只取了前幾名,整理成了一個字典.net

開始做圖日誌

from pandas import Series,DataFrame
import matplotlib.pyplot as plt

plt.figure(figsize=(8,6), dpi=80)
ts = Series(d)
ts.plot(kind='barh')
plt.savefig('/var/www/jastme/static/images/log.png')

HTML裏寫入img調用,把上面的代碼寫進Django的視圖裏,當你訪問頁面的時候便可獲得圖片。code

相關文章
相關標籤/搜索