![¿Cómo obtener el uso actual del ancho de banda desde la línea de comandos utilizando herramientas integradas de Linux?](https://rvso.com/image/1414698/%C2%BFC%C3%B3mo%20obtener%20el%20uso%20actual%20del%20ancho%20de%20banda%20desde%20la%20l%C3%ADnea%20de%20comandos%20utilizando%20herramientas%20integradas%20de%20Linux%3F.png)
Estoy buscando una buena manera de obtener el uso total actual del ancho de banda en una máquina Linux. Lo intenté iftop
, nethogs
pero no muestran el uso real del ancho de banda en comparación con el monitor del sistema; No se adaptan a las necesidades de mi proyecto. Quiero un comando que ejecuto y devuelve el uso actual para carga y descarga y nada más.
También me gustaría hacerlo con herramientas nativas de Linux sin instalar nada. De hecho, estoy creando una aplicación de monitoreo y quiero que pueda monitorear computadoras sin la necesidad de instalar algo en cada computadora que el usuario quiera monitorear, ¡eso sería genial!
Respuesta1
Usar iptraf
-http://www.linuxcommand.org/man_pages/iptraf8.html
Es una utilidad de línea de comandos basada en ncurses que puede brindarle estadísticas sobre todas las interfaces de la máquina, incluido el uso del ancho de banda.
Respuesta2
Hay muchas herramientas que puedes usar: , nload
, bmon
, iftop
, vnstat
... ifstat
y si solo quieres obtener una parte específica de su resultado (por ejemplo, cargar y descargar), estoy bastante seguro de que puedes grep
// el resultado para que funcione para usted.cut
awk
18 comandos para monitorear el ancho de banda de la red en un servidor Linux
Respuesta3
sysstat también recopila estadísticas de red. Si realiza un "man sar", verá todos los recursos para los que puede conservar datos históricos.
Configúrelo ingresando en cron el comando "/usr/lib/sa/sa1" (o /usr/lib64/sa/sa1) y ejecútelo cada vez que desee un punto de datos (por ejemplo, cada 5 minutos)
Luego puedes usar "sar" para ver tus datos. El valor predeterminado es hoy. También puede ver datos históricos de hasta 30 días. También puede archivar sus datos para conservarlos para siempre (los datos de cada día son aproximadamente 8 MB).
Para redes, usarías "sar -n"
Maravillosa herramienta :)
Un ejemplo:
testlinux:~ # sar -n DEV | head -10
Linux 2.6.16.60-0.21-default (pCITFileSvr01) 11/07/10
00:00:01 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
00:05:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:05:01 eth0 9.95 0.12 1.42 0.02 0.00 0.00 0.00
00:10:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:10:01 eth0 10.20 0.04 1.44 0.00 0.00 0.00 0.00
00:15:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
00:15:01 eth0 10.32 0.12 1.50 0.02 0.00 0.00 0.00
00:20:01 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
testlinux:~ #
Respuesta4
Muy bien, después de investigar un poco encontréestesolución en resumen que se utiliza netstat
para resumir el uso de la red. Aquí está mi comando modificado
netstat -e -n -i | grep wlan0 -A 5 | grep 'RX packets' | tail -1
Ejemplo de salida: -
RX packets 76639 bytes 73706194 (70.2 MiB)
Cambie wlan0
con el nombre de la interfaz de su tarjeta, puede filtrar más resultados de ese comando, por ejemplo
netstat -e -n -i | grep wlan0 -A 5 | grep 'RX packets' | tail -1 | awk '{print $6$7}'