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
[...]
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.
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.
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.