【发布时间】:2015-01-29 20:14:10
【问题描述】:
我正在使用 RRDTool 来管理和绘制我的绩效数据。
目前,我正在从 bash 脚本调用 RRDTool,但我收到了一个错误,我无法修复。
我的 Bash 脚本如下所示:
# Call RRDTool and save the output
output=$(rrdtool graph --width 4000 \
DEF:data=/usr/local/pnp4nagios/var/perfdata/FM/win_tcpu.rrd:proc:AVERAGE \
VDEF:slope=data,LSLSLOPE \
PRINT:slope:'%lf')
echo "Output: " $output
我正在尝试通过这个简单的示例解决 y = m*x + b 中的 m。
我的性能数据如下所示:
<NAGIOS>
<DATASOURCE>
<TEMPLATE>nrpe_win_tcpu</TEMPLATE>
<RRDFILE>/usr/local/pnp4nagios/var/perfdata/FM/win_tcpu.rrd</RRDFILE>
<RRD_STORAGE_TYPE>SINGLE</RRD_STORAGE_TYPE>
<RRD_HEARTBEAT>8460</RRD_HEARTBEAT>
<IS_MULTI>0</IS_MULTI>
<DS>1</DS>
<NAME>proc</NAME>
...
</DATASOURCE>
...
如您所见,文件名正确,数据源名称也正确。
我的问题是 DEF 似乎不起作用。我收到以下错误消息:
ERROR: Not a valid vname: data in line VDEF:slope=data,LSLSLOPE
当尝试像这样访问保存在变量 data 中的数据时,只是为了检查问题是否在我的 VDEF 行中:
LINE1:data#0000FF:"data" \
我收到以下错误:
ERROR: parameter 'data' does not represent a number in line LINE1:data#0000FF:data
这说明问题出在 DEF 行的某处,但我不知道为什么会发生这种情况。
有人知道为什么我会收到这些错误消息以及如何解决这个问题吗?
任何帮助表示赞赏。提前致谢。
【问题讨论】: