是否有可能读取/proc/{pid}/stat然后实时传输到客户端?



假设我想监控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浏览器客户端,你没有理由不能在客户端负载下每半秒更新一次某种显示(或者更快,如果图表不是太复杂的话)。

如果你想要一个更具体的答案,你应该更具体一些。

相关内容

最新更新