特定のサービスを監視するための統計監視プラットフォームをセットアップしたいのですが、どうすればよいかわかりません。傍受されたデータを処理することは私の関心事ではなく、それをどのように処理するかだけです。1 つのアイデアは、クライアント アプリケーションとサービスの間にプロキシを設定して、すべての TCP トラフィックが最初にプロキシに送信されるようにすることでした。プロキシは、傍受されたメッセージを待機中のスレッド/フォークに委任して、メッセージを渡し、結果を受け取ります。もう 1 つは、クライアントとサービスの間のトラフィックを盗聴しようとすることでした。
私の主な目標は、クライアントとアプリケーション間の伝送速度の重大な損失を回避し、クライアントとサービス間の 100% 完全な通信を実現することです。
環境: Ubuntu 8.04
言語: c/c++
バックグラウンドでは、メモリ内で完全に実行されている sqlite DB を使用するか、プロセスに従属する 20 ~ 25 MB の memcache デーモンを使用することを考えていました。
更新: 具体的には、memcache デーモンのキーの使用状況を追跡しようとしており、セット/取得の成功/失敗の数をキーに保存しています。ほとんどのキーには、一種の名前空間を作成するために、ある種の区切り文字 [`|_-#] が含まれているという考え方です。アイデアは、デーモンとクライアントの間に介入し、構成されたセパレーターでキーを分割し、それらの統計を記録することです。