具体:http://www.verydemo.com/demo_c122_i34285.html
1
|
sudo apt- get install python-rrdtool
|
二、创建rrd文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys
import rrdtool
/ / 创建net.rrd,数据获取间隔是 300 秒
rrdtool.create(“ / opt / rrdtool / net.rrd”, “–step”, “ 300 ″, “–start”, ’ 0 ′,
/ / 变量 input ,类型COUNTER,超时时间 600 秒,U最小值无,U最大值无。
“DS: input :COUNTER: 600 :U:U”,
“DS:output:COUNTER: 600 :U:U”,
/ / 0.5 : 一个CDP里所有PDP值超过一半为UNKNOWN,则该CDP的值也为UNKNOWN。
“RRA:AVERAGE: 0.5 : 1 : 600 ″,
/ / 6 表示对 6 个PDP合成一个CDP,取 6 个PDP的平均值( 6 * 300 = 半个小时的平均值)
“RRA:AVERAGE: 0.5 : 6 : 700 ″,
/ / 755 便是RRA记录的条数
“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 ″)
|
三、更新rrd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys
import rrdtool
input = 0
output = 0
/ / 读取proc里网卡数据
F = open (‘ / proc / net / dev’)
for line in F.readlines():
/ / 过去eth0的数据
if ‘eth0′ in line:
input = line.split()[ 1 ]
output = line.split()[ 9 ]
/ / eth0的进出流量更新到net.rrd里。
rrdtool.update(‘ / opt / rrdtool / net.rrd’,'N:’ + input + ‘:’ + output)
|
四、画图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys
import rrdtool
/ / 生成net.png图片, - 8h 起始时间 8 小时以前。
rrdtool.graph( “ / tmp / net.png”, “–start”, “ - 8h ”,
/ / Y轴说明
“–vertical - label = Bytes / s”,
/ / 将net.rrd里 input 的平均数据赋值给inoctets
“DEF:inoctets = / opt / rrdtool / net.rrd: input :AVERAGE”,
“DEF:outoctets = / opt / rrdtool / net.rrd:output:AVERAGE”,
/ / 用面积表示inoctets数据,颜色为绿色
“AREA:inoctets #00FF00:In traffic”,
/ / 用 1 像素线表示outoctets数据,颜色为蓝色。
“LINE1:outoctets #0000FF:Out traffic\\r”,
/ / inbits = inoctets * 8 将小b换成大B
“CDEF:inbits = inoctets, 8 , * ”,
“CDEF:outbits = outoctets, 8 , * ”,
/ / 换行
“COMMENT:\\n”, “GPRINT:inbits:AVERAGE:Avg In traffic\: % 6.2lf % Sbps”,
“COMMENT: ”, “GPRINT:inbits: MAX : Max In traffic\: % 6.2lf % Sbps\\r”,
“GPRINT:outbits:AVERAGE:Avg Out traffic\: % 6.2lf % Sbps”,
“COMMENT: “, “GPRINT:outbits: MAX : Max Out traffic\: % 6.2lf % Sbps\\r”)
|
相关推荐
用Python与Django开发的在线教育平台网站源码 用Python与Django开发的在线教育平台网站源码 用Python与Django开发的在线教育平台网站源码 用Python与Django开发的在线教育平台网站源码 ...
使用Python Lua和Ruby语言进行游戏编程
(深信息)用python实现贪吃蛇小游戏毕业设计报告 .docx(深信息)用python实现贪吃蛇小游戏毕业设计报告 .docx(深信息)用python实现贪吃蛇小游戏毕业设计报告 .docx(深信息)用python实现贪吃蛇小游戏毕业设计报告 .docx...
本代码实现了用python处理svn log数据(xml格式),把Log的数据转化为一个python的数据结构,方便作更进一步数据挖掘!
MicroPython顾名思义就是可以在微型控制器上跑的Python,换句话说就是用Python语言控制单片机。所谓Python其实就是一种编程语言,就像非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的...
使用python将xml转化为Excel 由于生成excel,所以没必要让用户选择xml文件,默认对指定文件夹下的所有的XML文件进行转换,并把转换得到的Excel放在指定文件夹。 运行时可以双击.py文件(看不到具体log); 或者按住...
用python的turtle库画柯南,代码完整,画的也好看
发掘Scons——替代Make的Python工具:Scons是用Python实现的一款跨平台的开源Build Tool,用Python实现意味着Scons比Make所使用的类Shell语言更贴近于自然语言,更易于理解和控制;用Python实现的另一个好处也是Make...
使用python对2维图像采用最邻近插值和双线性插值算法实现旋转
使用Python语言在数字设计中,有很多优势比如算法建模,RTL模板生成等优势
用python画一只可爱的布朗熊 python版本要求3.0以上,代码完整,下载下来即可运行。
使用python生成文字视频
使用python进行视频画质增强,主要使用库opencv-python和pillow
用python做科学计算,欢迎喜欢使用python的朋友下载,谢谢
Python实战应用-用Python实现1953_2021年人口普查可视化
用python和pythonOCC写的一个简单的CAD程序。相当简陋,许多功能尚未实现。可以画简单的几何体:块体,球,圆锥,圆柱,线,圆弧等。
用Python写网络爬虫 完整文档和代码
用Python驱动开源硬件.pdf
使用python的django开发的一个商城项目源码 使用python的django开发的一个商城项目源码 使用python的django开发的一个商城项目源码 使用python的django开发的一个商城项目源码 使用python的django...
使用Python复现seismiclab的forward_radon_freq函数 实现Radon变换从变换域到原始数据域的变换。 也就是,使用python实现Radon变换的反变换。