Installation & Konfiguration
Installation mit Docker und zusätzliche Konfiguration für Monitoring von Docker Containern und Benachrichtigungen.
Installation
Uptime Kuma lässt sich sehr einfach und schnell mit Docker bereitstellen. Es benötigt nur einen Container, da es zum Speichern der Daten eine SQLite Datenbank verwendet. Dadurch ist es ein schlankes, sparsames, aber auch begrenztes Monitoring. Sobald Vielzahl von Diensten überwacht oder weitere Metriken wie CPU, RAM und Festplatten-Last und gestartete/gestoppte Dienste überwacht werden sollen, eignet sich eher ein stärkeres, aber auch komplexeres Monitoring Werkzeug wie Zabbix.
Uptime Kuma kann auch auf einem Raspberry Pi bereitgestellt werden.
Um eine Kuma Instanz bereitzustellen, reicht die folgende Compose Konfiguration:
services:
monitoring:
image: louislam/uptime-kuma
container_name: monitoring
volumes:
- ./kuma_data:/app/data
ports:
- 3001:3001
restart: unless-stopped
Einfach noch die Konfiguration an die eigenen Wünsche anpassen und fertig. Mindestens sollte das Volume angepasst werden, da es in diesem Beispiel im aktuellen Ordner den Ordner kuma_data erstellt bzw. verwendet. Hier bietet es sich an, einen absoluten Pfad anzugeben:
volumes:
- /home/ein_user/Docker/kuma_data:/app/data
Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation sudo docker-compose up -d
oder sudo docker compose up -d
(keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml
zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde.
Docker Monitoring konfigurieren
Damit Docker Container auf dem selben Host überwacht werden können, ist eine Anpassung der Docker Compose Config aus der Installation notwendig. Zusätzlich zu dem Verzeichnis für die Daten ist noch ein weiteres Volume für den sog. Docker Socket hinzuzufügen. Danach sieht der Teil für die Konfiguration für Volumes wie folgt aus:
volumes:
- ./kuma_data:/app/data
- /var/run/docker.sock:/var/run/docker.sock
Hier gilt wieder: Den Pfad für das Data Verzeichnis anpassen. Der 2. Teil mit dem Docker Socket ist hingegen immer gleich und darf nicht geändert werden.
Alternativ kann ein Docker Host auch über TCP/HTTP angebunden werden, jedoch ist die Socket Methode immer vorzuziehen, da hierfür keine besonderen Freigaben auf dem Docker Host notwendig sind. Wenn ein Docker Host mit freigegebenen TCP/HTTP eingebunden werden soll, ist keine Anpassung der Konfiguration der Compose Datei notwendig.
Nachdem der Docker Socker konfiguriert wurde, kann nun beim Erstellen eines Monitors ein neuer Docker Server mit angegeben werden, der über docker.sock angebunden wird: Docker Container erstellen