1. 首页
  2. 数据分析

利用python实现网卡流量图表绘制

点击上方免费订阅学习)

项目背景:

利用python实现一个自动化的网卡流量图表绘制,这对于我们实现自动化运维平台有更深入的理解,

也会让我们对于现有的一些监控软件的一些实现都有很大的帮助。

实现环境:

虚拟机VMwareWorkstation12 player

服务器:centos6.5的系统 ip:192.168.0.25

python2.6.6

rrdtool模块、time模块、psutil模块。

SecureCRT ssh远程连接软件

实验过程:

思路其实很清醒:创建rrd数据库—->数据写入rrd数据库—–>根据数据画图 ok!!!完事儿

一、首先创建我们的工作目录,然后创建三个文件(create.py、update.py、graph.py)。

利用python实现网卡流量图表绘制

二、创建rrd数据库。

[root@ www rrdtool]# cat create.py

#!/usr/bin/env python

import rrdtool

import time

cur_time=str(int(time.time()))

rrd=rrdtool.create('Flow.rrd','–step','300','–start',cur_time,

'DS:eth0_in:COUNTER:600:0:U',

'DS:eth0_out:COUNTER:600:0:U',

'RRA:AVERAGE:0.5:1:600',

'RRA:AVERAGE:0.5:6:700',

'RRA:AVERAGE:0.5:24:775',

'RRA:AVERAGE:0.5:288:797',

'RRA:MAX:0.5:1:600',

'RRA:MAX:0.5:6:700',

'RRA:MAX:0.5:24:775',

'RRA:MAX:0.5:444:797',

'RRA:MIN:0.5:1:600',

'RRA:MIN:0.5:6:700',

'RRA:MIN:0.5:24:775',

'RRA:MIN:0.5:444:797')

if rrd:

print rrdtool.error()

赋予执行权限执行一下。

利用python实现网卡流量图表绘制可以看到我们创建了一个名字是Flow.rrd的数据库文件。

三、数据写入到rrd数据库

[root@ www rrdtool]# cat update.py

#!/usr/bin/env python

import rrdtool

import time,psutil

total_input_traffic = psutil.net_io_counters()[1]

total_output_traffic = psutil.net_io_counters()[0]

starttime=int(time.time())

update=rrdtool.updatev('/home/test/rrdtool/Flow.rrd','%s:%s:%s' %

(str(starttime),str(total_input_traffic),str(total_output_traffic)))

print update

执行一下,数据写入~~~

利用python实现网卡流量图表绘制四、最后一步,绘图!!!!!

[root@ www rrdtool]# cat graph.py

#!/usr/bin/python

import rrdtool

import time

title="Server network traffic flow ("+time.strftime('%Y-%m-%d',

time.localtime(time.time()))+")"

rrdtool.graph( "Flow.png", "–start", "-1d","–vertical-label=Bytes/s",

"–x-grid","MINUTE:12:HOUR:1:HOUR:1:0:%H",

"–width","650","–height","230","–title",title,

"DEF:inoctets=Flow.rrd:eth0_in:AVERAGE",

"DEF:outoctets=Flow.rrd:eth0_out:AVERAGE",

"CDEF:total=inoctets,outoctets,+",

"LINE1:total#FF8833:Total traffic",

"AREA:inoctets#00FF00:In traffic",

"LINE1:outoctets#0000FF:Out traffic",

"HRULE:6144#FF0000:Alarm value\r",

"CDEF:inbits=inoctets,8,*",

"CDEF:outbits=outoctets,8,*",

"COMMENT:\r",

"COMMENT:\r",

"GPRINT:inbits:AVERAGE:Avg In traffic: %6.2lf %Sbps",

"COMMENT: ",

"GPRINT:inbits:MAX:Max In traffic: %6.2lf %Sbps",

"COMMENT: ",

"GPRINT:inbits:MIN:MIN In traffic: %6.2lf %Sbps\r",

"COMMENT: ",

"GPRINT:outbits:AVERAGE:Avg Out traffic: %6.2lf %Sbps",

"COMMENT: ",

"GPRINT:outbits:MAX:Max Out traffic: %6.2lf %Sbps",

"COMMENT: ",

"GPRINT:outbits:MIN:MIN Out traffic: %6.2lf %Sbps\r")

执行它,绘图!!!

利用python实现网卡流量图表绘制可以看到我们生成了一个图片,你肯定是想看一幅漂亮的图片,而不是这个!!!!

利用python实现网卡流量图表绘制可以看到,有没有很神奇!!!!!!!!!!!!件相当于我们自己写了一个监控软件,而且看起来还很美!!!!!

总结:通过这个项目我们可以对与监控有更清晰的认识,其实一般也就这三步:

创建rrd数据库—->数据写入rrd数据库—–>根据数据画图 ok!!!完事儿

希望大家可以得到学习,谢谢,知识在于共享!!!!

来源:http://9399369.blog.51cto.com/9389369/1748831

PPV课转载的每一篇文章均来源于公开网络,仅供学习使用,不会用于任何商业用途,文章版权归原作者所有,如果侵犯到原作者的权益,请您与我们联系删除或者授权事宜,联系邮箱:149104196@qq.com。转载PPV课网站文章请注明原文章作者,否则产生的任何版权纠纷与PPV课无关。

PPV课-国内领先的大数据学习社区和职业培训平台

利用python实现网卡流量图表绘制

1、回复“数据分析师”查看数据分析师系列文章

2、回复“案例”查看大数据案例系列文章

3、回复“征信”查看相关征信的系列文章

4、回复“可视化”查看可视化专题系列文章

5、回复“SPPS”查看SPSS系列文章

6、回复“答案”查看hadoop面试题题目及答案

7、回复“爱情”查看大数据与爱情的故事

8、回复“笑话”查看大数据系列笑话

9、回复“大数据1、大数据2、大数据3、大数据4”查看大数据历史机遇连载

PPV课大数据ID:ppvke123(长按可复制)

本公众号专注大数据和数据科学领域,分享领域知识和相关技术文章,探索大数据商业价值,培养和挖掘大数据专业人才,欢迎大家关注!

原文始发于微信公众号(PPV课数据科学社区):利用python实现网卡流量图表绘制

原创文章,作者:ppvke,如若转载,请注明出处:http://www.ppvke.com/archives/15835

联系我们

4000-51-9191

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息