2011-08-01 55 views
0

假設我想監視mysql,據我所知,所有mysql運行時信息存儲在/proc/{mysql_pid}/stat。所以有可能通過node.js讀取和分析mysql統計信息,客戶端實時顯示圖表嗎?是否可以讀取/ proc/{pid}/stat然後實時傳輸給客戶端?

nagios和替代是如此沉重,有時我只是想監視一些進度信息。所以我想要一個輕量級解決方案

回答

0

我試過使用Node Inotify,這是一個很好的庫。然而,看起來proc文件系統在統計文件改變時不會發生事件。如果你看一個普通的文件系統文件,雖然,這是怎麼了,你可以使用該庫做:

sys  = require('sys'); 
fs  = require('fs'); 
Inotify = require('inotify').Inotify; 

var inotify = new Inotify(); 

function callback(ev) { 
    console.log(sys.inspect(ev)); 
} 

var home_dir = { 
    path:  '/proc/5499/stat' 
    , watch_for: Inotify.IN_ALL_EVENTS 
    , callback: callback 
}; 

var home_watch_descriptor = inotify.addWatch(home_dir); 

只要改變Inotify.IN_ALL_EVENTS您要觀看,這是任何行動記錄在我鏈接的github頁面上。

對不起,這並不能解決你的問題,但我想我會在信息上發佈它。

+0

感謝您的信息:) – limboy

0

我假設你還沒有嘗試過對你的問題實施解決方案。 「實時」是什麼意思?你在說什麼樣的客戶?

如果你正在談論一個Web瀏覽器客戶端,那麼沒有理由不能每半秒更新一次顯示器來顯示大量客戶端(或者更快,如果圖表不是太複雜)。

如果您想要比這更具體的答案,您應該更具體。

相關問題