我想知道一段时间内的网络流量(入站和出站),生成了一个特定的进程和它产生的所有子进程。
我开发了一个包含“作业管理器”的软件,该软件可以永远运行并且不会自行产生网络流量。相反,它会产生负责主要工作的子“工人”,包括大部分网络流量。棘手的一点是,几个“工人”可能同时工作,并且单个工作进程预计会在短时间内(几个小时)后退出。此外,这些工作人员还会产生更多的子进程,这些子进程也会产生类似git fetch
需要监控的流量。
只有一个“作业管理器”实例,它可以在我的开发和测试服务器上按需启动或终止,该服务器运行 Ubuntu Server 18.04,架构 amd64。
我想长时间(一周或更长时间)监控所有工作人员的网络流量和工作人员产生的进程。有解决办法吗?
可能最简单的方法是将作业管理器放在网络名称空间中。所有子进程也将在该命名空间中。通过 veth 或 macvlan 连接命名空间,测量该接口上的流量。