2014-05-15 27 views
1

我剛開始嘗試influxDB和influxdb節點模塊。influxdb節點模塊沒有插入數據

我有以下代碼,每秒插入一些隨機數據。 我沒有收到任何錯誤,但沒有將數據添加到我的時間系列中。

代碼是

變種influxdb =要求( 'influxdb'); var sleep = require('sleep'); var connection = influxdb('172.21.5.67',8086); connection.auth({name}'root' ,password:'root'});

var db; var ISCSIDataSeries; (Math.random()*(high - low)+ low);返回Math.floor(Math.random()*(high - low)+ low);返回數學公式。 }

函數doInsert(i){db0 == undefined} {db0 = connection.database('test'); console.log('建立數據庫連接'); }

if (ISCSIDataSeries == undefined) { 
    ISCSIDataSeries = db.series('SCSIData'); 
    console.log('the series SCSIData is established'); 
} 

var reads = random(1000, 10000); 
var writes = random(2000, 20000); 
var IOS = random(100000, 1000000); 


ISCSIDataSeries.writePoints({ 
    'columns': ['Volume', 'Reads', 'Writes'], 
    'points': [reads, writes, IOS] 
    } 
); 

db.save(); } 

var i = 0; while(i < 10){sleep} sleep(1);

doInsert(i); 
i ++; } 

console.log('so long folks');

在運行結束時,我看不到輸入的數據。 這個包的任何經驗?

回答

5

我是InfluxDB的維護者之一。我們不使用節點,所以我不熟悉這個庫,但是我嘗試了一下你的代碼片斷,但它確實不起作用。事實證明,influxdb庫不是最新的,並在四個月前更新,在此期間InfluxDB API經歷了重大變化。我建議你切換到the influx package而不是看起來更積極的維護。我修改了你的代碼片段與其他軟件包一起工作,它可以工作得很成功:

var influxdb = require('influx'); 
var sleep = require('sleep'); 

var root = new influxdb.InfluxDB('localhost', 8086, 'root', 'root'); 
root.createDatabase('SCSIData', function(err) { 
    if (err && err.message.indexOf("exist") == -1) { 
    console.log("Cannot create db", err); 
    process.exit(1); 
    }; 

    var client = new influxdb.InfluxDB('localhost', 8086, 'root', 'root', 'SCSIData'); 

    function random (low, high) { return Math.floor(Math.random() * (high - low) + low); } 

    function doInsert(i) { 
    var reads = random(1000, 10000); 
    var writes = random(2000, 20000); 
    var IOS = random(100000, 1000000); 


    client.writePoint("series.name", { 
     'Volume': IOS, 
     'Reads': reads, 
     'Writes': writes 
    }, function(err) { 
     if (err) { 
     console.log("Cannot write data", err); 
     process.exit(1); 
     } 
    }); 
    } 

    var i = 0; 
    while (i < 10) { 
    doInsert(i); 
    i++; 
    } 

    client.query("select count(Reads) from series.name", function(err, result) { 
    if (err) { 
     console.log("Cannot write data", err); 
    } 

    console.log("result", result) 
    console.log("Number of points: ", result[0].points[0][1]); 
    }) 

}); 

console.log('so long folks'); 
+1

非常感謝。這是行得通的,我會切換到這個包。 – reza