假設我想監視mysql,據我所知,所有mysql運行時信息存儲在/proc/{mysql_pid}/stat
。所以有可能通過node.js讀取和分析mysql統計信息,客戶端實時顯示圖表嗎?是否可以讀取/ proc/{pid}/stat然後實時傳輸給客戶端?
nagios和替代是如此沉重,有時我只是想監視一些進度信息。所以我想要一個輕量級解決方案
假設我想監視mysql,據我所知,所有mysql運行時信息存儲在/proc/{mysql_pid}/stat
。所以有可能通過node.js讀取和分析mysql統計信息,客戶端實時顯示圖表嗎?是否可以讀取/ proc/{pid}/stat然後實時傳輸給客戶端?
nagios和替代是如此沉重,有時我只是想監視一些進度信息。所以我想要一個輕量級解決方案
我試過使用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頁面上。
對不起,這並不能解決你的問題,但我想我會在信息上發佈它。
我假設你還沒有嘗試過對你的問題實施解決方案。 「實時」是什麼意思?你在說什麼樣的客戶?
如果你正在談論一個Web瀏覽器客戶端,那麼沒有理由不能每半秒更新一次顯示器來顯示大量客戶端(或者更快,如果圖表不是太複雜)。
如果您想要比這更具體的答案,您應該更具體。
感謝您的信息:) – limboy