私が知っている限り、mysqlの実行時の情報はすべて/proc/{mysql_pid}/stat
に保存されています。それで、node.js経由でmysql statの情報を読み込んで解析し、リアルタイムでグラフを表示することが可能ですか?/proc/{pid}/statを読み込んでクライアントにリアルタイムで転送することは可能ですか?
nagiosとその代替は非常に重く、時には進捗情報を監視したいだけです。だから私は軽量なソリューションが欲しい。
私が知っている限り、mysqlの実行時の情報はすべて/proc/{mysql_pid}/stat
に保存されています。それで、node.js経由でmysql statの情報を読み込んで解析し、リアルタイムでグラフを表示することが可能ですか?/proc/{pid}/statを読み込んでクライアントにリアルタイムで転送することは可能ですか?
nagiosとその代替は非常に重く、時には進捗情報を監視したいだけです。だから私は軽量なソリューションが欲しい。
私はNode Inotifyを使用しようとしましたが、これは優れたライブラリです。しかし、procファイルシステムは、statファイルが変更されたときに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のページに記載されています。
申し訳ありませんが、これはあなたの特定の問題を解決するものではありませんが、私は情報を投稿すると思いました。
問題の解決策を実装しようとしていないと仮定しています。 「リアルタイム」とまったく同じ意味ですか?あなたはどんなクライアントについて話していますか?
ウェブブラウザクライアントについて話している場合、クライアントの負荷が半分ごとに表示されないという理由はありません(または、チャートがあまりに複雑すぎない場合はずっと速くなります)。
より具体的な答えが必要な場合は、もっと具体的にする必要があります。
あなたの情報に感謝します:) – limboy