molynix 发表于 2013-01-16 10:51

关于cacti/rrdtool的自定应cdef 函数使用编写问题

本帖最后由 molynix 于 2013-01-16 10:54 编辑

想在cacti的cdefs里面设定一个自定义的转换函数
公式为取值=10*lg(采集值*0.001)
转换公式我不知道应该怎么写才对,使用了括号就会提示错误
我把括号去掉,转换公式取值=lg采集值*10-30
但是使用funtion里面的log函数还是不行,写成
cdef=LOG,CURRENT_DATA_SOURCE,10,*,-,30

debug结果
RRDTool Command:

/usr/bin/rrdtool graph - \
--imgformat=PNG \
--start=-86400 \
--end=-300 \
--title=NE40E-S1 - OpticalPowerTX - GI1/0/0 ' \
--base=1000 \
--height=120 \
--width=500 \
--alt-autoscale-max \
--lower-limit='0' \
--vertical-label='' \
--slope-mode \
--font TITLE:10: \
--font AXIS:7: \
--font LEGEND:8: \
--font UNIT:7: \
DEF:a="/var/www/cacti/rra/ne40e-s1_snmp_oid_30.rrd":'snmp_oid':AVERAGE \
CDEF:cdefa='LOG,a,10,*,-,30' \
AREA:cdefa#00CF00FF:""\
GPRINT:cdefa:LAST:"Current\:%8.2lf %s"\
GPRINT:cdefa:AVERAGE:"Average\:%8.2lf %s"\
GPRINT:cdefa:MAX:"Maximum\:%8.2lf %s\n" RRDTool Says:

ERROR: RPN stack underflow




这样写还是错误的,不知道应该怎么写才对啊

miaoze612 发表于 2013-12-31 14:22

10*lg(采集值*0.001)

cdef=CURRENT_DATA_SOURCE,0.001,*,LOG,10,*
页: [1]
查看完整版本: 关于cacti/rrdtool的自定应cdef 函数使用编写问题