【发布时间】:2011-08-01 17:48:40
【问题描述】:
假设我想监控 mysql,据我所知,所有 mysql 运行时信息都存储在/proc/{mysql_pid}/stat 中。那么是否可以通过node.js读取和解析mysql stat信息并且客户端实时显示图表?
nagios 和替代品太重了,有时我只想监控一些进度信息。所以我想要一个轻量级的解决方案。
【问题讨论】:
标签: node.js monitoring
假设我想监控 mysql,据我所知,所有 mysql 运行时信息都存储在/proc/{mysql_pid}/stat 中。那么是否可以通过node.js读取和解析mysql stat信息并且客户端实时显示图表?
nagios 和替代品太重了,有时我只想监控一些进度信息。所以我想要一个轻量级的解决方案。
【问题讨论】:
标签: node.js monitoring
我尝试使用Node Inotify,这是一个很棒的库。然而,当 stat 文件被更改时,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 页面上。
抱歉,这并不能解决您的特定问题,但我想我会发布信息。
【讨论】:
我假设您还没有尝试实施解决问题的方法。 “实时”到底是什么意思?你说的是哪种客户?
如果您谈论的是网络浏览器客户端,那么您没有理由不能每半秒使用大量客户端更新某种显示(或者更快,如果图表不太复杂的话)。
如果你想要一个更具体的答案,你应该更具体。
【讨论】: