Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:debug

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:debug [2013/03/29 16:51]
udo1 [Allgemein]
howto:debug [2019/12/25 14:49] (aktuell)
jau Logfile falsch
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+ 
-  * ir-kopf +  Zähler 
-    * werden daten empfangen (oszilloskopwenn vorhanden+    * werden Daten überhaupt gesendet (Digitalkamera, vorher mit Fernbedienung testen ob diese IR-Impulse sichtbar machen kann
-  * serielle schnittstelle +  * IR-Kopf 
-    * werden daten empfangen (terminal-programm+    * werden Daten empfangen (Einfacher Test: IR-Kopf 1-2 cm über eine weiße Fläche haltenmit HTerm Daten senden, diese sollten sofort wieder empfangen werden da reflektiert
-    * sind die daten gueltige daten fuer ein bekanntes protokoll+  * serielle Schnittstelle 
-      * port-parameter korrekt? +    * werden Daten empfangen (Terminal-Programm
-      * (smlbinaer, beginnt mit 1b1b1b1b) (d0ascii-text mit obis-IDs)+    * sind die Daten gültige Daten für ein bekanntes Protokoll
 +      * Port-Parameter korrekt? Baudrate, Frameformat (SMLBinär, beginnt mit ''1b1b1b1b'') (D0Ascii-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
-    * werden die daten korrekt dekodiert? ("Got <n> new readings from meter"+    * ist die Konfiguration korrekt (''/etc/vzlogger.conf''
-    * werden die werte kanaelen zugeordnet? ("Reading: id=... value=... ts=..."+    * sindim Fall von SML Zählern- die Identifier korrekt (z.B. "1-0:1.8.0" und nicht "1-0:1.8.255*255"
-    * werden die werte zur middleware gesendet? ("CURL: *"+    * stimmen die UUID von Frondend und vzlogger.conf überein? 
-    * sind die requests korrekt? (leider server-log, strace oder tcpdump, debug-ausgabe fehlt momentan+    * was steht im logfile (''/var/log/vzlogger.log'' bzw. ''/tmp/vzlogger.log''
-  * middleware +    * ist das Logging überhaupt eingeschaltet (''"verbosity": 15'' für die Fehlersuche
-    * werden requests ueberhaupt verarbeitet? (eingabe und ausgabe! [[/software/middleware/einrichtung#testen]]+    * werden die Daten korrekt dekodiert? ("Got <n> new readings from meter"
-    * kommen die requests an (webserver access_log) +    * werden die Werte Kanälen zugeordnet? ("Reading: id=... value=... ts=..."
-    * werden die werte in die datenbank geschrieben (mysql-client)? +    * werden die Werte zur middleware gesendet? ("CURL: *" im logfile
-    * werden die daten ausgegeben? +  * Middleware 
-  frontend +    * welche Version ist installiert (''git log -n 1'' im Ordner ''/var/www/volkszaehler.org'' ausführen
-    * werden korrekte requests an die middleware gestellt und korrekt beantwortet? (firebug, 'network' tab) {{:howto:webconsole.png?linkonly|}}+    * kommen die Requests an (Webserver access_log) 
 +    * werden die Werte in die Datenbank geschrieben (MySQL-Client) 
 +  * Frontend 
 +    * ist die richtige UUID ausgewählt (gleiche UUID wie in der vzlogger.conf) 
 +    ist der Kanal richtig konfiguriert (Typ und Auflösung) 
 +    * 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 zu dem konkreten Problem (statt "hilfe! es funktioniet nicht!" dann zB.: "middleware schreibt nichts in die datenbank") um hilfe: [[/contact]] 
howto/debug.1364572270.txt.gz · Zuletzt geändert: 2013/03/29 16:51 von udo1