Como fazer contabilidade de rede usando cgroups

7

Estou tentando obter estatísticas de rede para grupos de processos. Até onde eu sei, contabilidade de rede complexa no Linux é normalmente feita usando a infra-estrutura de contabilidade do netfilter / iptables.

Como eu gostaria de ter herança para esses grupos cgroups seria uma boa combinação.

Minha melhor ideia seria permitir que o iptables correspondesse ao classid , que pode ser definido usando o net_cls -controller.

Mas parece que o iptables só pode definir esse valor via --set--class .

Então: Existe uma boa maneira de obter (complexa e flexível) contabilidade e registro de rede para grupos de processos no linux?

    
por t-8ch 27.08.2012 / 21:40

2 respostas

1

Uma pergunta muito legal! Obrigado. Antigo, mas vai ajudar as pessoas aqui

Você pode usar cgroups com tc. Eu nunca ouvi falar sobre isso, mas depois do googling foi encontrado:

net_cls — this subsystem tags network packets with a class identifier (classid) that allows the Linux traffic controller ( tc) to identify packets originating from a particular cgroup task.

De acordo com isso, você deve trabalhar com o tc e obter estatísticas de lá (muitas ferramentas disponíveis).

link

Entre em contato com Alexey, talvez ele possa ajudá-lo com isso:)

Você pode usar o SELinux e iptables para estatísticas, mas limitar a largura de banda com cgroups - eu gosto dessa abordagem mais - tc parece feio para mim em alguns casos e não é ideal para integração.

O SELinux tem ganchos para rede e pode atribuir dados adicionais como rótulo a cada pacote de acordo com as etiquetas do processo, até mesmo capaz de transmitir para outro sistema e filtrar / log / obter estatísticas, fazer tudo o que puder com iptables usando SECMARK.

link

Se você ainda não está familiarizado com o SELinux, eu recomendo que você leia os guias RedHat / Fedora "Security-Enhanced Linux" e "SELinux FAQ", além disso há explicações e guias muito bons, posts de Daniel J. Walsh ( Dan Walsh) - pesquise no Google.

Além disso, muito bom (e melhor) ponto de partida para os novatos acompanharem vídeos no YouTube, tenho certeza de que você pode lidar com isso em cerca de três horas para entender tudo de que precisa:

  • SELinux para Todos - Paul Wayper
  • SELinux para Sysadmins - Paul Wayper

SELINUX É FÁCIL, NÃO FICHE PREOCUPADO

    
por 24.12.2012 / 10:53
1

Com kernels mais recentes, você pode combinar diretamente com cgroups em iptables, veja: link

Foi incluído no kernel principal.

    
por 23.04.2014 / 20:09