rrdtool 初体验
source link: https://blog.lilydjwg.me/2012/12/2/first-time-rrdtool.36572.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
rrdtool 初体验
本文来自依云's Blog,转载请注明。
rrdtool 是「Round Robin Database tool」的缩写,是一个存放固定数量的数值型数据库,适合随时间变化的量的统计。比如网络传输速度、CPU 使用率、聊天室在线人数等。与大部分数据库软件不一样的是,它可以直接可视化数据,生成 PNG 图像。第一次使用,找点容易快速获取又有意义的数据源——ping 延迟好了。
第一步,确定数据库怎么存放什么数据。我打算发一千个 ping 包,然后存储其延迟。rrdtool 本来是按时间存储的,我用序号来骗骗它好了。起始时间为现在时间。数据的时间间隔为 1 秒,但实际上是一个序号。聚集函数为平均值,存储 1000 个数据。命令如下(百分号提示符表示 shell 是 zsh,下同):
% start=$(
date
+
'%s'
)
% rrdtool create
ping
.rrd --start=$start -s1 DS:
ping
:GAUGE:1:0:U RRA:AVERAGE:0.5:1:1000
其中,DS
是「数据源(data source)」的意思,RRA
是「round robin archives」。-s1
表示间隔为 1s。时间点是以距 epoche 的秒数表示的。
DS 部分,ping 是数据的名字,GAUGE
表示这就是一个值,不是累加(COUNTER
,如已传输字节数)或者其它的。1
是 heartbeat,超时这个时间还没收到数据的话就当作UNKNOWN
值了。再后边是最小值和最大值,超出的话也会被当成UNKNOWN
。那里的U
表示「UNKNOWN」。
RRA 部分,AVERAGE
是求平均值的聚集函数。类似的还有MAX
之类的。用于决定一个区间内的多个值如何归并为一个值。0.5
部分没看太懂。1
即每秒取一个值,1000
则是存储 1000 个这样的值。
取得数据:
%
ping
-c 1000 google.com >
ping
.log
把数据处理后喂给 rrdtool 的数据库,每次喂最多 1000 条数据:
%
grep
-oP
'\d+\sttl\S+ \S+'
ping
.log |
sed
's/ttl.*=//g'
|
awk
-vstart=$start
'{print $1+start ":" $2}'
|
xargs
-n 1000 rrdtool update
ping
.rrd
生成每 1、5、15 秒的统计图像:
%
for
i
in
1 5 15;
do
rrdtool graph ping_$i.png --start=$start --end=$(( $start + 1000 )) -S $i --vertical-label=ms --width=800 --height=300 DEF:
v
=
ping
.rrd:
ping
:AVERAGE
'AREA:v#00dd00'
;
done
其中,-S
是指定绘图的步长。其它参数很好理解。后两部分解释如下:
DEF
设置变量v
为 ping.rrd 数据库中的 ping 变量。还有可选的CDEF
,比如可以写CDEF:s=v,1000,/
,即令变量s
等于v / 1000
。这里是逆波兰表达式。'AREA:v#00dd00'
表示绘制矩形图,纵轴变量为v
,颜色为 #00dd00。画线的话可以用'LINE1:v#00dd00'
这样子,LINE
后边的数字是线的宽度。
好啦,图像如下:
Recommend
-
220
本文作者抱着学习的态度,体验了快手这款独角兽产品,从而试着了解中国三四线及农村用户的核心需求。 整天坐在办公室的产品经理是肯定做不出快手这款APP的,相传快手的CEO是在三四线城市居住了几年才做出来这款火爆中国的产品。由于短视频从去年一直处在风口上,而...
-
119
去年,当OPPO、vivo以黑马般的姿态登上国产手机销量排行榜TOP3时,许多人才恍然大悟:原来这些被忽略许久的线下品牌竟活得这么好!许多人都有这样的疑问:OV、金立等线下品牌究竟怎么做到的?如果你有机会到一个五六线城市看一看,相信你一定可以找到答案。
-
156
Page not found · GitHub Pages File not found The site configured at this address does not contain the requested file. If this is your...
-
108
用户体验设计师,这10个世界级盛会是为你准备的 收藏 2017-10-23 推荐:
-
87
来源:成都商报当生命的计时器停止摆动,当死亡悄然降临……这一刻,你留在世上的会是什么?近日,一场集体“葬礼”在四川成都七中万达学校的体育馆里举行,54名初一学生静静地躺在地板上,体验着“死亡”的滋味。20分钟的体验“死亡”之后是重生,当再次
-
141
让移动端用户体验出类拔萃的5种技巧 - 优设网 - UISDC
-
84
体验了首家QQfamily智能主题酒店,强IP概念酒店是一门俘获年轻人的好生意?高小倩·2017-10-28 05:00你会被这样的主题房套路吗?十一...
-
145
“消费者并不知道自己需要什么,直到我们拿出自己的产品,他们就发现,这是我要的东西”这段援引自乔布斯在发布会上说的话曾经引来无数解读和引用,然而如果以iPhone这条产品线做标准,似乎这几年苹果早就把其扔到了某个弃置仓库。今天旧话重提,因为i
-
4
Graph your sensors data with RRDtool sensors rrdtool graph...
-
13
cacti+apache+php+mysql+rrdtool搭建流量监控平台 浏览:4971次 出处信息 1,apache的安装 详细的不说,傻...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK