[vorerst erledigt] Netzwerkdurchsatz loggen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
GregorS
Beiträge: 2626
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

[vorerst erledigt] Netzwerkdurchsatz loggen

Beitrag von GregorS » 29.11.2023 10:57:46

Hallo zusammen!

Ich möchte den aktuellen Netzwerkdurchsatz loggen. Kann ich diesen Wert irgendwo „abgreifen“? Evtl. so wie die CPU-Last als Durchschnitt der letzten N Minuten?

TIA

Gregor
Zuletzt geändert von GregorS am 29.11.2023 12:47:50, insgesamt 1-mal geändert.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
cosinus
Beiträge: 3439
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: Netzwerkdurchsatz loggen

Beitrag von cosinus » 29.11.2023 11:23:44

Meinst du mit loggen auch protokollieren oder willst du bloß sehen was gerade aktuell die last ist?
In der MATE-Systemüberwachung sieht man schon einen recht guten Verlauf. Welchen Desktop benutzt du?

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Netzwerkdurchsatz loggen

Beitrag von heisenberg » 29.11.2023 11:29:05

/sys/devices/virtual/net/$INTERFACENAME/statistics/* ?

CPU-Load (ist nicht CPU-Auslastung) der letzten 1/5/15 Minuten bekommst Du aus /proc/loadavg.

CPU-Last wirst Du selbst protokollieren müssen.
Zuletzt geändert von heisenberg am 29.11.2023 11:31:04, insgesamt 1-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
GregorS
Beiträge: 2626
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkdurchsatz loggen

Beitrag von GregorS » 29.11.2023 11:29:40

cosinus hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 11:23:44
Meinst du mit loggen auch protokollieren oder willst du bloß sehen was gerade aktuell die last ist?
In der MATE-Systemüberwachung sieht man schon einen recht guten Verlauf. Welchen Desktop benutzt du?
Ich möchte den Verlauf des Durchsatzes über die Zeit loggen, um das dann zusammen mit anderen Infos (CPU-Last, -Temperatur ...) in GNUplot zu einem Diagramm verwurschteln zu können.
Älteres Beispiel, noch ohne Durchsatz: https://test.szaktilla.de/lili.pdf

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
GregorS
Beiträge: 2626
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkdurchsatz loggen

Beitrag von GregorS » 29.11.2023 11:33:50

heisenberg hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 11:29:05
/sys/devices/virtual/net/$INTERFACENAME/statistics/* ?
Da gibt es bei mir nur „lo“:

Code: Alles auswählen

gszaktilla@lili:~$ ls -l /sys/devices/virtual/net/
insgesamt 0
drwxr-xr-x 5 root root 0 29. Nov 08:46 lo
gszaktilla@lili:~$ 
Hmpf ...?

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Netzwerkdurchsatz loggen

Beitrag von heisenberg » 29.11.2023 11:40:25

GregorS hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 11:33:50
heisenberg hat geschrieben: ↑ zum Beitrag ↑
29.11.2023 11:29:05
/sys/devices/virtual/net/$INTERFACENAME/statistics/* ?
Da gibt es bei mir nur „lo“:

Code: Alles auswählen

gszaktilla@lili:~$ ls -l /sys/devices/virtual/net/
insgesamt 0
drwxr-xr-x 5 root root 0 29. Nov 08:46 lo
Sieht bei mir so aus:

Code: Alles auswählen

# ls -1 /sys/devices/virtual/net/*/statistics/{r,t}x_bytes

/sys/devices/virtual/net/br0/statistics/rx_bytes
/sys/devices/virtual/net/br0/statistics/tx_bytes
/sys/devices/virtual/net/lo/statistics/rx_bytes
/sys/devices/virtual/net/lo/statistics/tx_bytes
/sys/devices/virtual/net/tun0/statistics/rx_bytes
/sys/devices/virtual/net/tun0/statistics/tx_bytes
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Netzwerkdurchsatz loggen

Beitrag von heisenberg » 29.11.2023 11:43:34

Im Übrigen gibt es noch /proc/net/dev:

Code: Alles auswählen

cat /proc/net/dev

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 23486614   13825    0    0    0     0          0         0 23486614   13825    0    0    0     0       0          0
  eth0: 59584065   59241    0   57    0     0          0        65  9265846   42956    0    0    0     0       0          0
   br0: 58007253   49629    0    0    0     0          0         8  9019905   42090    0    0    0     0       0          0
  tun0: 33581933   32811    0    0    0     0          0         0  2845186   21967    0    0    0     0       0          0
Ansonsten wäre Debiandstat vielleicht noch eine Alternative:

Code: Alles auswählen

# dstat --nocolor
You did not select any stats, using -cdngy by default.
--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read  writ| recv  send|  in   out | int   csw 
  5   2  93   0   0| 699k  274k|   0     0 |   0     0 |2011  5528 
  2   2  95   0   0|   0     0 |  12k 8328B|   0     0 |1726  4760 
  4   2  94   0   0|   0     0 |5432B 4802B|   0     0 |1737  4272 
Ich meine der erste Wert von dstat wäre teilweise falsch, z. B. disk read/write - wie man hier sieht - weil das irgend ein akkumulierter Wert ist. Erst der Zweite ist dann tatsächlich die aktuelle Aktivität.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Netzwerkdurchsatz loggen

Beitrag von heisenberg » 29.11.2023 11:55:16

Zur Datenextraktion von /proc/net/dev ist Debianjc eine gute Hilfe:

Code: Alles auswählen

jc --proc-net-dev </proc/net/dev | jq .

[
  ...
  {
    "interface": "br0",
    "r_bytes": 86730024,
    "r_packets": 71236,
    "r_errs": 0,
    "r_drop": 0,
    "r_fifo": 0,
    "r_frame": 0,
    "r_compressed": 0,
    "r_multicast": 10,
    "t_bytes": 12282121,
    "t_packets": 59478,
    "t_errs": 0,
    "t_drop": 0,
    "t_fifo": 0,
    "t_colls": 0,
    "t_carrier": 0,
    "t_compressed": 0
  },
  ...
]

Debianjq ist hier nur zur schöneren Darstellung der JSON-Daten.

Werte extrahieren:

Code: Alles auswählen

jc --proc-net-dev </proc/net/dev  | jq -r '.[] | [ .interface, .r_bytes, .t_bytes ] | @sh'

'lo' 42227905 42227905
'eth0' 97130127 14352741
'br0' 94497499 13987455
'tun0' 56762020 4875810
       
# ... oder auch ...

jc --proc-net-dev </proc/net/dev                            \
   | jq -r  '.[] | [ .interface, .t_bytes, .r_bytes] | @sh' \
   | xargs -n3 printf "%5s %10d %10d\n" 

   lo   43724900   43724900
 eth0   15455825  101675480
  br0   15061870   98894144
 tun0    5361597   59014308
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
thunder11
Beiträge: 1344
Registriert: 19.04.2023 09:08:30

Re: Netzwerkdurchsatz loggen

Beitrag von thunder11 » 29.11.2023 12:43:29

Ähliches hatte ich auch mal gemacht, allerdings nur für eine Schnittstelle.
Ansatz wäre hier:
viewtopic.php?t=187785&hilit=vnstat#p1338226
Die Ausgabe wäre dann so:

Code: Alles auswählen

Mi-12:35:32:: 791 bit/s
Mi-12:36:03:: 801 bit/s
Mi-12:36:34:: 890 bit/s
Mi-12:37:05:: 2,07 kbit/s
Mi-12:37:36:: 64,99 kbit/s
Mi-12:38:07:: 62,08 kbit/s
Mi-12:38:38:: 847 bit/s
Mi-12:39:09:: 69,11 kbit/s
Mi-12:39:40:: 817 bit/s
Mi-12:40:11:: 765 bit/s
bzw die weiteren Vorschläge von @heisenberg

Benutzeravatar
GregorS
Beiträge: 2626
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Netzwerkdurchsatz loggen

Beitrag von GregorS » 29.11.2023 12:44:30

Danke!

jc und jq waren mir bislang nicht bekannt. Auch viewtopic.php?t=187785&hilit=vnstat#p1338226 sieht lesenswert aus.

Gruß

Gregor

PS: Scheinbar ist vnstatd das von mir Gesuchte.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

Antworten