Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
howto:debug [2017/02/27 21:12] jau verbosity statt loglevel |
howto:debug [2018/03/21 17:29] jau curl im logfile |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Fehlersuche ===== | + | ====== Fehlersuche ====== |
- | + | ===== Prinzipielles ===== | |
- | ==== Prinzipielles ==== | + | |
<note> | <note> | ||
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. \\ | 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. \\ | ||
Zeile 12: | Zeile 11: | ||
- | ==== Schrittweise Fehlersuche ==== | + | ===== Schrittweise Fehlersuche ===== |
Verlauf in Reihenfolge der Daten am Beispiel eines Zählers mit Infrarotschnittstelle. | Verlauf in Reihenfolge der Daten am Beispiel eines Zählers mit Infrarotschnittstelle. | ||
Zeile 23: | Zeile 22: | ||
* werden Daten empfangen (Terminal-Programm) | * werden Daten empfangen (Terminal-Programm) | ||
* sind die Daten gültige Daten für ein bekanntes Protokoll? | * sind die Daten gültige Daten für ein bekanntes Protokoll? | ||
- | * Port-Parameter korrekt? Baudrate, Frameformat (SML, Binär, beginnt mit 1b1b1b1b) (D0, Ascii-Text mit Obis-IDs). | + | * Port-Parameter korrekt? Baudrate, Frameformat (SML, Binär, beginnt mit ''1b1b1b1b'') (D0, Ascii-Text mit Obis-IDs). |
* Braucht der Zähler evtl. einen Stubs um Daten zu senden (pullseq)? | * Braucht der Zähler evtl. einen Stubs um Daten zu senden (pullseq)? | ||
* Im Wiki nach Zähler und Konfiguration recherchieren. | * Im Wiki nach Zähler und Konfiguration recherchieren. | ||
* vzlogger | * vzlogger | ||
- | * welche Version ist installiert (vzlogger -V) | + | * welche Version ist installiert (''vzlogger -V'') |
- | * läuft er überhaupt, oder stürzt er wegen Bugs ab (z.B. mit top oder ps aux | grep vzlogger bzw. mit 'systemctl status vzlogger' überprüfen) | + | * 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) | + | * ist die Konfiguration korrekt (''/etc/vzlogger.conf'') |
* sind- im Fall von SML Zählern- die Identifier korrekt (z.B. "1-0:1.8.0" und nicht "1-0:1.8.255*255") | * sind- im 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? | * stimmen die UUID von Frondend und vzlogger.conf überein? | ||
- | * was steht im logfile (/var/log/vzlogger.conf bzw. /tmp/vzlogger.log) | + | * was steht im logfile (''/var/log/vzlogger.conf'' bzw. ''/tmp/vzlogger.log'') |
- | * ist das Logging überhaupt eingeschaltet ("verbosity": 15 für die Fehlersuche) | + | * 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 Kanälen 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) |
* Middleware | * Middleware | ||
- | * welche Version ist installiert (git log -n 1 im Ordner /var/www/volkszaehler.org ausführen) | + | * welche Version ist installiert (''git log -n 1'' im Ordner ''/var/www/volkszaehler.org'' ausführen) |
- | * 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 | * Frontend | ||
* ist die richtige UUID ausgewählt (gleiche UUID wie in der vzlogger.conf) | * ist die richtige UUID ausgewählt (gleiche UUID wie in der vzlogger.conf) | ||
Zeile 46: | Zeile 45: | ||
* werden überhaupt Daten angezeigt | * werden überhaupt Daten angezeigt | ||
* welche Requests werden an die middleware gestellt und wie sieht die JSON Antwort aus? (firebug, 'network' tab) | * 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) | + | * gibt es Fehlermeldungen im Webserver Log? (''tail -f /var/log/apache2/error.log'') {{ :howto:webconsole.png?linkonly|}} |
- | {{:howto:webconsole.png?linkonly|}} | + | |
* werden korrekte Daten angezeigt | * 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) | * wenn Daten inkorrekt angezeigt werden: wie sehen die Rohdaten aus (gleiche URL wie zur Abfrage der Daten mit &options=raw angehängt) | ||
- | ==== Weitere Hilfe ==== | + | ===== Weitere Hilfe ===== |
- | Wenn das alles nicht hilft bitte eine konkrete Fehlermeldung an die Mailingliste [[/contact]] schicken (statt "hilfe! es funktioniet nicht!" dann zB.: "middleware schreibt nichts in die datenbank"). | + | 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: | Folgende Angaben sind für die weitere Unterstützung Pflicht: | ||
Zeile 61: | Zeile 59: | ||
* Plattform (welche Hardware (Raspi? Version?), welche Software- offizielles VZ Image oder Selbstbau) | * Plattform (welche Hardware (Raspi? Version?), welche Software- offizielles VZ Image oder Selbstbau) | ||
* vzlogger Version | * vzlogger Version | ||
- | * vzlogger.conf | + | * ''vzlogger.conf'' |
- | * vzlogger.log mit Loglevel 15 | + | * ''vzlogger.log'' mit höchstem Loglevel ''"verbosity": 15'' |
- | * Middleware/ Frontend Version (git log -n 1 im Ordner /var/www/volkszaehler.org) | + | * Middleware/ Frontend Version (''git log -n 1'' im Ordner ''/var/www/volkszaehler.org'') |
Im Fall von Crashes, v.a. des vzloggers, bitte auch folgende Informationen ergänzen: | Im Fall von Crashes, v.a. des vzloggers, bitte auch folgende Informationen ergänzen: | ||
Zeile 69: | Zeile 67: | ||
* wann/wie wurden die letzten Updates gefahren | * wann/wie wurden die letzten Updates gefahren | ||
* was ist alles (am Raspi) angeschlossen, v.a. welche Erweiterungen, wie erfolgt die Stromversorgung (wieviel Ampere) | * was ist alles (am Raspi) angeschlossen, v.a. welche Erweiterungen, wie erfolgt die Stromversorgung (wieviel Ampere) | ||
- | * wie sieht die rc.local aus | + | * wie sieht die ''rc.local'' aus |