2012-09-17 110 views
3

基本上,我需要一個工具,可以爲節點服務器計算的收集數據繪製實時圖。實時監控node.js服務器

我試圖安裝Graphite,但沒有得到安裝的好運(linux中的新手導致依賴安裝失敗太多)。所以我在尋找是否有其他工具可以通過簡單的安裝指導來做類似的jobb?

我也看過abit highcharts,但幾乎沒有任何node.js的文檔。如果有人經歷過這些工具,並給予一些建議,將不勝感激!

+0

是否使用socket.io? – c0deNinja

+0

@ c0deNinja:是的,我喜歡。 – nihulus

回答

2

不知道你正在計算什麼樣的分析數據以及你使用的圖表類型有點難以給你一個很好的例子。但無論如何,這是一個簡單的場景。

當服務器更改某些分析數據時,請使用socket.io向客戶端發送包含新分析數據的消息。事情是這樣的:

io.sockets.emit('analyticsUpdate', x, y); 

在客戶端,創建你Highcharts圖作爲正常的,但隨後的load()事件添加到圖表選項,並使用socket.io檢索新數據,並更新圖表,像這樣:

var chart; 
    chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container', 
      type: 'spline', 
      events: { 
       load: function() { 
        socket.on('analyticsUpdate', function (x, y) { 
         // Simple case where you have a single series 
         // and your data can simply be appended to the series 

         var series = this.series[0]; 
         series.addPoint([x, y], true, true); 
        }; 
       } 
      } 
     } 
    }); 

因此,無論何時服務器更新某些分析數據,socket.io都會發出消息。客戶端總是監聽來自服務器的消息,因此無論何時接收到新消息,它都會更新圖形。