是否可以读取/ proc / {pid} / stat然后实时转移到客户端?

时间:2011-08-01 17:48:40

标签: node.js monitoring

假设我想监视mysql,据我所知,所有mysql运行时信息都存储在/proc/{mysql_pid}/stat中。所以可以通过node.js读取和解析mysql stat info,客户端实时显示图表吗?

nagios和替代品是如此沉重,有时我只是想监控一些进度信息。所以我想要一个轻量级的解决方案。

2 个答案:

答案 0 :(得分:0)

我尝试使用Node Inotify,这是一个很棒的库。然而,当stat文件被更改时,似乎proc文件系统没有事件来进行inotify。但是,如果您正在观看普通文件系统上的文件,则可以使用该库来执行此操作:

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页面上。

抱歉,这并不能解决您的特定问题,但我认为我会以信息方式发布。

答案 1 :(得分:0)

我假设你没有尝试过解决问题的方法。 “实时”到底是什么意思?你在说什么样的客户?

如果您正在谈论一个Web浏览器客户端,那么您无法在每半秒钟内使用大量客户端更新某种显示(或者如果图表不是太复杂则更快)。< / p>

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