Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:debug

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
howto:debug [2013/03/29 17:00] – [Weiter...] udo1howto:debug [2018/03/21 17:29] – curl im logfile jau
Zeile 1: Zeile 1:
-===== Fehlersuche =====+====== Fehlersuche ======
  
-Hier entsteht ein Leitfaden zur Fehlersuche in volkszaehler-Installationen. +===== Prinzipielles =====
- +
-==== Allgemein ==== +
-Zunaechst mal ein paar allgemeine Hinweise:+
 <note> <note>
-Die Daten nehmen vom Zaehler zum Frontend einen klaren Weg durch das System.\\ +Daten nehmen bei Volkszähler einen klar definierten Weg durch das System. Dieser führt vom Zähler über Lesekopf, vzlogger und Middleware zum Frontend. \\ 
-Wenn irgendwo am Ende nichts, oder nicht das Erwartete ankommt, nicht verzweifeln,\\ + 
-sondern den Weg der Daten verfolgen, dann findet man ganz automatisch die Stelle, wo sie haengen bleiben.+Wenn irgendwo am Ende nichts, oder nicht das Erwartete ankommt, gilt es den Weg der Daten zurück zu verfolgen und die Stelle zu finden aber der das Verhalten unerwartet ist\\ 
 + 
 +Fehlersuche ist ein strukturierter Prozess- kein Rätselraten!
 </note> </note>
  
-==== Skizze ==== 
  
-Verlauf, erstmal fuer einen Zaehler mit infrarot-schnittstelle.+===== Schrittweise Fehlersuche =====
  
-  Zaehler +Verlauf in Reihenfolge der Daten am Beispiel eines Zählers mit Infrarotschnittstelle. 
-    * werden Daten gesendet (Digitalkamera, vorher mit Fernbedienung testen ob diese IR-Impulse sichtbar machen kann )+ 
 +  Zähler 
 +    * werden Daten überhaupt gesendet (Digitalkamera, vorher mit Fernbedienung testen ob diese IR-Impulse sichtbar machen kann)
   * IR-Kopf   * IR-Kopf
-    * werden Daten empfangen (Einfacher Test: IR-Kopf 1-2 cm ueber eine weiße Fläche halten, mit HTerm Daten senden, diese sollten sofort wieder empfangen werden)+    * werden Daten empfangen (Einfacher Test: IR-Kopf 1-2 cm über eine weiße Fläche halten, mit HTerm Daten senden, diese sollten sofort wieder empfangen werden da reflektiert)
   * serielle Schnittstelle   * serielle Schnittstelle
     * werden Daten empfangen (Terminal-Programm)     * werden Daten empfangen (Terminal-Programm)
-    * sind die Daten gueltige Daten fuer ein bekanntes Protokoll? +    * sind die Daten gültige Daten für ein bekanntes Protokoll? 
-      * Port-Parameter korrekt? Baudrate, Frameformat+      * Port-Parameter korrekt? Baudrate, Frameformat (SML, Binär, beginnt mit ''1b1b1b1b'') (D0, Ascii-Text mit Obis-IDs)
-      * (SML, Binaer, beginnt mit 1b1b1b1b) (D0, Ascii-Text mit Obis-IDs)+      * Braucht der Zähler evtl. einen Stubs um Daten zu senden (pullseq)? 
 +      * Im Wiki nach Zähler und Konfiguration recherchieren.
   * vzlogger   * vzlogger
-    * laeuft er ueberhaupt, oder stuerzt er wegen Bugs ab(am besten erstmal mit -f starten+    * welche Version ist installiert (''vzlogger -V''
-    * werden Daten empfangen (leider mit strace, debug-ausgabe fehlt momentan)+    * läuft er überhaupt, oder stürzt er wegen Bugs ab (z.B. mit ''top'' oder ''ps aux | grep vzlogger'' oder ''systemctl status vzlogger'' überprüfen
 +    * ist die Konfiguration korrekt (''/etc/vzlogger.conf''
 +    * sindim Fall von SML Zählern- die Identifier korrekt (z.B. "1-0:1.8.0" und nicht "1-0:1.8.255*255"
 +    * stimmen die UUID von Frondend und vzlogger.conf überein? 
 +    * was steht im logfile (''/var/log/vzlogger.conf'' bzw. ''/tmp/vzlogger.log''
 +    * ist das Logging überhaupt eingeschaltet (''"verbosity": 15'' für die Fehlersuche)
     * werden die Daten korrekt dekodiert? ("Got <n> new readings from meter")     * werden die Daten korrekt dekodiert? ("Got <n> new readings from meter")
-    * werden die Werte Kanaelen zugeordnet? ("Reading: id=... value=... ts=..."+    * werden die Werte Kanälen zugeordnet? ("Reading: id=... value=... ts=..."
-    * werden die Werte zur middleware gesendet? ("CURL: *"+    * werden die Werte zur middleware gesendet? ("CURL: *" im logfile
-    * sind die requests korrekt? (leider server-log, strace oder tcpdump, debug-ausgabe fehlt momentan+  * Middleware 
-  * middleware +    * welche Version ist installiert (''git log -n 1'' im Ordner ''/var/www/volkszaehler.org'' ausführen
-    * werden requests ueberhaupt verarbeitet? (Eingabe und Ausgabe! [[/software/middleware/einrichtung#testen]]+    * kommen die Requests an (Webserver access_log) 
-    * kommen die requests an (webserver access_log) +    * werden die Werte in die Datenbank geschrieben (MySQL-Client) 
-    * werden die werte in die datenbank geschrieben (mysql-client)? +  * Frontend 
-    * werden die daten ausgegeben? +    * ist die richtige UUID ausgewählt (gleiche UUID wie in der vzlogger.conf) 
-  frontend +    ist der Kanal richtig konfiguriert (Typ und Auflösung) 
-    * werden korrekte requests an die middleware gestellt und korrekt beantwortet? (firebug, 'network' tab) {{:howto:webconsole.png?linkonly|}}+    * werden überhaupt Daten angezeigt 
 +    * welche Requests werden an die middleware gestellt und wie sieht die JSON Antwort aus? (firebug, 'network' tab
 +    * gibt es Fehlermeldungen im Webserver Log? (''tail -f /var/log/apache2/error.log'') {{ :howto:webconsole.png?linkonly|}} 
 +    * werden korrekte Daten angezeigt 
 +    * wenn Daten inkorrekt angezeigt werden: wie sehen die Rohdaten aus (gleiche URL wie zur Abfrage der Daten mit &options=raw angehängt) 
 + 
 + 
 +===== Weitere Hilfe ===== 
 + 
 +Wenn das alles nicht hilft bitte eine konkrete Fehlermeldung an die [[/contact|User Mailingliste]] schicken (statt "hilfe! es funktioniet nicht!" dann zB.: "Middleware schreibt nichts in die Datenbank"). 
 + 
 +Folgende Angaben sind für die weitere Unterstützung Pflicht:
  
 +  * Zählertyp
 +  * Plattform (welche Hardware (Raspi? Version?), welche Software- offizielles VZ Image oder Selbstbau)
 +  * vzlogger Version
 +  * ''vzlogger.conf''
 +  * ''vzlogger.log'' mit höchstem Loglevel ''"verbosity": 15''
 +  * Middleware/ Frontend Version (''git log -n 1'' im Ordner ''/var/www/volkszaehler.org'')
  
-==== Weiter... ====+Im Fall von Crashes, v.ades vzloggers, bitte auch folgende Informationen ergänzen:
  
-Idealerweise solltet ihr (irgendwann einmalanhand dieses Leitfadens jegliche Probleme selber loesen koennen.+  * wann/wie wurden die letzten Updates gefahren 
 +  * was ist alles (am Raspiangeschlossen, v.a. welche Erweiterungen, wie erfolgt die Stromversorgung (wieviel Ampere) 
 +  * wie sieht die ''rc.local'' aus
  
-Solange das nicht der Fall ist, geht bitte trotzdem die Liste durch, um den Fehler moeglichst weit einzugrenzen, 
-und bittet dann zu dem konkreten Problem (statt "hilfe! es funktioniet nicht!" dann zB.: "middleware schreibt nichts in die datenbank") um hilfe: [[/contact]] 
howto/debug.txt · Zuletzt geändert: 2022/04/21 19:54 von jau