分析ip流量的python脚本
生活随笔
收集整理的這篇文章主要介紹了
分析ip流量的python脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
日志文件格式如下
172.16.225.66 10.71.2.162 1612409 172.16.15.252 10.71.11.31 1210446 172.16.15.252 10.71.11.59 1197976 172.16.15.252 10.71.11.30 1166167 172.16.15.252 10.71.11.66 1149429 172.16.15.252 10.71.11.65 1124686 172.16.15.252 10.71.11.46 1110412?
?使用anychart圖標插件
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>AnyChart Sample</title> <script type="text/javascript" language="javascript" src="./AnyChart.js"></script> </head> <body><script type="text/javascript" language="javascript">//<![CDATA[var chart = new AnyChart('./AnyChart.swf');chart.width = 800;chart.height = 500;chart.setXMLFile('./buildxml/');chart.write();//]]></script> </body> </html>?
數據由這個地址提供?
chart.setXMLFile('./buildxml/');這個地址由Django生成 (寫的很糙,新手)
#!/usr/bin/python # -*- coding:utf-8 -*- import glob import datetime from django.http import HttpResponse#build dynamic data def build_xml(request):file_list = glob.glob('/vm_share/Bps*')file_list.sort()result = {}for id,fn in enumerate(file_list):for line in open(fn):src_ip, dest_ip, flow = line.split()result.setdefault(src_ip, [0] * len(file_list))[id] += int(flow) / 1000result.setdefault(dest_ip, [0] * len(file_list))[id] += int(flow) / 1000del_list = []for key in result:if max(result[key]) <= 5000:del_list.append(key)for key in del_list:del result[key]#build xml formatxml_start = r'''<?xml version="1.0" encoding="UTF-8"?><anychart><settings><animation enabled="True" /></settings><charts><chart><data_plot_settings default_series_type="Line"><line_series><tooltip_settings enabled="true"><format>IP:{%SeriesName}流量:{%Value}{numDecimals:0}</format></tooltip_settings></line_series></data_plot_settings><data>'''xml_end = r'''</data><chart_settings><title><text>IP流量分析</text></title><axes><y_axis><title><text>KB/s</text></title></y_axis><x_axis><labels align="Outside" /><title><text>時間</text></title></x_axis></axes></chart_settings></chart></charts></anychart>'''start_time = datetime.datetime(2012,07,26,20,04,00)time_interval = datetime.timedelta(minutes=5)time_axis = []for i in range(len(file_list)):time_axis.append(start_time.strftime('%H:%M'))start_time += time_intervalxml = ''for ip in result:i = 0xml_data = '<series name="%s" >' %ipxml += xml_datafor point in result[ip]:xml_data = '<point name="%s" y="%s" />' %(time_axis[i], point)xml += xml_datai += 1xml_data = '</series>'xml += xml_datareturn HttpResponse(xml_start + xml + xml_end)?
這是展示
轉載于:https://www.cnblogs.com/txwsqk/archive/2012/07/27/2612013.html
總結
以上是生活随笔為你收集整理的分析ip流量的python脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: D5rpg
- 下一篇: Python和xml简介