Fhem & hostname Problem

Begonnen von smeagel, 07 November 2020, 07:12:03

Vorheriges Thema - Nächstes Thema

smeagel

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

amenomade

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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

smeagel

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.

DS_Starter

#3
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.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

smeagel

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

DS_Starter

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 ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

smeagel

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

smeagel


DS_Starter

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.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

ZitatIch habe NICHTS (außer den Port auf 1514 zu stellen) geändert.

Welchen Port hast du denn vorher benutzt ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

smeagel

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

DS_Starter

Daran ist jetzt auch nichts ungewöhnliches ... nun ja ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter