QoS Graphen

Wirkt wahre Wunder!
Post Reply
Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

QoS Graphen

Post by Hellfire » May 15th, 2018, 9:20 am

Hi,

immer wieder Mal taucht im Forum ein Problem mit den QoS Graphen auf, welches die Leute dann irgenwie, wenn überhaupt gelöst bekommen. Bei mir ist jetzt ebenfalls eines aufgetaucht: die Graphen, genau genommen die Grafik bei red0 wird nicht mehr angezeigt, siehe Hardcopy.
2018-05-15_111204.png
Zur Vorgeschichte: QoS ist bei mir nicht aktiv geschaltet. Ich wollte lediglich die verschiedenen Klassen vorab definieren aber bei irgendeiner Aktion hat der Refresh der Seite das Problem mit dem Graphen für red0 ein Problem angezeigt.

Es hilft auch kein temporärer Start des QoS um die Anzeige evtl. zu korrigieren, wie andere schon Mal im Forum geschrieben haben.
Ich habe mich dann Mal ein wenig schlau gemacht und die verantwortlichen .rrd-Dateien gesucht und gelöscht. Ich bin zumindest davon ausgegangen hier einen Treffer erzielt zu haben, denn nach dem Löschen sind beide Graphen tatsächlich verschwunden.

Auch habe ich vor dieser Löschaktion collectd gestoppt und nach dem Löschen wieder gestartet.
Anschließend noch makegraphs gestartet, wobei ich mir nicht sicher bin, ob dieses Skript überhaupt für die Erstellung der .rrd Dateien zuständig ist. Irgendwann jedenfalls waren die beiden .rrd-Dateien jedenfalls wieder vorhanden.

Kurzum: Ergebnis ist nach wie vor - keine Grafik. Die Ursache muss wohl in den verwendeten Klassen liegen, evtl. in den Bezeichnungen, wobei diese aber ohne jeglichen Sonderzeichen gespeichert wurden.

Jemand einen Tipp, wie ich vorgehen könnte oder womit man evtl. Fehler bei der Erstellung der Graphen findet?

Danke,
Michael
Image

Alorotom
Posts: 383
Joined: March 30th, 2015, 6:56 am

Re: QoS Graphen

Post by Alorotom » May 15th, 2018, 9:23 am

... soweit ich gelesen habe, brauchen die Graphen immer etwas, bis sie angezeigt werden. Eine Fehlermeldung sollte natürlich nicht angezeigt werden. Kann also sein, dass Du in ein paar Stunden eine Ausgabe zu sehen bekommst.
Gruß
Alorotom
Image
Image
Image

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 15th, 2018, 10:24 am

Hm, ja, das dachte ich zunächst auch, jedoch nach dem Löschen beider rrd-Dateien stand der zweite QoS-Graph sehr bald wieder zur Verfügung, der für red0 jedoch nicht.

Heute morgen dann immer noch keine Grafik, somit, denke ich, liegt tatsächlich irgendwo ein Fehler im Detail.

Michael
Image

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 16th, 2018, 10:50 am

Nachgehakt:

wäre es einen Versuch wert, die Dateien, in denen QoS seine Einstellungen ablegt Mal sukzessive zu leeren, zumindest was die Klassen für Rot angeht um sich schrittweise dem Problem zu nähern? Macht man da was "kaputt"?

Ich habe nämlich keine große Lust die ganzen Klassen und Ports-Regeln nochmals neu zu erstellen.

Oder gibt es die Möglichkeit, ich habe diese Frage schon Mal gestellt, makegraphs zu debuggen oder ein Log einzusehen? Ich gehe davon aus, dass makegraphs dafür verantwortlich ist, oder ist es vielmehr collectd?

Edit: zumindest meine Frage nach makegraphs und collectd sind hier im Thread beantwortet: viewtopic.php?t=3107. Ohne jetzt nachgesehen zu haben, gehe ich davon aus,dass der qosd-Daemon noch immer im Einsatz ist. Ich werde mich überhaupt mal an der im Link genannten Vorgehensweise bei meiner Suche nach eine Lösung jetzt orientieren.

Grüße,
Michael
Image

BeBiMa
Posts: 2606
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: QoS Graphen

Post by BeBiMa » May 16th, 2018, 11:47 am

Das Erzeugen der Graphen ist inzwischen von makegraphs.pl nach /var/ipfire/graphs.pl verschoben. Der Grund ist wohl, dass damit die Graphen nicht periodisch erzeugt werden, sondern nur bei Bedarf.
Allerdings haben die Funktionen in graphs.pl noch immer die "alte Schwäche", nicht wirklich Fehler ausgeben zu können.
Grund: Die Ausgabe der Graphik in z.B. qos.cgi(Zeile 125ff) erfolgt durch

Code: Select all

    print "Content-type: image/png\n\n";
    binmode(STDOUT);
    &Graphs::updateqosgraph($querry[0],$querry[1]);
In graphs.pl erfolgt die Fehlerbehandlung durch

Code: Select all

        RRDs::graph (@command);
        $ERROR = RRDs::error;
        print "Error in RRD::graph for qos device ".$qossettings{'DEV'}.": ".$ERROR."\n" if $ERROR;
Diese Fehler erscheinen aufgrund des Content-type natürlich nicht.

Eine Möglichkeit wäre die Ausgabe in /var/log/messages mittels

Code: Select all

        RRDs::graph (@command);
        $ERROR = RRDs::error; 
        &General::log("graphs.pl","Error in RRD::graph for qos device ".$qossettings{'DEV'}.": ".$ERROR) if $ERROR;
Der Fehler erscheint zwar auch dann noch im Graphenfenster, wenn keine RRDs vorhanden sind. Allerdings ist dies in /var/log/messages dokumentiert. Eine "schöne" Lösung habe ich auch schon überlegt, aber dies würde den Post übermässig aufblähen. ( Heiße ich Fermat, nee ;) )

Gruss,
Bernhard
Last edited by BeBiMa on May 16th, 2018, 7:59 pm, edited 2 times in total.
Image
Unitymedia Cable Internet ( 32MBit )

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 16th, 2018, 7:16 pm

BeBiMa wrote:
May 16th, 2018, 11:47 am
Das Erzeugen der Graphen ist inzwischen von makegraphs.pl nach /var/ipfire/graphs.pl verschoben.
Ist dem wirklich so? Ich finde nach wie vor in der crontab den folgenden Aufruf, Core 120:

Code: Select all

# Make some nice graphs
*/5 * * * *     /usr/local/bin/makegraphs >/dev/null
Oder sind dort nur mehr die "Reste" drin, wie ich glaube aus der Datei heraugelesen zu haben: Also für Erstellung der Graphen für oder mittels vnstat also rund um die Festplatten-Daten?
Edit: Ja, scheint so, man muss halt nur dein Posting genauer lesen ;)

In jedem Fall Danke für deine Aufklärung, schränkt auf jeden Fall schon Mal den Kreis der Verdächtigen ein.

Michael
Image

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 16th, 2018, 7:54 pm

Ah hier ist das gute Stück äh Fehler, nachdem ich die grpahs.pl, nach deiner Anleitung, modifiziert habe:
May 16 21:31:08 ipfire graphs.pl: Error in RRD::graph for qos device red0: opening '/var/log/rrd/class_1-105_red0.rrd': No such file or directory
So, nun kenn ich zwar annähernd die Ursache aber class 105 für red0 existiert bei mir sehr wohl zumindest lt WebIF, aber nicht als rrd-Datei.

Ich bin jetzt folgendermaßen vorgegangen: collectd gestoppt

Code: Select all

/etc/init.d/collectd stop
und alle Dateien aus /var/log/rrd, die die QoS-Klassen betreffen, entfernt.
Dann habe ich collect wieder gestartet aber noch immer nicht wurden die Graphen (neu) erstellt.

Code: Select all

/etc/init.d/collectd start
Dann QoS kurz angestartet und siehe da die Graphen sind (momentan) wieder vorhanden. QoS wurde dann aber wieder ausgeschaltet, wegen unvollständiger Klassen.

Wie geschrieben, momentan passts, ich werden die Sache Mal beobachten die nä. Zeit.

Danke fürs Mitlesen und für jeden Tipp, der letztendlich weitergeholfen hat!
Grüße,
Michael
Image

BeBiMa
Posts: 2606
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: QoS Graphen

Post by BeBiMa » May 16th, 2018, 7:57 pm

Ich habe für den Fall, dass ein Fehler bei der Erzeugung der Graphen ein Fehler auftritt die Ausgabe einer kleinen Graphik eingefügt. Der Code in graphs.pl sieht dann so aus

Code: Select all

        RRDs::graph (@command);
        $ERROR = RRDs::error;
        if ($ERROR ) {
            &General::log("graphs.pl","Error in RRD::graph for qos device ".$qossettings{'DEV'}.": ".$ERROR);
            open (FILE, "< /srv/web/ipfire/html/images/dialog-error.png");
            binmode(FILE);
            while (<FILE>){print}
            close FILE;
        } 
Dieses Problem tritt übrigens bei allen Graphen auf, die mittels RRDs::graph erzeugt und direkt in die Webseite ausgegeben werden. RRDs::graph erzeugt leider im Fehlerfalle ( also z.B. fehlender Datei ) keine Ausgabe, auch kein leeres PNG-File.

Bernhard
Image
Unitymedia Cable Internet ( 32MBit )

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 16th, 2018, 8:11 pm

Hehe, ist das die von dir angepriesene und zuvor nicht verratene "schöne" Lösung? ;)

Egal, danke dir Bernhard, für das Coding! Ich gehe davon aus, dass ein Update der graphs.pl jedoch den Patch wieder entfernen wird, oder?

Michael
Image

BeBiMa
Posts: 2606
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: QoS Graphen

Post by BeBiMa » May 16th, 2018, 8:23 pm

Vorerst ja.
Ich werde zwar versuchen, einen Patch dafür einzureichen, aber die Ausgestaltung der "schönen Lösung" wird wohl diskutiert werden.

Apropos "schöne Lösung": ich hatte zum Zeitpunkt des Posts noch die Hoffnung, dass die Fehlermeldung und/oder ein leeres PNG-File einfach ausgegeben werden können. :)

Gruss,
Bernhard
Image
Unitymedia Cable Internet ( 32MBit )

BeBiMa
Posts: 2606
Joined: July 30th, 2011, 12:55 pm
Location: Mannheim

Re: QoS Graphen

Post by BeBiMa » May 17th, 2018, 11:39 am

So, nun habe ich doch noch eine "schöne Lösung" gefunden.
Die Fehler werden als PNG-Graphik ausgegeben.
/var/ipfire/graphs.pl anbei. ( Allerdings nur für die QOS-Graphen )

Für Rückmeldungen bin ich dankbar.
Bernhard
graphs.pl.tgz
(7.03 KiB) Downloaded 43 times
Image
Unitymedia Cable Internet ( 32MBit )

Hellfire
Posts: 475
Joined: November 8th, 2015, 8:54 am

Re: QoS Graphen

Post by Hellfire » May 17th, 2018, 5:49 pm

Cool, funz, Dankesehr!
2018-05-17_194646.png
Hab dazu einfach Mal eine der rrd-Dateien gelöscht und die QoS-Seite neu aufgerufen...
Wäre jetzt super, wenn diese Art von Änderungen auch in allen anderen Graphen Einzug halten würde, um derlei Fehler besser Eingrenzen zu können.

cu,
Michael
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests