企业级监控系统之二RRDTool

原文链接: https://my.oschina.net/charlock/blog/651652

一、系统环境

  本地Linux: Centos 6.5 x64 192.168.47.139

  RRDTool: 1.3.8

二、系统概述

  1.Round Robin Database Tool 架构

企业级监控系统之二RRDTool_第1张图片

    RRD:一个指定固定大小的环状数据库,每个一段间隔时间(默认300s)去获取直接数据节点PDP,保存含有时间戳的(可以多个不同)时间序列(Data Source)数据到对应的时间槽上,存储上限时会覆盖原有数据。RRD创建时,需要制定保存数据的时间起点,和间隔时间,扇形数据库以此划分数据槽。

    RRA:轮转归档信息,获取的数据节点PDP(Primary Data Point)存储到数据库的临时数据区域,获取的PDP以(可以多个不同)解析度(时间跨度resolution)分组归档、进行(可以多个不同)聚合函数运算后的聚合数据节点CDP(Consolidation Data Point)放到对应数据槽。

企业级监控系统之二RRDTool_第2张图片

    聚合函数CF:LAST  MAX  MIN  AVERAGE

                          xff  DS多大比例UNKNOW为UNKNOW,steps解析度,row保存数据范围(时间/一个RRA)

 

  2.rrdtool操作

    create    创建空的轮转数据库

    update    填充数据

    updatev

    graph    绘图

    dump    依次取出数据

    fetch    只取一根数据

    info    查看文件格式

 

 

  3.数据源类型

    GAUGE(初始值)、COUNTER(相对值递增)、DERIVE(相对值)、ABSOLUTE(相对初始值)

    min-max  存取的数据范围  heartbeat  多少时间内等待,越过就unknow

三、安装和使用

  1.安装、创建数据库文件

[root@localhost  /usr/local/src]#yum install rrdtool

 [root@localhost  /usr/local/src]#rrdtool create test.rrd --step 5 DS:testds:GAUGE:8:0:U RRA:AVERAGE:0.5:1:17280 RRA:AVERAGE:0.5:10:3456 RRA:AVERAGE:0.5:100:1210

rrdtool命令格式

企业级监控系统之二RRDTool_第3张图片[root@localhost  /usr/local/src]#rrdtool info test.rrd

查看rrd文件信息
企业级监控系统之二RRDTool_第4张图片

  2.插入数据

[root@localhost /usr/local/src]#rrdtool update test.rrd N:$RANDOM

默认是插入到时间内N的DS1,多个可以指定N:30:40

[root@localhost /usr/local/src]#rrdtool fetch -r 5 test.rrd AVERAGE
[root@localhost /usr/local/src]#rrdtool fetch -r 50 test.rrd AVERAGE
[root@localhost /usr/local/src]#rrdtool fetch -r 10 test.rrd AVERAGE

查看step5 50 10下AVERAGE聚合的数据

  3.绘图

rrdtool graph object_filename

[root@localhost /usr/local/src]#rrdtool graph

企业级监控系统之二RRDTool_第5张图片

企业级监控系统之二RRDTool_第6张图片

[root@localhost /usr/local/src]#vim gn.sh

给test.rrd赋DS数据

企业级监控系统之二RRDTool_第7张图片

[root@localhost /usr/local/src]#rrdtool graph a.png --step 5 -s 1459583645 -t Test -v vtest DEF:vtest=test.rrd:testds:AVERAGE LINE1:vtest#ff0000:"testline"

企业级监控系统之二RRDTool_第8张图片

导出到windows查看

企业级监控系统之二RRDTool_第9张图片

[root@localhost /usr/local/src]#rrdtool graph b.png -s 1459583645 -t Test -v vtest DEF:vtest=test.rrd:testds:AVERAGE:step=5 DEF:test2=test.rrd:testds:AVERAGE:step=50 LINE1:vtest#ff0000:"testline" LINE1:test2#00ff00:"testline2"

企业级监控系统之二RRDTool_第10张图片

导出windows查看

企业级监控系统之二RRDTool_第11张图片

 

[root@localhost /usr/local/src]#rrdtool create mysql2.rrd --step 3 DS:myselect:COUNTER:5:0:U RRA:AVERAGE:0.5:1:28800 RRA:AVERAGE:0.5:1:28800 RRA:AVERAGE:0.5:10:2880 RRA:MAX:0.5:10:2880 RRA:LAST:0.5:10:2880

[root@localhost /usr/local/src]#vim getsel.sh

给mysql.rrd赋DS数据

企业级监控系统之二RRDTool_第12张图片

创建数据库、表

企业级监控系统之二RRDTool_第13张图片

给DS数据增大

企业级监控系统之二RRDTool_第14张图片

[root@localhost /usr/local/src]#rrdtool graph mysql.png -s 1459746534 -t "mysql select" -v "selects/3" DEF:select3=mysql.rrd:myselect:AVERAGE:step=3 LINE1:select3#FF0000:"SELECT"

查看绘成的mysql.png

企业级监控系统之二RRDTool_第15张图片

[root@localhost /usr/local/src]#rrdtool graph mysql.png -s 1459746534 -t "mysql select" -v "selects/3" DEF:select30=mysql.rrd:myselect:AVERAGE:step=30 LINE1:select30#FF0000:"SELECT"

绘制每30秒一次的平均值

企业级监控系统之二RRDTool_第16张图片

GPRINT vnam:CF:format 显示最大值最后值等

[root@localhost /usr/local/src]#rrdtool graph mysql.png -s 1459746534 -t "mysql select" -v "selects/3" DEF:select30=mysql.rrd:myselect:AVERAGE:step=30 DEF:max30=mysql.rrd:myselect:MAX:step=30 LINE1:select30#FF0000:"SELECT" GPRINT:max30:MAX:"MAXIMUM\: %6.21f"

我测试的时候ERROR: bad format for GPRINT in 'MAXIMUM: %6.21f' 不指定格式也会报错

[root@localhost /usr/local/src]#rrdtool graph mysql.png -s 1459746534 -t "mysql select" -v "selects/3" DEF:select30=mysql.rrd:myselect:AVERAGE:step=30 DEF:max30=mysql.rrd:myselect:MAX:step=30 DEF:last30=mysql.rrd:myselect:LAST:step=30 LINE1:select30#FF0000:"SELECT" GPRINT:max30:MAX:"MAXIMUM\: %6.21f" GPRINT:last30:LAST:"LAST\: %6.21f"

转载于:https://my.oschina.net/charlock/blog/651652

你可能感兴趣的:(企业级监控系统之二RRDTool)