Go to file
duffyduck c9ae1afc81 addes id or names and permissions 2026-02-13 09:06:14 +01:00
README.md addes id or names and permissions 2026-02-13 09:06:14 +01:00
docker_container_check.sh addes id or names and permissions 2026-02-13 09:06:14 +01:00

README.md

Checkmk Local Check: Docker Container Status

Checkmk Local Check zur Überwachung von Docker-Containern per docker ps.

Funktionsweise

Das Script prüft für jeden konfigurierten Container den Status:

Container-Status Checkmk-Status
Up ... (running) OK (0)
Exited ... CRITICAL (2)
Restarting ... CRITICAL (2)
Container nicht gefunden CRITICAL (2)
Keine Docker-Berechtigung CRITICAL (2)

Konfiguration

In der Datei docker_container_check.sh gibt es zwei Variablen. Je nachdem ob der Container-Name oder die Container-ID bekannt ist, die passende Variable befüllen (oder beide):

# Ueberwachung per Container-Name:
CONTAINER_NAMES="webserver,database,redis"

# Ueberwachung per Container-ID:
CONTAINER_IDS="a1b2c3d4e5f6,f6e5d4c3b2a1"

Die Container-ID findet man per docker ps -a --format '{{.ID}} {{.Names}}'. Beide Variablen können gleichzeitig genutzt werden.

Installation

  1. Script auf den Zielhost kopieren:
scp docker_container_check.sh user@host:/usr/lib/check_mk_agent/local/
  1. Ausführbar machen:
chmod +x /usr/lib/check_mk_agent/local/docker_container_check.sh
  1. Sicherstellen, dass der Checkmk-Agent-Benutzer Docker-Befehle ausführen darf (Mitglied der Gruppe docker oder Ausführung via sudo).

  2. In Checkmk eine Service-Erkennung auf dem Host durchführen — die neuen Services Docker_<containername> erscheinen automatisch.

Test

Manuell auf dem Host ausführen:

/usr/lib/check_mk_agent/local/docker_container_check.sh

Erwartete Ausgabe:

0 Docker_webserver - Up 3 hours
0 Docker_database - Up 3 hours
2 Docker_redis - Exited (1) 5 minutes ago

Hinweise

  • Das Script prüft vor der Ausführung ob Docker-Rechte vorhanden sind. Falls nicht, wird ein CRITICAL-Service Docker_Check mit dem Hinweis "Keine Berechtigung" erzeugt.
  • Der Plugin-Pfad kann je nach Installation variieren (/usr/lib/check_mk_agent/local/ oder /usr/local/lib/check_mk_agent/local/).
  • Falls der Agent als root läuft, funktioniert docker ps direkt. Andernfalls muss der Agent-Benutzer in der Gruppe docker sein.