Fehlersuche
Prinzipielles
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, 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!
Schrittweise Fehlersuche
Verlauf in Reihenfolge der Daten am Beispiel eines Zählers mit Infrarotschnittstelle.
Zähler
IR-Kopf
serielle Schnittstelle
vzlogger
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
oder systemctl status vzlogger
überprüfen)
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“)
stimmen die UUID von Frondend und vzlogger.conf überein?
was steht im logfile (/var/log/vzlogger.log
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 Werte Kanälen zugeordnet? („Reading: id=… value=… ts=…“)
werden die Werte zur middleware gesendet? („CURL: *“ im logfile)
Middleware
welche Version ist installiert (git log -n 1
im Ordner /var/www/volkszaehler.org
ausführen)
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
)
webconsole.png
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 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
)
Im Fall von Crashes, v.a. des vzloggers, bitte auch folgende Informationen ergänzen:
wann/wie wurden die letzten Updates gefahren
was ist alles (am Raspi) angeschlossen, v.a. welche Erweiterungen, wie erfolgt die Stromversorgung (wieviel Ampere)
wie sieht die rc.local
aus