É difícil dar detalhes completos, especialmente sem saber qual distribuição você está usando e quão detalhados você quer que os resultados sejam - então vou listar alguns muito básicos exemplos.
Se você deseja obter estatísticas individuais para cada interface, podemos dividir cada item separadamente (o seguinte pressupõe acesso root em uma distribuição como o CentOS):
Para uso de largura de banda - gosto muito de iftop. Quando você tem o iftop
instalado, você pode executar o seguinte comando:
iftop -i eth0 -B
A opção -B é para Bytes. Uma vez dentro de iftop
eu gosto de pressionar "T" para obter um total cumulativo.
Para taxa de erro , você pode ver isso na saída de ifconfig
em seu console. Para obter uma abordagem mais dinâmica, você poderia executar um comando muito bruto como este (assumindo algo como Centos):
# ifconfig | grep -E "^\w|errors.* " | sed 's/pack.*errors:/Errors:/g' | sed 's/ drop.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
RX Errors:0
TX Errors:0
eth1 Link encap:Ethernet
RX Errors:3
TX Errors:1
lo Link encap:Local Loopback
RX Errors:0
TX Errors:0
Isso fornecerá a contagem de erros para cada interface.
Para colisões , você ainda pode usar ifconfig
. Para obter apenas a contagem de colisões, outro comando básico seria o seguinte:
# ifconfig | grep -E "^\w|collisions.* " | sed 's/pack.*collisions:/Collisions:/g' | sed 's/ txq.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
collisions:0
eth1 Link encap:Ethernet
collisions:0
lo Link encap:Local Loopback
collisions:0
Para pacotes descartados , ainda usando ifconfig
, você pode executar outro comando simples:
# ifconfig | grep -E "^\w|dropped.* " | sed 's/pack.*dropped:/Dropped:/g' | sed 's/ over.*//g' | sed 's/HW.*//g'
eth0 Link encap:Ethernet
RX Dropped:0
TX Dropped:0
eth1 Link encap:Ethernet
RX Dropped:1
TX Dropped:0
lo Link encap:Local Loopback
RX Dropped:0
TX Dropped:0
Se você está tendo muitos pacotes defeituosos (erros, colisões ou descartados), você pode colocar os 3 comandos anteriores em um script bash e usar o comando watch
para monitorá-los:
FILE / tmp / netErrors:
#!/bin/sh
ifconfig | grep -E "^\w|errors.* " | sed 's/pack.*errors:/Errors:/g' | sed 's/ drop.*//g' | sed 's/HW.*//g'
echo
ifconfig | grep -E "^\w|collisions.* " | sed 's/pack.*collisions:/Collisions:/g' | sed 's/ txq.*//g' | sed 's/HW.*//g'
echo
ifconfig | grep -E "^\w|dropped.* " | sed 's/pack.*dropped:/Dropped:/g' | sed 's/ over.*//g' | sed 's/HW.*//g'
echo
COMANDO:
watch /tmp/netErrors
Para QoS , isso realmente depende de como você está configurando. Para o Linux, traffic control
é comum para configurar o QoS. Para ver a atual QoS com traffic control
, você pode executar o seguinte comando:
# tc qdisc ls
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev eth2 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
qdisc pfifo_fast 0: dev tun0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
tc - comando de controle de tráfego
qdisc - disciplinas de enfileiramento
ls - list
Para obter uma boa análise de traffic control
, você deve conferir o seguinte link no controle de tráfego .