rrdtool绘图仅10小时



我在绘制rrdtool时遇到了一个棘手的问题,但并非总是如此。

我会尽力解释的。我有两个数据库(data1.rrd和data2.rrd),我绘制了1h、12h、24h、1w、1m和1y的图形,但由于某种原因,有时图形只显示10小时的时间推移。

我初始化数据库如下:

${rrdtool} create ${rrd_dir}/temperatures.rrd 
    --step ${step} 
        DS:temp_cpd:GAUGE:120:0:U 
        DS:temp_cpd_pecera:GAUGE:120:0:U 
        DS:temp_cmts_catv:GAUGE:120:0:U 
        RRA:AVERAGE:0.5:1:600

轮询器:

$rrdtool update ${rrd_file} --template temp_cpd:temp_cpd_pecera:temp_cmts_catv N:${temp_cpd}:${temp_cpd_pecera}:${temp_cmts_catv}

图表:

$rrdtool graph ${graph_dir}/temperatures-${start}.png 
        --height=120 
        --width=500 
        --rigid 
        --start -${start} 
        --end now 
        --watermark "`date +'%Y-%m-%d %H:%M - Radu Radu'`" 
        --imgformat=PNG 
        --title="${graph_desc}" 
        -w 600 -h 200 
        --alt-autoscale-max 
        --lower-limit 18 
        --vertical-label "Temperatura (ºC)" 
        TEXTALIGN:left 
        DEF:temp_cpd=${rrd_file}:temp_cpd:AVERAGE 
        DEF:temp_cpd_pecera=${rrd_file}:temp_cpd_pecera:AVERAGE 
        DEF:temp_cmts_catv=${rrd_file}:temp_cmts_catv:AVERAGE 
        CDEF:ok_cpd=temp_cpd,100,/ 
        CDEF:ok_cpd_pecera=temp_cpd_pecera,100,/ 
        CDEF:ok_cmts_catv=temp_cmts_catv,100,/ 
        LINE1:ok_cpd#ff0000:'CPDttt'  
        GPRINT:ok_cpd:LAST:'Actual:%6.2lf ºC'  
        GPRINT:ok_cpd:AVERAGE:'Promedio:%6.2lf ºC'  
        GPRINT:ok_cpd:MAX:'Máximo:%6.2lf ºCn'  
        LINE1:ok_cpd_pecera#00ff00:'CPD Peceratt'  
        GPRINT:ok_cpd_pecera:LAST:'Actual:%6.2lf ºC'  
        GPRINT:ok_cpd_pecera:AVERAGE:'Promedio:%6.2lf ºC'  
        GPRINT:ok_cpd_pecera:MAX:'Máximo:%6.2lf ºCn'  
        LINE1:ok_cmts_catv#0000ff:'CMTS CATVtt'  
        GPRINT:ok_cmts_catv:LAST:'Actual:%6.2lf ºC'  
        GPRINT:ok_cmts_catv:AVERAGE:'Promedio:%6.2lf ºC'  
        GPRINT:ok_cmts_catv:MAX:'Máximo:%6.2lf ºCn'  

轮询器每分钟运行一次,并执行温度采集命令。

另一个问题是,我可以将图形轮询器的输出重定向到stdout,然后在php循环中打印内容吗?因为现在我将*.png保存在/graficas/FORQUENCY/HOST_NAME-GRAPH_NAME-INDEX.png中,然后按如下方式访问它:

if ($result->num_rows > 0) {
        while($row = $result->fetch_assoc()) {
                echo "
                        <div class= 'graphSize' style='float:left'>
                        <a href='?page=GraphDetail&graph_id=".$row['graph_id']."&graph_desc=".$row['graph_desc']."'><img style='width:100%' src='/graficas/".$freq."/".$row['graph_name']."' onload='refreshIt(this)'></img></a>
                        </div>";

        }
}
else {
        echo "<p>No hay ninguna gráfica para mostrar</p>"; }

但我不喜欢这种方法,因为如果有人"知道"我的路径,就可以访问这些图。

PD:我对rrdtool有点新手,我只是根据oetiker网站上的文档制作了这个图。

解决方案正在初始化数据库,并添加以下参数:

    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:288:797

相关内容

  • 没有找到相关文章

最新更新