docker image - health check Fehler

Begonnen von P.A.Trick, 03 November 2025, 06:15:01

Vorheriges Thema - Nächstes Thema

P.A.Trick

Moin Zusammen, ich habe mein FHEM nach k3s portiert. Soweit klappt auch alles, bis
auf den Health Check. Irgendwie stören mich die Meldungen im Log :-)



image: ghcr.io/fhem/fhem-docker:5.2.2-bookworm


2025.11.03 06:11:28.694 1: Read result file: Cannot open /tmp/health-check.result: No such file or directory

root@k3s-server-3:/opt/fhem# cd /tmp
root@k3s-server-3:/tmp# ls -lart
total 12
drwxr-xr-x 1 root root 4096 Nov  3 06:07 ..
drwxrwxrwt 1 root root 4096 Nov  3 06:07 .
-rw-r----- 1 fhem fhem   39 Nov  3 06:07 health-check.urls
root@k3s-server-3:/tmp# cat health-check.urls
http://localhost:8083/fhem/healthcheck
root@k3s-server-3:/tmp#│

Ein manueller curl auf den die Adresse http://localhost:8083/fhem/healthcheck klappt ohne Probleme.


Gibt es irgend etwas zu beachten?
Wie kann ich den healthcheck, zur Not, abschalten?

FHEM + Homeassistant - meine HW -> https://www.trinityonline.de/hardware/

RalfRog

Zum Healthcheck kann ich nichts sagen, aber die Fehlermeldung lautet:
...Cannot open /tmp/health-check.resultDu schaust dir aber "/tmp/health-check.urls" an, die andere gibt's nicht (sagt ja auch die Meldung).
FHEM auf Proxmox VM Bookworm (Futro S740) - nanoCUL, HM-MOD-RPI-PCB und MAX!Cube über LAN
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder sowie Shelly 3EM, 1PM, PlugS und IT Schaltsteckdosen

P.A.Trick

Zitat von: RalfRog am 03 November 2025, 09:23:59Zum Healthcheck kann ich nichts sagen, aber die Fehlermeldung lautet:
...Cannot open /tmp/health-check.resultDu schaust dir aber "/tmp/health-check.urls" an, die andere gibt's nicht (sagt ja auch die Meldung).

Stimmt und das ist ja auch das Problem. In der urls Datei steht die zu prüfende URL korrekt drin, allerdings wird die Ausgabe Datei nicht erstellt. Das ist das Problem!
FHEM + Homeassistant - meine HW -> https://www.trinityonline.de/hardware/

passibe

Ist jetzt zwar ein "shot in the dark", aber was sagt
list DockerImageInfo (bzw. was steht in den beiden INTERNALs zum healthcheck?)

Wahrscheinlich ist da aber irgendwo etwas anderes falsch. Poste mal rein zur Sicherheit dein compose file.
Du kannst sonst aber auch mal auf GitHub suchen, woher genau diese Read result file-Fehlermeldung kommt, vielleicht gibt das ja schon einen Hinweis auf die Fehlerquelle. Ich schaffe das frühestens Morgen.

CoolTux

Das health Check kommt doch aus dem Container Image wenn ich das richtig sehe.
Wie hast du hast fhem im k3s deployt? Hast Du ein Helm Chart genommen oder alle Ressourcen von Hand als Manifest File angelegt?
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

Zitat von: passibe am 03 November 2025, 13:29:46Ist jetzt zwar ein "shot in the dark", aber was sagt
list DockerImageInfo (bzw. was steht in den beiden INTERNALs zum healthcheck?)

Wahrscheinlich ist da aber irgendwo etwas anderes falsch. Poste mal rein zur Sicherheit dein compose file.
Du kannst sonst aber auch mal auf GitHub suchen, woher genau diese Read result file-Fehlermeldung kommt, vielleicht gibt das ja schon einen Hinweis auf die Fehlerquelle. Ich schaffe das frühestens Morgen.

In einem Kubernetes Cluster, was k3s ist, gibt es kein Composer File. Es ist kein Docker  ;)
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

passibe

Zitat von: CoolTux am 03 November 2025, 13:35:50In einem Kubernetes Cluster, was k3s ist, gibt es kein Composer File. Es ist kein Docker  ;)
Oh sorry, das hatte ich nicht gecheckt :D Ich dachte er ist von kubernetes nach normal-Docker umgezogen 🤦🏼

P.A.Trick

Zitat von: CoolTux am 03 November 2025, 13:34:53Das health Check kommt doch aus dem Container Image wenn ich das richtig sehe.
Wie hast du hast fhem im k3s deployt? Hast Du ein Helm Chart genommen oder alle Ressourcen von Hand als Manifest File angelegt?

Alles als Manifest!

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: fhem
  namespace: fhem
spec:
  replicas: 1
  selector:
    matchLabels:
      app: fhem
  template:
    metadata:
      labels:
        app: fhem
    spec:
      hostNetwork: true # Use host network to allow direct access to devices
      containers:
        - name: fhem
          image: ghcr.io/fhem/fhem-docker:5.2.2-bookworm
          env:
            - name: TZ
              value: "Europe/Berlin"
          ports:
            - containerPort: 8083
          volumeMounts:
            - name: fhem-data
              mountPath: /opt/fhem
          resources:
            requests:
              cpu: "100m"
              memory: "256Mi"
            limits:
              cpu: "500m"
              memory: "512Mi"
          livenessProbe:
            httpGet:
              path: /fhem/healthcheck
              port: 8083
            initialDelaySeconds: 60
            periodSeconds: 20
            timeoutSeconds: 5
            failureThreshold: 3
          readinessProbe:
            httpGet:
              path: /
              port: 8083
            initialDelaySeconds: 30
            periodSeconds: 10
            timeoutSeconds: 5
            failureThreshold: 3
      volumes:
        - name: fhem-data
          persistentVolumeClaim:
            claimName: fhem-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: fhem
  namespace: fhem
spec:
  replicas: 1
  selector:
    matchLabels:
      app: fhem
  template:
    metadata:
      labels:
        app: fhem
    spec:
      hostNetwork: true # Use host network to allow direct access to devices
      containers:
        - name: fhem
          image: ghcr.io/fhem/fhem-docker:5.2.2-bookworm
          env:
            - name: TZ
              value: "Europe/Berlin"
          ports:
            - containerPort: 8083
          volumeMounts:
            - name: fhem-data
              mountPath: /opt/fhem
          resources:
            requests:
              cpu: "100m"
              memory: "256Mi"
            limits:
              cpu: "500m"
              memory: "512Mi"
          livenessProbe:
            httpGet:
              path: /fhem/healthcheck
              port: 8083
            initialDelaySeconds: 60
            periodSeconds: 20
            timeoutSeconds: 5
            failureThreshold: 3
          readinessProbe:
            httpGet:
              path: /
              port: 8083
            initialDelaySeconds: 30
            periodSeconds: 10
            timeoutSeconds: 5
            failureThreshold: 3
      volumes:
        - name: fhem-data
          persistentVolumeClaim:
            claimName: fhem-pvc
FHEM + Homeassistant - meine HW -> https://www.trinityonline.de/hardware/

P.A.Trick

Ja es gibt kein compose File, nur ein Manifest.
Hier noch das gewünscht List:

Internals:
   FUUID      69072fb2-f33f-8b1e-fd94-e2cf62967e246ab8
   INFO_DIR   /tmp
   NAME       DockerImageInfo
   NR         59
   NTFY_ORDER 50-DockerImageInfo
   RESULT_FILE /tmp/health-check.result
   STATE     
   TYPE       DockerImageInfo
   URL_FILE   /tmp/health-check.urls
   eventCount 1
   READINGS:
     2025-11-02 10:38:36   container.cap.e audit_write,chown,dac_override,fowner,fsetid,kill,mknod,net_bind_service,net_raw,setfcap,setgid,setpcap,setuid,sys_chroot
     2025-11-02 10:38:36   container.cap.i none
     2025-11-02 10:38:36   container.cap.p audit_write,chown,dac_override,fowner,fsetid,kill,mknod,net_bind_service,net_raw,setfcap,setgid,setpcap,setuid,sys_chroot
     2025-11-03 12:44:15   container.hostname raspberrypi5
     2025-11-03 12:44:15   container.hostnetwork 1
     2025-11-02 10:38:36   container.privileged 0
     2025-11-02 10:38:36   id.gid          6061
     2025-11-02 10:38:36   id.gname        fhem
     2025-11-02 10:38:36   id.groups       [ "fhem": 6061, "tty": 5, "mail": 8, "dialout": 20, "audio": 29, "video": 44, "bluetooth": 6001, "gpio": 6002 ]
     2025-11-02 10:38:36   id.uid          6061
     2025-11-02 10:38:36   id.uname        fhem
     2025-11-02 10:38:36   image.created   2025-10-26T07:02:47.172Z
     2025-11-02 10:38:36   image.description A full blown Docker image for FHEM house automation system, based on Debian Perl -bookworm.
     2025-11-02 10:38:36   image.documentation https://github.com/fhem/fhem-docker/blob/b1f9552f0bb2731f32ba3dd8209dcbe8626c625a/README.md
     2025-11-02 10:38:36   image.licenses  MIT
     2025-11-02 10:38:36   image.revision  b1f9552f0bb2731f32ba3dd8209dcbe8626c625a
     2025-11-02 10:38:36   image.source    https://github.com/fhem/fhem-docker/
     2025-11-03 12:44:15   image.title     fhem-linux/arm64
     2025-11-03 12:44:15   image.url       https://hub.docker.com/r/fhem/fhem-linux/arm64
     2025-11-02 10:38:36   image.vendor    FHEM
     2025-11-02 10:38:36   image.version   5.2.2-bookworm
     2025-11-02 10:38:36   ssh-id_ed25519.pub <REDACTED>
     2025-11-02 10:38:36   ssh-id_rsa.pub  <REDACTED>
     2025-11-02 10:38:36   sudoers         [ "#", "# Allow installation of new packages", "# Allow updates", "# Auto-generated during container start", "fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *", "fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *", "fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *", "fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/cpanm *", "fhem ALL=(ALL) NOPASSWD: /usr/bin/apt-get -q update", "fhem ALL=(ALL) NOPASSWD: /usr/bin/apt-get -s -q -V upgrade", "fhem ALL=(ALL) NOPASSWD: /usr/bin/apt-get -y install *", "fhem ALL=(ALL) NOPASSWD: /usr/bin/apt-get -y -q -V upgrade", "fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap", "# required by modules" ]
Attributes:
   alias      Docker Image Info
   devStateIcon ok.*:security@green Initialized:system_fhem_reboot@orange .*:message_attention@red
   group      System
   icon       docker@grey
   room       System->Dienste
FHEM + Homeassistant - meine HW -> https://www.trinityonline.de/hardware/

CoolTux

Deine erwähnte und störende Logmeldung ist doch aus dem fhem Log oder?
Kommt also von einem fhem Device. Ich würde das DockerImageInfo einfach rauswerfen. Ist bestimmt nur Kosmetischer Natur.
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