FHEM Forum

FHEM => Automatisierung => Thema gestartet von: smeagel am 07 November 2020, 07:12:03

Titel: Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 07:12:03
Guten Morgen,

ich hätte hier ein Problem anzubieten bei dem ich persönlich (Trotz intensiver Google- und Forums-Recherge) nicht mehr weiterkomme.

- Meine Fhem-Installation läuft im Docker - bisher reibungslos
- Bis vor kurzem (evtl. nach einem Update?) wurden die Logfiles klaglos in einen Grayöog-Stack übermittelt
- Der entsprechende Aufruf: define syslog_client Log2Syslog 192.143.143.136 ident:Fhem_Server fhem:.*
- Heute Morgen ist mir aufgefallen das keine Logs mehr dort ankommen
- Folgende Fehler steht im fhem-Log: Bad regexp: Undefined subroutine &main::SYS_getdomainname called at /usr/share/perl/5.28/Net/Domain.pm line 158.
- Die Eingabe von {hostname()} bringt folgenden Fehler: 1: ERROR evaluating {hostname()}: Undefined subroutine &main::hostname called at (eval 2107) line 1.
- Die Eingabe von hostname auf der Shell zeigt mir jedoch: 0d1eeef4d221

Jetzt Stellt sich mir die Frage: Bin ich nur zu doof? Oder liegt hier ein Fehler vor?

Über Hilfe oder Hinweise würde ich mich sehr freuen - sollte das Thema woanders hingehören, sorry.


VG
Thorsten
Titel: Antw:Fhem & hostname Problem
Beitrag von: amenomade am 07 November 2020, 09:08:50
Zitat von: smeagel am 07 November 2020, 07:12:03
- Die Eingabe von {hostname()} bringt folgenden Fehler: 1: ERROR evaluating {hostname()}: Undefined subroutine &main::hostname called at (eval 2107) line 1.


Und die Eingabe von {Log2Syslog::hostname()} und von {Net::Domain::hostname()} ?

Verschiebe ggf das Thema im Subforum wo Log2Syslog betreut wird: Automatisierung
Knopf unten links
Titel: Antw:Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 09:14:54
Beim anlegen via: define syslog_client Log2Syslog 192.168.168.136 ident:Fhem_Server fhem:.*
kommmt folgender Logeintrag:
2020.11.07 09:11:52 1: define syslog_client Log2Syslog 192.168.168.136 ident:Fhem_Server fhem:.*: Bad regexp: Undefined subroutine &main::SYS_getdomainname called at /usr/share/perl/5.28/Net/Domain.pm line 158.

Beim ausführen von: {Log2Syslog::hostname()} und von {Net::Domain::hostname()}
kommmt folgende Meldung:
Undefined subroutine &Log2Syslog::hostname called at (eval 5553) line 1.
Titel: Antw:Fhem & hostname Problem
Beitrag von: DS_Starter am 07 November 2020, 09:31:04
Hallo Thorsten,

der Fehler liegt außerhalb von FHEM. Hier versucht eine Standard Perl Lib (/usr/share/perl/5.28/Net/Domain.pm)  die Routine SYS_getdomainname aufzurufen, was bisher ja offensichtlich funktionierte.

Hier geht es runter auf Betriebssystemebene. Ich vermute ganz stark es gab ein Update des Dockercontainers/Betriebssystems.

Wenn du hostname testen willst, mußt du es so aufrufen:

{ Net::Domain::hostname() }

Bei mir wird mit dem Aufruf z.B. "fhemtest" geliefert.
Das hat nichts mit dem Shell hostname zu tun.

Genauso sollte funktionieren:

{ Net::Domain::hostdomain () }  -> liefert die Domain
{ Net::Domain::hostfqdn () }  -> liefert den voll qualifizierten Hostnamen mit Domain

Mehr kann ich dir allerdings auch nicht helfen, kenne mich mit Docker nicht aus.
Doch ich denke in diesem Umfeld wäre zu suchen.

ZitatBeim ausführen von: {Log2Syslog::hostname()}
Kann nicht gehen. Die Routine hostname() gibt es in Log2Syslog nicht, sondern ist in der Library Net::Domain enthalten.
Titel: Antw:Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 09:48:09
Hi,

{ Net::Domain::hostname() } liefert mir "0d1eeef4d221" - also den korrekten Hostnamen.
{ Net::Domain::hostdomain () } liefert nichts
{ Net::Domain::hostfqdn () } liefert " 0d1eeef4d221"

Das Docker-Image baue ich selbst - da gab es von mir keine Änderungen.
Ich finde es nur merkwürdig das dieses Verhalten erst seit zwei Tagen auftritt.

VG
Thorsten
Titel: Antw:Fhem & hostname Problem
Beitrag von: DS_Starter am 07 November 2020, 09:59:52
Ja merkwürdig ist sowas.
Was auch noch benötigt wird ist eine Library "syscall.ph". Die wiederum wird von /usr/share/perl/5.28/Net/Domain.pm eingebunden.
Vielleicht fehlt die (gelöscht ?). Such mal danach.

Ansonsten wohl mal Google bemühen ...
Titel: Antw:Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 10:07:43
Hi,

erstmmal ganz großen Dank an alle die versucht haben mir zu helfen - Phänomenaler Support.

Feedback:
Ich habe leider KEINE Ahnung warum - aber es scheint wieder zu gehen.
Die Logs werden plötzlich wieder in den Graylog-Stack geschrieben.
Ich habe NICHTS (außer den Port auf 1514 zu stellen) geändert.
Komisches Phänomen - aber ist wahrscheinlich manchmal so.  :o

VG
Thorsten
Titel: Antw:Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 10:08:50
Wo sollte die syscall.ph zu finden sein?
Titel: Antw:Fhem & hostname Problem
Beitrag von: DS_Starter am 07 November 2020, 10:14:20
ZitatWo sollte die syscall.ph zu finden sein?
Irgendwo in den Pfaden die geliefert werden mit:

{return join ",", @INC }

Schön das es wieder geht, gut wäre natürlich die Ursache zu kennen. Vieleicht bekommst du noch etwas raus.
Titel: Antw:Fhem & hostname Problem
Beitrag von: DS_Starter am 07 November 2020, 10:16:14
ZitatIch habe NICHTS (außer den Port auf 1514 zu stellen) geändert.

Welchen Port hast du denn vorher benutzt ?
Titel: Antw:Fhem & hostname Problem
Beitrag von: smeagel am 07 November 2020, 10:19:41
syscall.ph ist vorhanden.

ja, seltsam - wüsste aber nicht wo ich suchen soll oder wie uch den Fehler reproduzieren könnte.

Vorher wurde der Standard-syslog-Port 514 verwendet


VG
Thorsten
Titel: Antw:Fhem & hostname Problem
Beitrag von: DS_Starter am 07 November 2020, 10:28:17
Daran ist jetzt auch nichts ungewöhnliches ... nun ja ...