【问题标题】:is it possible to read /proc/{pid}/stat then transfer to client real time?是否可以读取 /proc/{pid}/stat 然后实时传输到客户端?
【发布时间】:2011-08-01 17:48:40
【问题描述】:

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

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

【问题讨论】:

    标签: node.js monitoring


    【解决方案1】:

    我尝试使用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 页面上。

    抱歉,这并不能解决您的特定问题,但我想我会发布信息。

    【讨论】:

      【解决方案2】:

      我假设您还没有尝试实施解决问题的方法。 “实时”到底是什么意思?你说的是哪种客户?

      如果您谈论的是网络浏览器客户端,那么您没有理由不能每半秒使用大量客户端更新某种显示(或者更快,如果图表不太复杂的话)。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-23
        • 1970-01-01
        • 2021-08-24
        • 2019-10-02
        相关资源
        最近更新 更多