假设我想监控mysql,据我所知,所有mysql运行时信息存储在/proc/{mysql_pid}/stat
。所以有可能通过node.js和客户端实时显示图表来读取和解析mysql统计信息吗?
nagios和alternative是如此沉重,有时我只是想监视一些进度信息。所以我想要一个轻量级的解决方案
我尝试使用Node Inotify,这是一个很好的库。然而,当stat文件被更改时,进程文件系统似乎没有发出通知。但是,如果您在普通的文件系统上监视文件,则可以使用该库:
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浏览器客户端,你没有理由不能在客户端负载下每半秒更新一次某种显示(或者更快,如果图表不是太复杂的话)。