Mein FHEM läuft nicht mehr, wenn er Link im Netzwerk bekommt.
FHEM Service läuft, aber Webseite geht nicht mehr und auch CUL und HMLAND gehen, wenn überhaupt mit Fehlern und extremsten Verzögerungen.
Habe das Problem seit gestern, seit mein DSL Asl gestört ist und die AVM FB kein DSL-Signal mehr zum connect hat.
Klingt komisch, ist aber so. :-(
Ziehe ich das LAN ab, warte kurz und rufe die Webseite mittel Loopback auf, geht alles wie früher 1A.
Nur eben die LAN Devices (AVR-NET-IO) kann ich logischerwiese dann nicht mehr ansteuern usw.
Aber CUL und HMLAND funktionieren dann, wie gewohnt und gewünscht!
LAN Kabel wieder rein, nix mehr geht!
Weder direkte IP, noch Loopback, noch läuft FHEM sauber.
Was hat da Kubuntu für ein Problem nur weil vermtl. das Internet nur weg ist mit dem LAN Port.
Oder nur zufälliges Problem zur gleichen Zeit mit DSL Störung?
Habe schon mehrfach gebootet und auch in dem Verbindungsmanager das kabelgeb. Interface gelöscht und neu angelegt.
Switchport getauscht usw....
In der /etc/network/interfaces steht nur:
auto lo
iface lo inet loopback
ifconfig zeigt aber unter CLI im Kubuntu sauber das LAN Interface, keine Fehler oder so!
Die eigentliche LAN IP ist im Kubuntu unter dem Netzmanager konfiguriert.
Im alten Kubuntu hatte ich das allerdings eth1 auch in der Interfaces mit drin.
Geht aber irgendwie unter 14.04 nur noch über diesen GUI Manager.
Hat bisher ja auch ohne Probleme alles so funktioniert.
Alle anderen Dienste laufen mit aktivierten LAN.
samba, proftpd, tftp-hpa, apache2 usw.
Nur FHEM zickt dann rum.
SUDO TOP zeigt keine auffälligen erhöhten CPU Aktivitäten alle unter 1-3%
Was soll ich machen?
Bin total am verzweifeln und meine Linuxkenntnisse sind inzwischen recht am Ende.
Auf welcher Hardware läuft denn FHEM? Ist Kubuntu das OS wo auch FHEM drunter läuft?
Wo und wie hängt der HMLan dran? Du bist sehr sparsam mit Systeminformationen
Mach mal
ifconfig
ps ax
Und dann schauen wir mal.
Ich bin nicht sicher, ob ich Dir helfen kann, aber zwei Dinge die mir dazu einfallen sind:
- FHEM-Module, die externe Verbindungen aufbauen und dabei FHEM anhalten (also alles was zum Beispiel extern im Internet Daten abruft --> z.B. Wetterdienste etc)
- Generell Namensauflösungen für Server (sprich DNS etc), da diese gerne blockierend sind. Also es wird versucht einen Namen "www.google.de" zu eienr IP-Adresse aufzulösen die Fritzbox wird gefragt und wartet auf einen externen DNS-Server ...
Im ersten Fall würde es helfen mal Module herauszunehmen, die externe Dienste enthalten (temporär löschen oder deaktivieren)
Im zweiten Fall wäre es interessant auf der Kommandozeile bei laufendem LAN Namen (zur Not über ping) aufzulösen und zu schauen, ob es da auch lange Wartezeiten gibt?
Kurzes Update und mehr Infos (Sorry)
Das Kubuntu 14.04 LTS läuft auf einem Laptop mit Core i5, 2GB RAM ...
Das Webinterface über Loopback scheint inzwischen auch (wieder) zu gehen bei aktiver LAN Verbindung.
Aber der Aufruf dauert extrem lange, viele Minuten!!!
Über die eigtl. IP anscheinend auch, aber noch viel länger.
CUL ist direkt über USB verbunden und der der HMLAND ist der Homatic USB Configstick.
Über IP hängt dann mit ECMD der AVR dran.
Dreambox ist aktiviert, PRESENCE zu Handys und IPCAMs etc.
Ja und ich habe TELEGRAM Bot laufen, der raus möchte und openweather und yahoo weather ist aktiv.
Sehe ich auch im Log, das die auf Fehler laufen.
Habe jetzt
- openweather disabled 1
- weather pollzeit von 1800 auf 18000 gesetzt, disable gibt es leider nicht
- bei den Telegram bots Polling auf 0 gesetzt
Jetzt geht es komischerweise wieder.
Liegt also an den DNS Aufrufen der Module.
Das ist ja aber Fatal.
Wenn man Internet weg ist, wie gerade in meinem Fall seit gestern, kippt der ganze FHEM um deshalb.
Da sind doch die Module nicht sauber gebaut oder?
Wenn die ihre Destination nicht bekommen nach Timeout, können die doch nicht das ganze FHEM System lahm legen.
Was kann man da tun?
Den Kubuntu sich selbst neben der Fritzbox als 2. DNS Server eintragen und für die genutzten Adressen auf die eigene Loopback verweisen.
Dann ist die IP wenigstens erreichbar aber kriegt eben nur keine Daten zurück.
Wäre zumindest ein Workaround falls es so funktionieren könnte.
Ist schon blöd wenn man Alarmanlage und Überwachung per FHEM laufen hat und die ganze Kiste kackt ab wegen DSL Störung.
Zitat von: duu75 am 24 April 2016, 16:09:41
Habe jetzt
- openweather disabled 1
- weather pollzeit von 1800 auf 18000 gesetzt, disable gibt es leider nicht
- bei den Telegram bots Polling auf 0 gesetzt
Jetzt geht es komischerweise wieder.
Liegt also an den DNS Aufrufen der Module.
Das ist ja aber Fatal.
Wenn man Internet weg ist, wie gerade in meinem Fall seit gestern, kippt der ganze FHEM um deshalb.
Da sind doch die Module nicht sauber gebaut oder?
Wenn die ihre Destination nicht bekommen nach Timeout, können die doch nicht das ganze FHEM System lahm legen.
Was kann man da tun?
Den Kubuntu sich selbst neben der Fritzbox als 2. DNS Server eintragen und für die genutzten Adressen auf die eigene Loopback verweisen.
Dann ist die IP wenigstens erreichbar aber kriegt eben nur keine Daten zurück.
Wäre zumindest ein Workaround falls es so funktionieren könnte.
Ist schon blöd wenn man Alarmanlage und Überwachung per FHEM laufen hat und die ganze Kiste kackt ab wegen DSL Störung.
Beim TelegramBot kann ich zumindest sagen, dass das Polling nicht blocking abläuft, nur die DNS Namensauflösung ist blocking.
Eigentlich musst man nicht aufs eigene Loopbackinterface verweisen, sondern nur dafür sorgen, dass die DNS-Requests dann sofort einen Fehler liefern, denn der Server ist ja eh nicht erreichbar...
Zitat von: viegener am 24 April 2016, 18:10:29
Beim TelegramBot kann ich zumindest sagen, dass das Polling nicht blocking abläuft, nur die DNS Namensauflösung ist blocking.
Eigentlich musst man nicht aufs eigene Loopbackinterface verweisen, sondern nur dafür sorgen, dass die DNS-Requests dann sofort einen Fehler liefern, denn der Server ist ja eh nicht erreichbar...
Aber wie das anstellen?
DNS Anfragen haben auf der Fritzbox als Standard DNS Server einen Timeout, der erst ablaufen muss bevor eine Antwort kommt.
In der /etc/resolv.conf des client-Rechners kannst Du die Optionen
options timeout:1
options attempts:1
entsprechend konfigurieren. Default ist timeout=5 und attempts=2
Um solche Probleme zu vermeiden, läuft bei mir ein lokaler DNS Server (dnsmasq) auf dem Cubietruck mit, auf dem auch fhem läuft. Dessen IP Adresse wird per DHCP an alle Clients verteilt, die sich per DHCP registrieren.
Deshalb habe ich sogar einen "echten" dns/(dhcp)-Server im Netz. Der ist so einfach zu installieren und ermöglicht die 100% Kontrolle.
Sogar für den RasPi (u.Ä.) ist so ein Server kein Problem und wird nebenbei erledigt. Auch sit die Konfiguration (heute) kein Problem mehr.
Und im Gegensatz zu Router dhcp/dns-Server kann man auch besser auf Fehlersuche gehen .... und das Verhalten ist deterministisch.
Als Beispiel: das bei der Fritte manchmal, wenn ein Server nicht nach draußen "telefoniert", der dns-Eintrag verschwindet, hat man dann z.B. nicht (mehr)
Hallo, ich habe leider auch das Problem, das FHEM für immer wieder 40 Sekunden blockiert, wenn ich mal nen DSL Ausfall habe.
Bei mir laufen Yahooweather, TelegramBot, Pushover, Harmony Hub usw. die wahrscheinlich diese freeze von fhem auslösen, wenn DSL mal gerade ne Störung hat.
betateilchen oder Wernieman, kann bitte mal einer erklären, was ich machen kann, bzw. wie so ein "echter" dns(dhcp) Server funktioniert und was ich dafür brauche.
Es ist nämlich absolut beschi....... wenn man Alarmanlage, HM Komponenten usw über fhem laufen hat und wegen einer DSL Störung alles abkackt und einfriert.
Welche Komponenten bzw. welche Einstellungen muss man machen, damit eine solche DSL Störung abgefangen wird?
Grüße Marcel
Entweder bind oder powerDNS installieren. Findet man ne Menge Infos im Netz.
Neuerdings blockiert das DNS-Lookup bei Http_NonblockingGet FHEM nicht, wenn man "attr global dnsServer <Dns-Server-IP>" setzt. Das duerfte selbst bei einem auf eine Sekunde konfigurierten lokalen DNS-Server helfen, die Eine-Sekunde-Blockaden zu vermeiden.
Ein lokaler DNS-Server hat den Vorteil, das er gleichzeitig als "cachingserver" dient, auch negative Antworten werden gecacht, so da weniger anfallen.
Wie schon geschrieben, gibt genug Infos im Netz. Da ich Deine Prioritäten nicht weiß, kann ich keine Anleitung geben.
BTW:
Mann kann diesen Server dann gleich auch allen Clients im Netz als Server mit anbieten .....
Zitat von: Wernieman am 01 Juli 2016, 08:31:16
Mann kann diesen Server dann gleich auch allen Clients im Netz als Server mit anbieten .....
Man könnte ihn bequem per DHCP bekannt machen ;D
Und den dhcp-Ser gleich mit aufs System *griiins*
genau.
Für raspberry hat sich da so ein bisschen powerDNS und isc-dhcp-server rauskristallisiert.
Aber auch nur, wenn man weiß was man tut und es auch debuggen kann. Sonst ist das Geschrei nachher wieder groß ;)
Es ist immer eine gute Idee sich in neue Themen genauer ein zu arbeiten. Dazu gehört lesen, lesen, lesen, verstehen, testen.
Verstehe sowieso nicht wieso so viele Leute so lese und lern Resistent sind.
Aber muß ich ja auch nicht, sonst hätte ich ja privat kein Zubrot mehr. Bisschen Scharwerk tut immer gut.
Alternativ verlasen sich (zu fiele) auf den FritzBox DNS und dhcp-Server. Mit diversen, hier schon diskutierten Problemen. Da ist mir ein eigener DNS,dhcp-Server lieber.
Zitat von: rudolfkoenig am 01 Juli 2016, 08:22:38
Neuerdings blockiert das DNS-Lookup bei Http_NonblockingGet FHEM nicht, wenn man "attr global dnsServer <Dns-Server-IP>" setzt. Das duerfte selbst bei einem auf eine Sekunde konfigurierten lokalen DNS-Server helfen, die Eine-Sekunde-Blockaden zu vermeiden.
Gibt es noch viele Module, die das evtl. anders machen? Wie kann man das herausfinden?
Ich habe mir z.B. vom Twilight-, UWZ- und Yahoo-Weather-Modul mal den Quelltext angeschaut. Rein vom Code her würde ich als Laie vermuten, dass Twilight einen Nonblocking-Aufruf nutzt. Bei den anderen bin ich mir nicht sicher.
Ich hatte heute einen (ich nenne es mal) Totalausfall wichtiger FHEM-Komponenten, weil die DSL-Leitung temporär unterbrochen war. Das ist schon ärgerlich und nun würde ich die potentiellen Fehlerursachen gerne eingrenzen.
Oder reicht es, wenn man das neuen Attribut dnsServer setzt und der Rest ist egal?
Vielen Dank.
Alle erwähnten Module arbeiten nonBlocking. Das bezieht sich aber auf die reine http/s Verbindung. Die DNS Anfrage war schon immer blockierend. Es wurden erste Ansätze geschaffen das hier nicht mehr so oft und lange blockiert wird. Bitte mal im Forum nach suchen.
Du meinst doch jetzt "attr global dnsServer <Dns-Server-IP>", oder?
Das kann ich nicht zu 100% bejaen. Denke aber mal das es das ist. Ich hatte nie das Problem da ich einen eigenen DNS Server habe. Daher habe ich das alles nur am Rande als Entwickler mit gelesen.
Beim Aufruf von HttpUtils_NonblockingGet wird DNS mit den eigenen, nicht blockierenden Methoden abgefragt, falls man das global Attribut dnsServer gesetzt hat.
Habe gerade dnsServer in commandref auch dokumentiert.
Vielen Dank Rudi. Ich werde es pro Forma auch mal eintragen. Kann ja nur gut sein.
Grüße
Danke auch von mir.
Ich bin mir jetzt nicht sicher, da ich derzeit viele Dinge an meinem FHEM gleichzeitig verändert habe. Unter anderem auch dieses Attribut. Und ich habe viele viele offene Connections, deren Ursache ich noch nicht finde.
Nachtrag:
Ich mag ja Postings dieser folgenden Art nicht, aber ich habe hier (Connections-Problem mit Global-Attribut "dnsServer") (https://forum.fhem.de/index.php/topic,56435.msg479738.html) mein Fehler mal in einem eigenen Thread beschrieben. Ich wollte diesen Thread hier nicht missbrauchen und hoffe auf ein wenig Hilfe eines Profis. :-) Danke.