假设我想监视mysql,据我所知,所有mysql运行时信息都存储在/proc/{mysql_pid}/stat
中。所以可以通过node.js读取和解析mysql stat info,客户端实时显示图表吗?
nagios和替代品是如此沉重,有时我只是想监控一些进度信息。所以我想要一个轻量级的解决方案。
答案 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>
如果你想要一个更具体的答案,你应该更具体。