首先我要说的是,即使在设置了一个系统之后,我注册了每分钟的 http 响应总数(200、301、302 等),并且我能够知道关于用户的性能如何,它碰巧我说我的老板让我很生气,因为我认为它与 rrd 内部结构有关,但我必须解决这个问题。
我用 rrdtool 做什么?:
一分钟(60 秒)总结不同的 http 响应后,我将带有时间戳的值插入 rrd 数据库。
这是 rrd 文件定义:
/usr/bin/rrdtool create file.rrd --start $_[7]-60 --step 60 DS:200:GAUGE:120:U:U DS:300:GAUGE:120:U:U DS:400:GAUGE:120:U:U DS:404:GAUGE:120:U:U DS:500:GAUGE:120:U:U DS:502:GAUGE:120:U:U DS:504:GAUGE:120:U:U RRA:AVERAGE:0.5:1:43200
正如您在 RRA 中看到的,我节省了 43200,这意味着两周节省了 60 秒的值。
绘制时出现的问题,这是我用来绘制过去 6 小时图形的命令(其中 $start 是开始时间,$time 是结束时间,$rrd 是 rrd 文件)
{ /usr/bin/rrdtool graph last6hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\"
;}
这是我用来画最后 12 小时的:
{ /usr/bin/rrdtool graph last12hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\"
;}
现在请查看抽签结果,在红色圆圈内的第一张图中,响应 200 下降到 0,但在过去 12 小时的图中,同样的下降直到 0,所以我的老板逼我说数据不是真实的,但最糟糕的是,如果我知道这是真实的并且是关于 rrdtool 内部的,但我不知道如何解决它。
请问有什么主旨吗?