Checkmk Nextcloud Versionsüberwachung

Manchmal sind es die kleinen, unsichtbaren Helfer im Hintergrund, die unsere digitale Welt am Laufen halten. Wer seine Nextcloud sorglos und sicher nutzen möchte, sollte die eigene Installation nicht dem Zufall überlassen – denn Updates sind kein Luxus, sondern eine Notwendigkeit. Wie einfach Vorsorge sein kann, zeigen wir hier.

Schauen wir uns also an, wie Sie eine Checkmk-Nextcloud-Versionsüberwachung einrichten.

Gleich vorab

Wir werden in diesem Beitrag ein paar Fachbegriffe verwenden. Hier eine kurze Beschreibung:


Host: Das ist das System, das Sie überwachen möchten.
Agent: Der Checkmk-Agent ist ein kleines Stück Software, das auf den Hosts installiert wird. Er durchsucht anschließend das Dateisystem nach relevanten Informationen und sendet diese an die Checkmk-Instanz.

Also, nun kommen wir zum Thema

Die Nextcloud Versionsüberwachung

Wie überwachen wir nun die Nextcloud-Version?

Um herauszufinden, ob eine Nextcloud-Version aktuell ist, müssen Sie Ihre Version mit der jeweils neuesten vergleichen. Dazu benötigen Sie eine Referenz-Nextcloud, die regelmäßig aktualisiert wird und immer die aktuelle Version enthält.
Da Checkmk keine eingebaute Möglichkeit bietet, diese Versionen automatisch zu vergleichen, brauchen Sie dafür ein eigenes Script. Dieses wird auf dem Server installiert, den Sie überwachen möchten.

Natürlich haben wir Ihnen diese Arbeit abgenommen und bereits ein fertiges Script vorbereitet.

Das Nextcloud Script

Dieses Script ruft die Version Ihrer Nextcloud-Instanz sowie die aktuelle Referenz-Version ab und vergleicht beide miteinander.

#Nextcloud Version

#!/bin/bash

NC_URL="https://IhreDomäne/nextcloud/status.php/"
NC_VERSION=$(curl -s "$NC_URL/status.php" | jq -r .version)
LATEST_VERSION=$(curl -s "https://AktuelleNextcloud/status.php/" | jq -r .version)

# Funktion zum Extrahieren der Haupt-, Neben- und Patch-Version
parse_version() {
  local version=$1
  IFS='.' read -r major minor patch <<< "$version"
  echo "$major $minor $patch"
}
# Holen von der jetzigen Version und der Latest
read -r NC_MAJOR NC_MINOR NC_PATCH <<< "$(parse_version "$NC_VERSION")"
read -r LATEST_MAJOR LATEST_MINOR LATEST_PATCH <<< "$(parse_version "$LATEST_VERSION")"

# Vergleichslogik: Differenz in Patch, dann Minor, dann Major vergleichen
version_diff=$(( (LATEST_MAJOR - NC_MAJOR) * 100 + (LATEST_MINOR - NC_MINOR) * 10 + (LATEST_PATCH - NC_PATCH) ))

if [ "$version_diff" -le 1 ]; then
  STATUS=0
  STATUS_TEXT="OK"
elif [ "$version_diff" -le 3 ]; then
  STATUS=1
  STATUS_TEXT="WARN"
else
  STATUS=2
  STATUS_TEXT="CRIT"
fi

echo "$STATUS \"Nextcloud Version\" version=$NC_VERSION $STATUS_TEXT - Nextcloud-Version ist $NC_VERSION, aktuell ist $LATEST_VERSION"

Ersetzen Sie ‚IhreDomäne‘ mit Ihrer Domain und ‚AktuelleNextcloud‘ mit der Adresse einer Nextcloud, die stets aktuell gehalten wird.

Es gibt verschiedene Möglichkeiten, dieses Script auf Ihrer Nextcloud zu installieren. Wir zeigen hier eine einfache Variante:

  1. Script aus diesem Beitrag kopieren und entsprechend anpassen.
  2. Wechseln Sie ins Verzeichnis:bashcd /usr/lib/check_mk_agent/local/
  3. Erstellen Sie mitbashsudo nano Scriptname eine neue Script-Datei (ersetzen Sie ‚Scriptname‘ durch einen passenden Namen).
  4. Fügen Sie das kopierte Script ein.
  5. Speichern Sie mit STRG + X, bestätigen mit Y und drücken Enter.
  6. Machen Sie das Script mitbashchmod 700 Scriptname ausführbar.
  7. Testen Sie es mitbashbash Scriptname um sicherzugehen, dass es funktioniert.

Wenn das Script fehlerfrei läuft, geht es mit dem nächsten Schritt weiter.

Agenten installieren und Host erstellen

Nun müssen Sie den Checkmk-Agenten auf dem Host installieren und den Host in Checkmk anlegen. Wie das geht, haben wir in separaten Beiträgen beschrieben. Falls Sie sich nicht sicher sind, schauen Sie dort einmal vorbei:

Einen Agenten in Checkmk anlegen.

Einen Host in Checkmk anlegen

Sobald die Konfiguration fertig ist, sollte der Agent nun die Versionsinformationen Ihrer Nextcloud erfassen und an die Checkmk-Instanz senden.

Troubleshooting

Funktioniert es nicht, prüfen Sie zunächst, ob Checkmk überhaupt Informationen vom Agenten erhält.

Bekommt Checkmk gar keine Daten, versuchen Sie, den Agenten neu zu installieren. Hilft auch das nicht, prüfen Sie, ob der Port 6556 in Ihrer Firewall freigegeben ist.

Fazit

Mit nur einigen wenigen Schritten können Sie Ihre Nextcloud Versionen prüfen. Sie müssen nur den Agenten auf den Host installieren, den sie überwachen möchten, den Host in Chekcmk anlegen, dann das Script installieren und Sie sind fertig.

Möchten Sie mehr zu diesem oder anderer Themen, wie Nextcloud Integration, Checkmk on Premise und vielem mehr erfahren, dann schauen Sie im jeweiligen Infobereich auf unserer Webseite vorbei.

Brauchen Sie Unterstützung bei der Einrichtung Ihrer Checkmk Instanz, kontaktieren Sie uns. Wir helfen Ihnen gerne!