编译程序node.js时出错 - rrdtool:未知DS名称'' "

时间:2016-10-25 15:53:18

标签: node.js rrdtool

var rrdtool = require(' rrdtool');

var start = rrdtool.now() - 10; var db = rrdtool.create(' test.rrd',{start:start,step:1},[' DS:test:GAUGE:1:0:100',&# 39; RRA:平均:0.5:1:10']);

1 个答案:

答案 0 :(得分:0)

问题不在ds名称中,而在下一个命令中。

db.update(start + 0, 15);

如果仅保留您提供的行,则代码将正确编译。 要更正更新方法中的错误,请转到proc.js文件(node_modules / rrdtool / lib / proc.js),然后将更新方法更改为类似的内容。

exports.update = function (file, ts, values, cb) {
  var cmd = [ts];

  cmd.push(values);

  exec(['update', file, cmd.join(':')], function (err) {
    cb(err);
  });
};

在更改之前,它没有正确构成rrdtool命令,该命令看起来像update --template timestamp,而不是update timestamp:value。在我的示例中,时间戳记为start + 0,并且值为15。