rrdtool 生成 .xml .png 出现 rrdtool.OperationalError: the RRD does not contain an RRA matching the chosen CF

公司业务需要,我们要将.rrd文件转化成.xml,修改内容再通过.xml转化成.rrd或者图形。在Ubuntu中转化正常,但是到了Centos下就报错如下:

rrdtool.OperationalError: the RRD does not contain an RRA matching the chosen CF

Ubuntu的rrdtool版本为:1.7.0

Centos的rrdtool版本为:1.4.8

可能是因为版本问题,然后我们写的.xml文件又不规范。python生成.xml的部分代码如下:

tmp_xml_str += '<!-- {} UTC / {} --> <row><v>{}</v><v>{}</v></row>\n        '.format(write_time,tmp_time,traffic_in,traffic_out)
xml_str = '\
<?xml version="1.0" encoding="utf-8"?>\n\
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">\n\
<!-- Round Robin Database Dump -->\n\
<rrd>\n\
    <version>0003</version>\n\
    <step>300</step> <!-- Seconds -->\n\
    <lastupdate>{}</lastupdate> <!-- {} UTC -->\n\
    <ds><name> traffic_in </name><type> COUNTER </type></ds>\n\
    <ds><name> traffic_out </name><type> COUNTER </type></ds>\n\
    <rra>\n\
        <cf>MAX</cf>\n\
        <pdp_per_row>1</pdp_per_row> <!-- 300 seconds -->\n\
        <database>\n\
            {} \
        </database>\n\
    </rra>\n\
</rrd>'.format(tmp_time,write_time,tmp_xml_str)   

注意:我们此处写的是 <cf>MAX</cf> 。原先我们这里写的是 <cf>AVERAGE</cf> ,但是我们在新的rrd生成图的时候写的又是MAX,可能这里2个参数不一致导致了以上错误。

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

百度云不止一折优惠【点击购买】

发表评论

电子邮件地址不会被公开。 必填项已用*标注