Auslastung des eigenen Segments ansehen
Forumsregeln
Forenregeln
Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“), von eazy („[eazy]“) oder von O2 über Kabel („[O2]“) bist.
Forenregeln
Bitte gib bei der Erstellung eines Threads im Feld „Präfix“ an, ob du Kunde von Vodafone Kabel Deutschland („[VFKD]“), von Vodafone West („[VF West]“), von eazy („[eazy]“) oder von O2 über Kabel („[O2]“) bist.
-
- Insider
- Beiträge: 3982
- Registriert: 04.06.2010, 14:21
- Wohnort: Itzehoe
Re: Auslastung des eigenen Segments ansehen
hmmm ok. Also zurück ans Reißbrett. Im Moment braucht der Scan ca. 25 Sekunden. Selbst mit 25k packets nur knappe 40s.
-
- Kabelexperte
- Beiträge: 721
- Registriert: 04.09.2010, 12:35
Re: Auslastung des eigenen Segments ansehen
Hallo Auslastungsfans,
zum Vergleich beschreibe ich kurz was ich in meinem Script so mache:
Siehe auch Screenshot. Ja - ich bin eher ein Anhaenger von ASCII Grafiken
Ganz oben sind die eher statischen Modemwerte zu sehen, die im Regelfall nur alle Stunde gescannt werden. Wie z.B. Datum letzter Reset, Firmware Datum/Release, Power Level, Signal to Noise Ratio etc.
Bei signifikanten Aenderungen in diesem Bereich bekomme ich sofort eine Email mit entsprechendem Hinweis.
Zur Auslastung (der dynamische Teil):
Ich scanne einfach alle 8 moeglichen Frequenzen sequentiell. Das dauert in etwa 17 Sekunden. Und zeichne fuer jeden Wert eine Linie, die ihre maximale Laenge bei einem gemessenen Wert von '51285' erhaelt. Warum der Wert '51285'? Es ist einfach der hoechste jemals hier gemessene Zahlenwert. Zum Errechnen der 'Auslastung' beruecksichtige ich natuerlich nur die 4 der 8 tatsaechlich vom Modem verwendeten Frequenzen (sind mit 'in use' gekennzeichnet). Und addiere hierzu einfach die 4 Messwerte und teile die Summe durch den Maximalwert von 4 * 51285. Das hat sich in Praxis eigentlich sehr gut bewaehrt. In den eckigen Klammern rechts stehen direkt die 4 Messwerte der 4 Modemfrequenzen wie sie aus der 'dvbtraffic' Utility fallen. Danach der ping auf sipgate.de und daneben der ping auf 8.8.8.8, ganz rechts dann schliesslich der Wert fuer die 'Auslastung' in %. Ist vielleicht mathematisch nicht ganz korrekt aber fuer mich reichts
Achja das 'hash' Zeichen habe ich noch vergessen: Es ist eine weitere Darstellung der Auslastung. Je weiter es nach rechts wandert desto hoeher die Auslastung (z.b. um 15:09:00 ein Peak mit 91%). Das erlaubt einen schnellen Ueberblick darueber was im Segment so los ist, ohne dazu lang Zahlen vergleichen zu muessen.
Screenshot
- sparkie
zum Vergleich beschreibe ich kurz was ich in meinem Script so mache:
Siehe auch Screenshot. Ja - ich bin eher ein Anhaenger von ASCII Grafiken
Ganz oben sind die eher statischen Modemwerte zu sehen, die im Regelfall nur alle Stunde gescannt werden. Wie z.B. Datum letzter Reset, Firmware Datum/Release, Power Level, Signal to Noise Ratio etc.
Bei signifikanten Aenderungen in diesem Bereich bekomme ich sofort eine Email mit entsprechendem Hinweis.
Zur Auslastung (der dynamische Teil):
Ich scanne einfach alle 8 moeglichen Frequenzen sequentiell. Das dauert in etwa 17 Sekunden. Und zeichne fuer jeden Wert eine Linie, die ihre maximale Laenge bei einem gemessenen Wert von '51285' erhaelt. Warum der Wert '51285'? Es ist einfach der hoechste jemals hier gemessene Zahlenwert. Zum Errechnen der 'Auslastung' beruecksichtige ich natuerlich nur die 4 der 8 tatsaechlich vom Modem verwendeten Frequenzen (sind mit 'in use' gekennzeichnet). Und addiere hierzu einfach die 4 Messwerte und teile die Summe durch den Maximalwert von 4 * 51285. Das hat sich in Praxis eigentlich sehr gut bewaehrt. In den eckigen Klammern rechts stehen direkt die 4 Messwerte der 4 Modemfrequenzen wie sie aus der 'dvbtraffic' Utility fallen. Danach der ping auf sipgate.de und daneben der ping auf 8.8.8.8, ganz rechts dann schliesslich der Wert fuer die 'Auslastung' in %. Ist vielleicht mathematisch nicht ganz korrekt aber fuer mich reichts
Achja das 'hash' Zeichen habe ich noch vergessen: Es ist eine weitere Darstellung der Auslastung. Je weiter es nach rechts wandert desto hoeher die Auslastung (z.b. um 15:09:00 ein Peak mit 91%). Das erlaubt einen schnellen Ueberblick darueber was im Segment so los ist, ohne dazu lang Zahlen vergleichen zu muessen.
Screenshot
- sparkie
-
- Ehrenmitglied
- Beiträge: 2402
- Registriert: 20.09.2007, 10:23
- Wohnort: Freilassing
Re: Auslastung des eigenen Segments ansehen
@sparkie: Darf ich dir sagen, dass du ein absoluter Freak bist? Deine ASCII sieht ja so derb geil aus Da kommst dir vor, wie in MATRIX
@sparkie: Ich finde es ja voll geil, wie du mit awk umgehen kannst. Da hast du von mir den tiefsten Respekt! Vielleicht kannst du mir kurz was erklären...
Du macht einen Handle zu einer Binary auf:
dvbtraffic ist aber ein Programm, das immer Output gibt - unendlich... Durch welchen Befehl steigt dein Programm dann aus der Schleife aus und schließt den Handle? Ich verstehe das nicht. Ist die Funktion "getline" dafür zuständig, und wenn ja, wie verhält sich diese? Bin bei AWK noch vollkommener Anfänger.
Sprich 2 Sekunden für die Auswertung pro Frequenz.sparkie hat geschrieben:Ich scanne einfach alle 8 moeglichen Frequenzen sequentiell. Das dauert in etwa 17 Sekunden.
@sparkie: Ich finde es ja voll geil, wie du mit awk umgehen kannst. Da hast du von mir den tiefsten Respekt! Vielleicht kannst du mir kurz was erklären...
Du macht einen Handle zu einer Binary auf:
Code: Alles auswählen
CMD = "dvbtraffic -a " ADAPTER
while (CMD | getline > 0) {
....
}
close(CMD)
AWK Documentation hat geschrieben:The getline command is used in several different ways and should not be used by beginners.
Anschlüsse: 3x Internet&Phone 100 MBits, 2x Internet&Phone 26MBit, 1x Internet&Phone 32 MBits Telefon-Anschluss: sipgate.de, dus.net, easybell.de, personal-voip.de
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN
Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN
Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
-
- Insider
- Beiträge: 3982
- Registriert: 04.06.2010, 14:21
- Wohnort: Itzehoe
Re: Auslastung des eigenen Segments ansehen
Sooo... rrd's neu angelegt nach Schema
nun heisst es abwarten und den cronjob minütlich machen lassen und dann mal grafik bauen.
Code: Alles auswählen
koaschten@ubuntu:~/rrdtest$ rrdtool create 546000000.rrd -s 60 DS:bandwidth:GAUGE:60:0:51000000 RRA:MAX:0:5:288 RRA:AVERAGE:0:5:288 RRA:MIN:0:5:288 RRA:MAX:0:30:336 RRA:AVERAGE:0:30:336 RRA:MIN:0:30:336 RRA:MAX:0:120:360 RRA:AVERAGE:0:120:360 RRA:MIN:0:120:360 RRA:MAX:0:1440:365 RRA:AVERAGE:0:1440:365 RRA:MIN:0:1440:365
Zuletzt geändert von koaschten am 16.06.2011, 18:37, insgesamt 2-mal geändert.
-
- Kabelexperte
- Beiträge: 721
- Registriert: 04.09.2010, 12:35
Re: Auslastung des eigenen Segments ansehen
sagen wir mal so: wenn es prinzipiell auch auf einem uralten seriellen Terminal laeuft - dann ist es gut fuer michRcRaCk2k hat geschrieben:Deine ASCII sieht ja so derb geil aus Da kommst dir vor, wie in MATRIX
ausserdem bin ich oft im Ausland unterwegs. Wenn ich mich dann per ssh auf meinen Kisten einlogge, kann ich selbst mit der allerwindigsten GPRS Verbindung noch problemlos die Diagramme anschauen - Funktionstest bestanden
- sparkie
-
- Ehrenmitglied
- Beiträge: 2402
- Registriert: 20.09.2007, 10:23
- Wohnort: Freilassing
Re: Auslastung des eigenen Segments ansehen
@koaschten: Also du machst jetzt
- 5 Minunten AVG/MIN/MAX-Berechnung mit 24 Stunden Aufzeichnung (Backlog)
- 30 Minuten AVG/MIN/MAX-Berechnung mit 7 Tagen Aufzeichnung (Backlog)
- 2 Stunden AVG/MIN/MAX-Berechnung mit 30 Tagen Aufzeichnung (Backlog)
- 24 Stunden AVG/MIN/MAX-Berechnung mit 365 Tagen Aufzeichnung (Backlog)
Anschlüsse: 3x Internet&Phone 100 MBits, 2x Internet&Phone 26MBit, 1x Internet&Phone 32 MBits Telefon-Anschluss: sipgate.de, dus.net, easybell.de, personal-voip.de
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN
Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
Router: Linux x64 Router, Interne Verkablung: Patchpannel, CAT 7, Netzwerkdosen, CAT 5e, wirelessLAN
Links:
- Kabel-Deutschland und die Geschwindigkeit des Internet-Zugangs
-
- Insider
- Beiträge: 3982
- Registriert: 04.06.2010, 14:21
- Wohnort: Itzehoe
Re: Auslastung des eigenen Segments ansehen
hmmm irgendwie versagt nun mein Grafik erstell Script?
Sieht grad wer den fehler?
Symptom? Es wird GAR NICHTS geplottet.
edit:
hmmm nen liefert mir ne leere RoundRobinDB??!?
Code: Alles auswählen
#!/bin/sh
freqs="546000000 554000000 562000000 570000000 578000000 586000000 594000000 602000000"
intervals="day week month year"
path="/home/koaschten/rrdtest/"
for interval in $intervals
do
for freq in $freqs
do
rrdtool graph "$path$freq-$interval.png" DEF:Bandwidth=$path$freq.rrd:bandwidth:AVERAGE LINE1:Bandwidth#32CD32 --start -1$interval -t "24937 Flensburg | Segment 601 | $freq QAM256 6952kHz" -h 300 -w 800 AREA:Bandwidth#32CD32:Bandwidth "GPRINT:Bandwidth:MAX: Max\\: %5.1lf %S" "GPRINT:Bandwidth:AVERAGE: Avg\\: %5.1lf %S" "GPRINT:Bandwidth:MIN: Min\\: %5.1lf %S" "GPRINT:Bandwidth:LAST: Last\\: %5.1lf %S" -l 0
done
done
Symptom? Es wird GAR NICHTS geplottet.
edit:
hmmm nen
Code: Alles auswählen
rrdtool fetch /home/koaschten/rrdtest/554000000.rrd AVERAGE -1day
-
- Kabelexperte
- Beiträge: 721
- Registriert: 04.09.2010, 12:35
Re: Auslastung des eigenen Segments ansehen
genau.RcRaCk2k hat geschrieben: Sprich 2 Sekunden für die Auswertung pro Frequenz.
oh - sorry fuer die VerwirrungDu macht einen Handle zu einer Binary auf:dvbtraffic ist aber ein Programm, das immer Output gibt - unendlich... Durch welchen Befehl steigt dein Programm dann aus der Schleife aus und schließt den Handle?Code: Alles auswählen
CMD = "dvbtraffic -a " ADAPTER while (CMD | getline > 0) { .... } close(CMD)
Das hat mich natuerlich auch genervt, dass der 'dvbtraffic' von Haus aus nur Endlos Loops kann. Ich habe deswegen in den 'dvbtraffic' halt noch eine Option eingebaut, damit er sich nach einem Durchlauf beendet. Minipatch:
Code: Alles auswählen
--- dvbtraffic.c.org 2011-01-31 06:08:51.000000000 +0100
+++ dvbtraffic.c 2011-02-21 19:11:43.000000000 +0100
@@ -25,6 +25,7 @@
"Options:\n"
" -a N use dvb adapter N\n"
" -d N use demux N\n"
+ " -o one shot mode\n"
" -h display this help\n");
}
@@ -35,8 +36,9 @@
char *search = NULL;
int fd, ffd, packets = 0;
int opt;
+ int one_shot_mode = 0;
- while ((opt = getopt(argc, argv, "a:d:hs:")) != -1) {
+ while ((opt = getopt(argc, argv, "a:d:hos:")) != -1) {
switch (opt) {
case 'a':
adapter = atoi(optarg);
@@ -47,6 +49,9 @@
case 'h':
usage(stdout);
exit(0);
+ case 'o':
+ ++one_shot_mode;
+ break;
case 's':
search = strdup(optarg);
break;
@@ -138,6 +143,7 @@
}
pidt[_pid] = 0;
}
+if (one_shot_mode) break;
printf("-PID--FREQ-----BANDWIDTH-BANDWIDTH-\n");
startt = now;
}
ich denke damit hat sich die Frage geklaert? Das getline ist nichts Besonderes, es liest einfach bis EOF. Und das EOF kommt jetzt eben durch die neue OptionIch verstehe das nicht. Ist die Funktion "getline" dafür zuständig, und wenn ja, wie verhält sich diese?
ich habe mein Script uebrigens noch weiter bearbeitet. Ich kann es gerne irgendwo hinladen. Aber dieses Forum erlaubt ja leider keine Anhaenge.
- sparkie
-
- Insider
- Beiträge: 3982
- Registriert: 04.06.2010, 14:21
- Wohnort: Itzehoe
Re: Auslastung des eigenen Segments ansehen
Vermutlich dumme Frage, warum nimmst du dann nicht einfach dvbsnoop?sparkie hat geschrieben: Das hat mich natuerlich immer schon genervt, dass der 'dvbtraffic' von Haus aus nur Endlos Loops kann. Ich habe deswegen in den 'dvbtraffic' halt noch eine Option eingebaut, damit er sich nach einem Durchlauf beendet. Minipatch:
-
- Kabelexperte
- Beiträge: 721
- Registriert: 04.09.2010, 12:35
Re: Auslastung des eigenen Segments ansehen
weil ich das gar nicht kannte - zumindest habe ich das irgendwie nicht wahrgenommen, dass in diesem Forum staendig die Rede davon ist - danke fuer den Hinweiskoaschten hat geschrieben: Vermutlich dumme Frage, warum nimmst du dann nicht einfach dvbsnoop?