Да Вы правы, cgroup + tc является ответом. У Вас есть хороший пример здесь: http://broadcast.oreilly.com/2009/06/manage-your-performance-with-cgroups-and-projects.html (ищут "Сети, Также").
То, как вы в настоящее время это звучит нормально, но вы должны добавить в микс rrdcached , чтобы исправить проблемы с производительностью.
В pnp4nagios docs (при условии 0.6) показано, как интегрироваться с rrdcached. (Или, если используется pnp4nagios 0.4 .)