59:Weather / OpenWeatherMapAPI / 100% CPU wenn DNS fehlschlägt

Begonnen von herrmannj, 22 Januar 2021, 15:41:03

Vorheriges Thema - Nächstes Thema

herrmannj

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


Wernieman

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 ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dr. Boris Neubert

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
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

CoolTux

Sorry zu spät entdeckt. Ich teste heute Abend mit Open Weather Map und berichte.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wernieman

Nur mal eine Kurzidee:
Bist Du Dir sicher, das Dein FHEM die host Datei mit verwendet?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

Um ganz sicher zu gehen, hatte ich die URL im Modul verhunzt mit einem Hostnamen, den es gar nicht gibt.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

holle75

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 ... 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.