FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Wettermodule => Thema gestartet von: herrmannj am 22 Januar 2021, 15:41:03

Titel: 59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: herrmannj am 22 Januar 2021, 15:41:03
Moin,

zur Info:

hier -> https://forum.fhem.de/index.php/topic,118001.0/topicseen.html berichtet ein user von 100% CPU Last.

Ursache scheint Weather zu sein. In diesem Fall schlägt DNS für api.openweathermap.org fehl.

Es scheint so als ob der retry sofort ausgeführt wird. Laut Code (#306,#307) "sollten" das eigentlich 60 Sekunden sein wenn ich das richtig verstehe. Ich sehe nichts offensichtliches, vielleicht mögt ihr (@Boris||Cooltux) mal schauen.

Für den User ist es erstmal gelöst (DNS Einstellungen)

Danke, vg Joerg

Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: Wernieman am 22 Januar 2021, 17:16:36
D.h. es ist nachvollziehbar, in dem man einfach die DNS-Einstellung "falsch" setzt?

Edit:
Habe leider aktuell kein FHEM-Testsystem vor der Nase, wo ich es mal Testen könnte ....
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: Dr. Boris Neubert am 30 Januar 2021, 14:16:41
Hallo,

ich habe keinen Key für openWeatherMap also habe ich es auf meinem Testsystem mit DarkSky ausprobiert und in DarkSkyAPI.pm die URL auf einen Hostname gesetzt, der nicht aufgelöst werden kann. Hier das Log:

2021.01.30 14:10:11 5: HttpUtils url=https://api.darksky.netfoobar/forecast/...
2021.01.30 14:10:11 4: HttpUtils: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:10:11 5: Starting notify loop for W, 9 event(s), first is lastError: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:10:11 5: createNotifyHash
2021.01.30 14:10:11 5: End notify loop for W
2021.01.30 14:10:11 4: Weather W: Rearm new Timer
2021.01.30 14:11:11 5: HttpUtils url=https://api.darksky.netfoobar/forecast/....
2021.01.30 14:11:11 4: HttpUtils: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:11:11 5: Starting notify loop for W, 9 event(s), first is lastError: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:11:11 5: End notify loop for W
2021.01.30 14:11:11 4: Weather W: Rearm new Timer
2021.01.30 14:12:11 5: HttpUtils url=https://api.darksky.netfoobar/forecast/...
2021.01.30 14:12:11 4: HttpUtils: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:12:11 5: Starting notify loop for W, 9 event(s), first is lastError: gethostbyname api.darksky.netfoobar failed
2021.01.30 14:12:11 5: End notify loop for W
2021.01.30 14:12:11 4: Weather W: Rearm new Timer


Da ist alles in Ordnung. Es wird brav nach einer Minute versucht, erneut auf den Host zuzugreifen.

Da das erneute Versuchen nach einem Fehler in 59_Weather.pm erfolgt, was für alle APIs gleich ist, ist für mich nun nicht verständlich, wie es zu dem Problem kommt.

Viele Grüße
Boris
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: CoolTux am 30 Januar 2021, 15:36:22
Sorry zu spät entdeckt. Ich teste heute Abend mit Open Weather Map und berichte.
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: CoolTux am 30 Januar 2021, 18:39:14
Kann ich nicht nachvollziehen.
Ich habe in meiner /etc/hosts mal für api.openweather.org eine IP vergeben welche es nicht gibt. Dann Weather abrufen lassen und geschuat was die CPU und das Frontend machen. Frontend ließ sich in der zwischenzeit immer wieder laden und die CPU an mich angegähnt.

Leider kann ich also den Fehler nicht nachvollziehen.

Grüße
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: Wernieman am 31 Januar 2021, 11:15:04
Nur mal eine Kurzidee:
Bist Du Dir sicher, das Dein FHEM die host Datei mit verwendet?
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: CoolTux am 31 Januar 2021, 11:25:34
Zitat von: Wernieman am 31 Januar 2021, 11:15:04
Nur mal eine Kurzidee:
Bist Du Dir sicher, das Dein FHEM die host Datei mit verwendet?

Ob FHEM das macht kann ich nicht sagen. Das System macht es, hatte ich getestet. Ich habe aber ansonsten kein DNS bei FHEM konfiguriert.
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: Dr. Boris Neubert am 31 Januar 2021, 11:26:38
Um ganz sicher zu gehen, hatte ich die URL im Modul verhunzt mit einem Hostnamen, den es gar nicht gibt.
Titel: Antw:59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt
Beitrag von: holle75 am 01 Februar 2021, 16:04:41
In dem Zusammenhang möchte ich, da ich da schon einige Tests mit @cooltux durch hatte, das hier verlinken -> https://forum.fhem.de/index.php/topic,95823.msg1047605.html#msg1047605 (https://forum.fhem.de/index.php/topic,95823.msg1047605.html#msg1047605) ... davor und danach gibts Fehlersuche.

"schlechtes Internet" und dann zwangsweise auch keine DNS-Auflösung (falls das der Grund ist) haben definitiv Auswirkunden auf weather.
Allerdings interessiert das bei mir die CPU kein bißchen (oder das Abfrageintervall von sysmon ist zu kurz). Aber freezes gibts nachvollziehbar.