Recientemente lo descargué vnstat
para monitorear mi uso de ancho de banda de Internet. Tengo un plan de datos limitado, pero mi ISP proporciona un ancho de banda no medido durante las horas pico (2:00 a.m. a 8:00 a.m.). Por lo tanto, me gustaría que vnstat informe el uso de datos categorizando el uso en horas pico y el uso en horas pico por separado.
He pasado man vnstat
pero no pude encontrar ninguna ayuda a este respecto. ¿Sería posible obtener dos estadísticas diferentes para las horas pico y no pico usando vnstat
? Si no, ¿qué alternativas tengo disponibles para lograr lo mismo?
command-line
bandwidth
vnstat
Aditya
fuente
fuente
Respuestas:
AFAIK ninguna herramienta de monitoreo de ancho de banda es mejor que
vnstat
. Lamentablemente no es compatible con esta función. Pero puede lograr esto utilizando múltiples bases de datos paravnstat
.Guarde los datos para las horas pico en
vnstat1
y para las horas pico envnstat2
. Cree un script de demonio que los cambie según la hora del día utilizando unaif
condición en un bucle infinito; si no es entre las 2 y las 8 horas, use elvnstat1
deshabilitarvnstat1
, habilitarvnstat2
ysleep
.Escribí el siguiente script bash. Guárdelo en un archivo y hágalo ejecutable usando
sudo chmod x <filename>
. Pruébalo por un tiempo. Finalmente, haga que el script se inicie automáticamente con el sistema operativo. Ejecútelo como elroot
usuario. (Solo agregue la ruta al script/etc/rc.local
para que se ejecute en el momento del arranque).Cambie
i=eth0
en la quinta línea a la interfaz de red que desea monitorear.Para conocer el uso ejecutar
cat /tmp/onpeak
ycat /tmp/offpeak
respectivamente.También es una buena idea restablecer los datos en la base de datos predeterminada (
/var/lib/vnstat
), ya que nunca se actualizará si todo en el script funciona bien.fuente
Esperemos que esto ayude un poco.
Así que voy a darle un programa que escribí, porque estaba teniendo problemas con el funcionamiento de cron. Desafortunadamente, no conozco los scripts de shell, así que esto está en Python, pero funcionó para mí, y es bastante simple, pero agradable. Lo siento, no comenté mi código, pero realmente no quería volver a leerlo. Sé que algunas partes pueden no ser las mejores, pero funciona.
Guía rápida
Abra Idle, copie> pegue.
Guardar como
filename.py
.Terminal abierta
Ejecútelo con Python 3 (python3 filename.py`).
Ingrese la hora que desea programar para que se ejecute vnstat.
Pon el minuto que quieras de esa hora.
Ponga la cantidad de horas que desea monitorear.
Ponga la cantidad de minutos que desea monitorear.
Ingrese el dispositivo que está monitoreando (no lo revisé y la verificación de errores, por lo que si ingresa algo como monkeybutt, intentará ejecutarse
vnstat -i monkeybutt
, cada 15 segundos, solo Ctrl+ Cfuera).El programa se ejecutará cada 15 segundos para ver si el tiempo coincide, no dará ningún mensaje. Está destinado a ejecutarse en segundo plano. Una vez que comience, tomará una foto cada 15 segundos de la red, en el dispositivo que elija. Usando el comando vnstat, más un contador que indica cuántos segundos le quedan de monitoreo.
Después de completar los escaneos, le preguntará si desea salir y le dará una opción si desea mostrar un informe; de lo contrario, puede salir. Todo el material se almacena en la base de datos vnstats de todos modos.
Parte anterior de la publicación (puede ser útil para algunas personas)
Puede obtener gnome-schedule, luego poner su comando, por ejemplo, vnstat -h, y configurarlo para que vuelva a ocurrir durante los momentos que está tratando de monitorear. Quizás demasiado simple, pero espero que alguien más pueda expandirse aún más.
Adicional (Editar): no he usado mucho vnstat, por eso esperaba que alguien pudiera expandirse en esa parte, pero con el programa gnome, puede programar un comando para que se ejecute durante partes específicas del día. Por lo tanto, usar vntstat -tr -l (interruptor de tráfico, monitorear el tráfico en vivo), mostraría el tráfico mientras se ejecuta (que puede programar en gnome-schedule, pero puede que tenga que hacer Ctrl+ + manualmente C).
De lo contrario, estoy seguro de que podría canalizar esto en un archivo, o usar el programa de salida gráfica para vnstat si lo tiene. El programa de salida gráfica se
vnstati -i 'filename'
enviará a un archivo png. Si desea más comandos,vnstat --longhel
p tiene más comandos.(Pantalla de muestra de cómo poner las cosas en gnome-schedule).
¿Sabes cómo obtener una 'instantánea' del ancho de banda usando vnstat o necesitas más ayuda con esos comandos? Puedo intentar trabajar más con el programa.
fuente