Seite 1 von 1

health-check monitoring mit Docker-Image funktioniert nicht

Verfasst: 17 Jun 2026, 15:03
von mdecker
Hallo zusammen,

ich versuche gerade, meinen OPSI-Server auf eine neue Infrastruktur umzuziehen und wollte dabei auf das Docker-Image wechseln.
Der Container selbst ist lauffähig, das Backup vom bestehenden Server konnte ich einspielen und auch Clients lassen sich darüber installieren.

Zum eigentlichen Problem: In der Doku wird die Einbindung des health-check in ein Monitoring-System - in meinem Fall CheckMK - beschrieben (https://docs.opsi.org/opsi-docs-de/4.3/ ... oring.html), ich vermisse allerdings Informationen dazu, wie sich das mit dem Docker-Image bewerkstelligen lässt. Meine naiven Versuche sind jedenfalls gescheitert.

Folgendes habe ich versucht:
1.: Test innerhalb einer interaktiven Shell im OPSI-Container (das funktioniert):

Code: Alles auswählen

root@opsi-server-host:~# docker exec -it opsi-docker-opsi-server-1 /bin/bash
* Set environment vars
root@opsi-server-host:/# /usr/bin/opsiconfd health-check --format checkmk
2 'OPSI: Operating System End Of Life' - Support of version 12 of distribution debian ended on 2026-06-10.\n
0 'OPSI: Disk usage' - Sufficient free space on all file systems.\n
0 'OPSI: System repositories' - No issues found with the system repositories.\n
[...]
2.: Der Versuch, diese Funktionalität direkt vom Host aufzurufen, um die Ausgabe dann für den CheckMK Agent zu nutzen, scheitert:

Code: Alles auswählen

root@opsi-server-host:~# docker exec -it opsi-docker-opsi-server-1 /usr/bin/opsiconfd health-check --format checkmk
Traceback (most recent call last):
  File "redis/connection.py", line 1003, in connect_check_health
  File "redis/connection.py", line 1515, in _connect
  File "redis/connection.py", line 1499, in _connect
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "__main__.py", line 27, in main
  File "opsiconfd/main/__init__.py", line 42, in main
  File "opsiconfd/main/diagnostic.py", line 43, in health_check_main
  File "opsiconfd/check/cli.py", line 123, in console_health_check
  File "opsiconfd/check/main.py", line 20, in health_check
  File "contextlib.py", line 141, in __enter__
  File "opsiconfd/redis.py", line 315, in redis_lock
  File "redis/utils.py", line 493, in wrapper
  File "redis/commands/core.py", line 2668, in set
  File "redis/client.py", line 716, in execute_command
  File "redis/client.py", line 722, in _execute_command
  File "redis/utils.py", line 236, in wrapper
  File "redis/connection.py", line 3041, in get_connection
  File "redis/connection.py", line 976, in connect
  File "redis/retry.py", line 132, in call_with_retry
  File "redis/retry.py", line 120, in call_with_retry
  File "redis/connection.py", line 977, in <lambda>
  File "redis/connection.py", line 1025, in connect_check_health
redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
Bis jetzt erschließt sich mir nicht, wo hier der Fehler liegt und wie er sich beheben lässt. Auch eine weitere "Schleife" durch /bin/bash führt zum gleichen Fehler (docker exec -it opsi-docker-opsi-server-1 /bin/bash -c "/usr/bin/opsiconfd health-check")

3.: Externer Aufruf über opsi-cli geht, kann aber kein checkmk-format ausgeben:

Code: Alles auswählen

root@opsi-server-host:~# docker exec -it opsi-docker-opsi-server-1 opsi-cli --output-format csv support health-check
id;details
[red]linux_distro_eol[/red];Support of version 12 of distribution debian ended on 2026-06-10.
[green]disk_usage[/green];Sufficient free space on all file systems.
[green]system_repositories[/green];No issues found with the system repositories.
Ich bin für Hinweise dankbar. Sofern ich das hier im Forum richtig verstanden habe, gibt es ja durchaus schon einige laufende Docker-Container. Hat keiner davon ein health-check Monitoring?
Sollte mit der Docker-Variante keine Einbindung in ein Monitoring möglich sein, wäre das für mich jedenfalls ein Ausschlusskriterium.

PS: Das aktuelle stabile 4.3 Image scheint immer noch auf dem nicht mehr unterstützten Debian 12 zu basieren, wie der Health-Check klar anmerkt.

Re: health-check monitoring mit Docker-Image funktioniert nicht

Verfasst: 18 Jun 2026, 07:48
von j.schneider
Hallo,

ohne bash sind ein paar Umgebungsvariablen nicht gesetzt.
So sollte es funktionieren:

Code: Alles auswählen

docker exec opsi-docker-opsi-server-1 bash -l -c "opsiconfd health-check --format checkmk" 2>/dev/null
Das Docker-Image wird demnächst auf Debian 13 aktualisiert.

Grüße
Jan Schneider

Re: health-check monitoring mit Docker-Image funktioniert nicht

Verfasst: 18 Jun 2026, 08:48
von mdecker
Danke! So tut es tatsächlich!
Dass es an den Umgebungsvariablen liegen könnte, hatte ich auch schon vermutet - habe dann aber anscheinend nicht an der richtigen Stelle geschaut.