Forum

Einloggen | Registrieren | RSS  

Raspberry und PIT (Computertechnik)

verfasst von luemar(R), 23.06.2017, 15:31 Uhr

» Hi Luemar,
»
» der Stacktrace ist was womit man arbeiten kann :ok: Um das Thema
» loggen/Ausgabeumleitung können wir uns später kümmern (vermutlich nur ne
» Kleinigkeit, aber bis wir die Finden...).
»
» » Nach Start mit ./ ,nach rund 18h und 30m und dann
» » nach 2 PIR Aktivierungen folgende Fehlermeldung, wobei das Script die
» » beiden male nicht mehr ausgeführt wurde bzw. keine Fotos mehr eintrafen:
» » Traceback (most recent calllast):
» » >File "./PIR_V1.py", line 59, in <module>
» » >>smtp = smtplib.SMTP(smtpHOST, smtpPort)
» » >File "/usr/lib/python3.4/smtplib.py", line 242, in __init__
» » >>(code, msg) = self.connect(host, port)
» » >File "/usr/lib/python3.4/smtplib.py", line 321 in connect
» » >>self.sock = self._get__socket(host, port, self.timeout)
» » >File "/usr/lib/python3.4/smtplib.py", line 292 in _get_socket
» » >>self.source_address)
» » >File "/usr/lib/python3.4/socket.py", line 491 in create_connection
» » >>for res in getaddrinfo(host, port, 0, SOCK_STREAM):
» » >File "/usr/lib/python3.4/socket.py", line 530 in getaddrinfo
» » >>for res in -socket.getaddrinfo(host, port, Family, type, proto,
» flags):
» » socket.gaierror: [Errno -2] Name or service not known
»
» Der interessante Teil sind die beiden letzten Zeilen, da steckt vermutlich
» der Grund für das Verhalten.
»
» >>for res in -socket.getaddrinfo(host, port, Family, type, proto, flags):
» socket.gaierror: [Errno -2] Name or service not known
»
» Ohne jetzt irgendetwas über python Netzwerkprogrammierung zu kennen, sehe
» ich das so: Es wird versucht der Hostname vom SMTP-Server aufzulösen und
» das schlägt fehl was über eine Exception signalisiert wird. Ich glaub auf
» die fehlende Fehlerbehandlung hab ich schon mal hingewiesen, aber das ist
» normal für ne Alpha-Version ;-)
»
» Es kann also der Hostname des SMPT-Servers nicht aufgelöst werden, folgende
» Gründe kann ich mir vorstellen
»
» * Netzwerkverbindung getrennt
» * Internetverbindung getrennt (Zwangstrennung vom Provider, Router
» abgestürzt/beim rebooten, ...)
» * DNS-Server nicht erreichbar
» * DNS-Server kennt den Hostname aufgrund einer Störung nicht
»
» Ich halte die ersten beiden Punkte für die wahrscheinlichsten, mit
» DNS-Servern passiert auch gelegentlich was und im DNS geht auch mal was
» schief, aber das ist nicht reproduzierbar und passiert i.d.R. nicht alle 24
» Stunden (oder so).
»
» Wie gehst du jetzt damit am besten um?
» Naja, Fehlerbehandlung einbauen! ;-)
»
» Das einfachste wäre ein try-except-Block um deine Mail-Versand-Funktion (ab
» Zeile 59), dann wird einfach keine Mail verschickt wenn der Hostname des
» Mailservers nicht aufgelöst werden kann (oder sonstwas mit dem Netzwerk
» beim Mail-Versand schief geht) . Der Nachteil ist halt, dass die Mails dann
» verloren sind. Etwas aufwändiger wäre das mit einer lokalen Mail-Queue zu
» lösen - also entweder selber programmieren, oder einen lokalen SMTP-Server
» als Smart-Proxy aufzusetzen - ist aber etwas anspruchsvoller.
»
» Du kannst mal den Artikel hier lesen
» https://www.networkcomputing.com/applications/python-network-programming-handling-socket-errors/1384050408
» da geht es um die Fehlerbehandlung von Netzwerkverbindungen in Python,
» vielleicht hilft dir das um das ganze besser zu verstehen.
»
» » Zweifle an der Zuverlässigkeit von Raspberry Pi.
» Es liegt nur am PI, wenn das Netzwerk-Interface wegbricht - und selbst dann
» ist das noch kein Stabilitätsproblem solange das nur einmal alle paar
» Stunden passiert und das Netzwerkinterface von alleine wieder online kommt.
» ;-)
»
» (IP)-Netzwerke sind einfach unzuverlässig, da hängen so viele Komponenten
» (Router, DNS-Server, andere Server, verschiedene Provider und Carrier,
» ....) drin, dass da immer irgendetwas grad nicht geht. Um so flexibler und
» komplexer das Gesamtsystem ist um so mehr Fehlerbehandlung bei
» Netzwerkfehlern braucht man. Netflix hat einiges zu dem Thema
» veröffentlicht: https://github.com/Netflix/Hystrix/wiki/How-it-Works Kannst
» mal überfliegen, wenn du das nicht verstehst ist das auch nicht schlimm,
» deren Infrastruktur ist ein bisschen mehr als ein PIR, ein PI und ein
» Mail-Server - aber das Grundproblem ist das gleiche: Irgendwas ist immer
» grad nicht erreichbar ;-) Damit haben wir auf Arbeit auch immer mal wieder
» zu tun - und seitdem immer mehr Dienste in die Cloud abwandern wird das
» noch schlimmer, das bekommt der normale User aber im Idealfall nicht mit
» weil die Fehlerbehandlung so gut ist, dass immer ein Fallback greift ;-)
»
» Gruß
» Bastelix

Hallo Bastelix,
vielen Dank für die Infos, habe schon begonnen, mich damit auseinandersetzen.
Wenn ich das richtig mitbekommen habe, kann der Fehler jeweils mit try und except lokalisiert aber nicht behoben werden.

Habe die Weiterleitung des PIR_V1.py Scripts in /var/log/pir.log eliminiert und jetzt wird das Script beim Einschalten/rebooten wieder ausgeführt.

Bekomme obigen Traceback nun nach unterschiedlichen Zeiten in jeder neuen Script - Periode. Dabe fällt mir auf, dass vorher der Zaähler der IRQs plötzlich wieder bei 1 anfängt.

Nach dem letzten Traceback wurde ein reboot Prozess eingeleitet, allerdings mit folgender Fehlermeldung:
[FAILED] Failed to start /etc/rc.local Compatiblity
See 'systemct1 status rc-local.service' for Details.

Du hast whs. recht mit dem Rat, eine professionelle Überwachungsanlage zu kaufen. Ich fürchte, es wird mit PI nicht gehen.
Natürlich würde der PIR im vorgesehen Ort niemals so häufig ausgelöst wie bei meinem Test,
eigentlich hoffentlich gar nie.


Grüsse, luemar.



Gesamter Thread:

Raspberry und PIT - luemar(R), 09.05.2017, 08:31 (Computertechnik)
Raspberry und PIT - Gast, 09.05.2017, 11:33
Raspberry und PIT - bastelix(R), 09.05.2017, 21:33
Raspberry und PIT - bastelix(R), 09.05.2017, 21:47
Raspberry und PIT - luemar(R), 10.05.2017, 12:30
Raspberry und PIT - bastelix(R), 12.05.2017, 23:15
Raspberry und PIT - luemar(R), 03.06.2017, 16:34
Raspberry und PIT - bastelix(R), 03.06.2017, 23:38
Raspberry und PIT - luemar(R), 04.06.2017, 15:56
Raspberry und PIT - bastelix(R), 04.06.2017, 22:46
Raspberry und PIT - luemar(R), 05.06.2017, 11:26
Raspberry und PIT - luemar(R), 20.06.2017, 13:27
Raspberry und PIT - luemar(R), 20.06.2017, 14:18
Raspberry und PIT - bastelix(R), 22.06.2017, 01:01
Raspberry und PIT - luemar(R), 23.06.2017, 15:31
Raspberry und PIT - bastelix(R), 24.06.2017, 00:32
Raspberry und PIT - luemar(R), 18.09.2017, 10:27
Raspberry und PIT - luemar(R), 18.09.2017, 10:30
Raspberry und PIT - luemar(R), 29.10.2017, 15:52
Raspberry und PIT - luemar(R), 30.10.2017, 18:08
Raspberry und PIT - bastelix(R), 31.10.2017, 00:02
Raspberry und PIT - luemar(R), 31.10.2017, 15:56
Raspberry und PIT - bastelix(R), 30.10.2017, 23:55
Raspberry und PIT - luemar(R), 31.10.2017, 15:52
Raspberry und PIT - bastelix(R), 01.11.2017, 00:40
Raspberry und PIT - luemar(R), 02.11.2017, 10:15
Raspberry und PIT - bastelix(R), 03.11.2017, 01:08
Raspberry und PIT - luemar(R), 15.11.2017, 18:14
Raspberry und PIT - bastelix(R), 15.11.2017, 21:49
Raspberry und PIT - luemar(R), 16.11.2017, 17:01
Raspberry und PIT - luemar(R), 29.11.2017, 14:58
Raspberry und PIT - luemar(R), 22.12.2017, 14:21
Raspberry und PIT - luemar(R), 07.07.2017, 20:53
Raspberry und PIT - bastelix(R), 15.07.2017, 23:46
Raspberry und PIT - luemar(R), 07.07.2017, 21:00