Tips en Trucs 2024

Netwerkbandbreedte monitoren met vnStat

VnStat is een gratis, open source, lichtgewicht en terminal-gebaseerde Netwerkmonitor. Met VnStat kunnen we eenvoudig achterhalen hoeveel netwerkbandbreedte er wordt verbruikt en het resultaat per uur, per dag, per maand of voor een specifieke tijdsperiode weergeven.

Vnstat verzamelt de gebruiksgegevens van één of meerdere netwerkinterfaces en geeft de samenvatting weer in de terminal. Het helpt ook bij het berekenen van de geschatte hoeveelheid internetgebruik per maand, per dag of voor een bepaalde periode.

VnStat installeren

VnStat is beschikbaar in de standaard softwarebronnen van veel Linux distributies. Je kunt het dus installeren met de pakketbeheerder van je distributie, voor Debian:

dany@pindabook:~$ su
Wachtwoord: 
root@pindabook:/home/dany# apt install vnstat
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
Voorgestelde pakketten:
  vnstati
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
  vnstat
0 opgewaardeerd, 1 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 108 kB aan archieven opgehaald worden.
Na deze bewerking zal er 305 kB extra schijfruimte gebruikt worden.
Ophalen:1 http://deb.debian.org/debian bookworm/main amd64 vnstat amd64 2.10-2 [108 kB]
108 kB opgehaald in 0s (2.043 kB/s)
Voorheen niet geselecteerd pakket vnstat wordt geselecteerd.
(Database wordt ingelezen ... 173849 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../vnstat_2.10-2_amd64.deb wordt voorbereid...
Bezig met uitpakken van vnstat (2.10-2) ...
Instellen van vnstat (2.10-2) ...
Created symlink /etc/systemd/system/multi-user.target.wants/vnstat.service → /lib/systemd/system/vnstat.service.
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
root@pindabook:/home/dany# exit
exit

Je hoeft vnStat niet te starten op DEB-gebaseerde systemen zoals Debian, omdat het automatisch wordt ingeschakeld en gestart na de installatie.

VnStat configureren

VnStat zoekt standaard zelf naar beschikbare netwerkinterface's. Maar dat kan je zelf aanpassen in het configuratiebestand /etc/vnstat.conf.

Laten we eens kijken naar het begin van het vnstat config bestand.

dany@pindabook:~$ head -15 /etc/vnstat.conf
# vnStat 2.10 configuration file
#
# lines starting with # or ; are comments, everything has default
# values, remove ; before each option to change its value


# default interface (leave empty for automatic selection)
;Interface ""

# location of the database directory
;DatabaseDir "/var/lib/vnstat"

# locale (LC_ALL) ("-" = use system locale)
;Locale "-"

Dank zij de commentaarregels met uitleg, stellen we vast dat vnStat de netwerkinterface automatisch zal selecteren.

Netwerkbandbreedte monitoren met vnStat

Als je vnStat wilt leren gebruiken, open dan de helpsectie van vnStat en bekijk de lijst met beschikbare opties:

dany@pindabook:~$ vnstat --help
vnStat 2.10 by Teemu Toivola <tst at iki dot fi>

      -5,  --fiveminutes [limit]   show 5 minutes
      -h,  --hours [limit]         show hours
      -hg, --hoursgraph            show hours graph
      -d,  --days [limit]          show days
      -m,  --months [limit]        show months
      -y,  --years [limit]         show years
      -t,  --top [limit]           show top days

      -b, --begin <date>           set list begin date
      -e, --end <date>             set list end date

      --oneline [mode]             show simple parsable format
      --json [mode] [limit]        show database in json format
      --xml [mode] [limit]         show database in xml format
      --alert <output> <exit> <type> <condition> <limit> <unit>
                                   alert if limit is exceeded

      -tr, --traffic [time]        calculate traffic
      -l,  --live [mode]           show transfer rate in real time
      -i,  --iface <interface>     select interface

Use "--longhelp" or "man vnstat" for complete list of options.

Bandbreedtegebruik van alle interfaces bekijken

Laten we nu het netwerkverkeer van alle interfaces weergeven:

dany@pindabook:~$ vnstat 
Database updated: 2024-01-14 15:16:20

   wlp4s0 since 2024-01-14

          rx:  28,95 KiB      tx:  22,69 KiB      total:  51,64 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2024-01     28,95 KiB |   22,69 KiB |   51,64 KiB |    1,39 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated    138,81 MiB |  108,76 MiB |  247,56 MiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today     28,95 KiB |   22,69 KiB |   51,64 KiB |    1,39 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        45 KiB |      35 KiB |      80 KiB |

Met:

Geef vnstat enkele minuten de tijd om netwerkverkeer te verzamelen. Als je vnstat direct na de installatie start, krijg je mogelijk een melding daarover.

Bandbreedtegebruik van een bepaalde interface bekijken

Om het netwerkbandbreedtegebruik van een bepaalde interface te bekijken, bijvoorbeeld wlp4s0, geef je gewoon de naam van de netwerkkaart door met de optie -i.

dany@pindabook:~$ vnstat -i wlp4s0
Database updated: 2024-01-14 15:20:00

   wlp4s0 since 2024-01-14

          rx:  46,71 KiB      tx:  37,25 KiB      total:  83,95 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2024-01     46,71 KiB |   37,25 KiB |   83,95 KiB |    1,31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated    130,22 MiB |  103,03 MiB |  233,25 MiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today     46,71 KiB |   37,25 KiB |   83,95 KiB |    1,31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        72 KiB |      58 KiB |     129 KiB |

Hier is wlp4s0 de naam van mijn netwerkkaart. Je kunt de naam van je netwerkkaarten vinden met de opdracht:

dany@pindabook:~$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: wlp4s0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether ac:7b:a1:42:e0:5f brd ff:ff:ff:ff:ff:ff
    inet 192.168.129.29/23 brd 192.168.129.255 scope global dynamic noprefixroute wlp4s0
       valid_lft 4521sec preferred_lft 4521sec
    inet6 2a02:a03f:e02a:8901:a8fa:2902:a3c2:97f/64 scope global dynamic noprefixroute 
       valid_lft 86352sec preferred_lft 71952sec
    inet6 fe80::6865:fb5:500c:e2cd/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Bandbreedtegebruik per uur weergeven

Laten we de resultaten van het netwerkverkeer per uur weergeven:

dany@pindabook:~$ vnstat -h

 wlp4s0  /  hourly

         hour        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2024-01-14
         15:00      1,21 MiB |  903,38 KiB |    2,09 MiB |    4,86 kbit/s
         16:00    222,93 KiB |  138,25 KiB |  361,19 KiB |      875 bit/s
     ------------------------+-------------+-------------+---------------

En in grafiekvorm:

dany@pindabook:~$ vnstat -hg
 wlp4s0                                                                   16:56 
  ^                                                                    r        
  |                                                                    r        
  |                                                                    r        
  |                                                                    rt       
  |                                                                    rt       
  |                                                                    rt       
  |                                                                    rt       
  |                                                                    rt       
  |                                                                    rt       
  |                                                                    rt rt    
 -+---------------------------------------------------------------------------> 
  |  17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16    
                                                                                
 h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB)  ][  h  rx (KiB)   tx (KiB) 
17        0,0        0,0 ][ 01        0,0        0,0 ][ 09        0,0        0,0
18        0,0        0,0 ][ 02        0,0        0,0 ][ 10        0,0        0,0
19        0,0        0,0 ][ 03        0,0        0,0 ][ 11        0,0        0,0
20        0,0        0,0 ][ 04        0,0        0,0 ][ 12        0,0        0,0
21        0,0        0,0 ][ 05        0,0        0,0 ][ 13        0,0        0,0
22        0,0        0,0 ][ 06        0,0        0,0 ][ 14        0,0        0,0
23        0,0        0,0 ][ 07        0,0        0,0 ][ 15    1.234,4      903,4
00        0,0        0,0 ][ 08        0,0        0,0 ][ 16      222,9      138,3

Dagelijks bandbreedtegebruik bekijken

Gebruik de -d optie om het netwerkverkeer van de standaard netwerkinterface per dag weer te geven.

dany@pindabook:~$ vnstat -d

 wlp4s0  /  daily

          day        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2024-01-14     1,42 MiB |    1,02 MiB |    2,44 MiB |    3,25 kbit/s
     ------------------------+-------------+-------------+---------------
      estimated     7,14 MiB |    5,11 MiB |   12,25 MiB |

Maandelijks bandbreedtegebruik bekijken

Gebruik de -m optie om het maandelijkse gebruik van een netwerkkaart te bekijken.

dany@pindabook:~$ vnstat -m

 wlp4s0  /  monthly

        month        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2024-01      1,42 MiB |    1,02 MiB |    2,44 MiB |    3,25 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated    337,72 MiB |  241,84 MiB |  579,56 MiB |

Dagen gerangschikt op het dagelijks netwerkverkeer

Een top (10) geef je weer met de optie -t:

dany@pindabook:~$ vnstat -t

 wlp4s0  /  top 1

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
 >  1   2024-01-14     1,42 MiB |    1,02 MiB |    2,44 MiB |      236 bit/s
   -----------------------------+-------------+-------------+---------------
VnStat

Bandbreedtegebruik bekijken van bepaalde tijd

We kunnen ook het bandbreedtegebruik van een bepaalde tijd bekijken. Voer de volgende opdracht uit om het bandbreedtegebruik van de afgelopen tien seconden weer te geven:

dany@pindabook:~$ vnstat -i wlp4s0 -tr 10
2018 packets sampled in 10 seconds
Traffic average for wlp4s0

      rx       407,70 kbit/s            99 packets/s
      tx       273,55 kbit/s           102 packets/s

Live bandbreedtegebruik bekijken

Voer de volgende opdracht uit om het gebruik van een bepaalde netwerkkaart live te volgen:

dany@pindabook:~$ vnstat -i wlp4s0 -l
Monitoring wlp4s0...    (press CTRL-C to stop)

   rx:   888,18 kbit/s   260 p/s          tx:   961,72 kbit/s   293 p/s^C


 wlp4s0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                   353,16 KiB  |      339,68 KiB
--------------------------------------+------------------
          max          888,18 kbit/s  |   961,72 kbit/s
      average          180,82 kbit/s  |   173,92 kbit/s
          min              344 bit/s  |       920 bit/s
--------------------------------------+------------------
  packets                        837  |             910
--------------------------------------+------------------
          max                260 p/s  |         293 p/s
      average                 52 p/s  |          56 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    16 seconds

Druk op Ctrl+c om live monitoring te stoppen en een overzicht weer te geven.

VnStat verwijderen

VnStat kunnen we in de terminal verwijderen met de opdracht:

dany@pindabook:~$ sudo apt purge vnstat
[sudo] wachtwoord voor root: 
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
De volgende pakketten zullen VERWIJDERD worden:
  vnstat*
0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 0 niet opgewaardeerd.
Na deze bewerking zal er 305 kB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n] 
(Database wordt ingelezen ... 174128 bestanden en mappen momenteel geïnstalleerd.)
vnstat (2.10-2) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
(Database wordt ingelezen ... 174108 bestanden en mappen momenteel geïnstalleerd.)
Configuratiebestanden voor vnstat (2.10-2) worden gewist ...