プロセスとサブプロセスツリー全体のネットワークトラフィックの監視

プロセスとサブプロセスツリー全体のネットワークトラフィックの監視

一定期間のネットワークトラフィック(インバウンドとアウトバウンド)、生成された特定のプロセス、および生成されたすべてのサブプロセスを知りたいです。

私は永遠に実行され、ネットワークトラフィック自体を生成しない「タスクマネージャ」を含むソフトウェアを開発しました。代わりに、ほとんどのネットワークトラフィックを含む主要なタスクを実行する子「ワーカー」を作成します。難しいのは、複数の「ワーカー」が同時に作業でき、単一のワーカープロセスが短時間(数時間)後に終了することが予想されることです。さらに、これらのワーカーはgit fetch監視が必要なトラフィックを生成するより多くのサブプロセスを生成します。

「Job Manager」インスタンスは1つだけで、Ubuntu Server 18.04、アーキテクチャamd64を実行している開発およびテストサーバーで必要に応じて起動または終了できます。

すべてのワーカーのネットワークトラフィックとワーカーが生成するプロセスを長期間(1週間以上)監視したいと思います。解決策はありますか?

答え1

おそらく最も簡単な方法は、タスクマネージャをネットワークネームスペースに配置することです。すべての子プロセスもこの名前空間に含まれています。 vethまたはmacvlanを介して名前空間に接続し、そのインターフェイス上のトラフィックを測定します。

関連情報