Überwachung von Cloud-Speichern (Owncloud/Nextcloud)

In diesen Tagen, in denen sich jeder um die Sicherheit seiner Daten sorgt, ist die Idee, eine Cloud-Speicherlösung selbst zu hosten, wirklich attraktiv. Es gibt Software wie owncloud oder nextcloud, die dies wirklich gut können und den Nutzern eine nahtlose Erfahrung bieten.

 

 

Aber was passiert, wenn immer mehr Nutzer an Bord kommen? Der IT-Administrator muss den Server im Auge behalten, um sicherzustellen, dass die Nutzer die Speicherplatzkontingente nicht überschreiten, und er muss zusätzlichen Speicherplatz prognostizieren und bereitstellen. Wie kann dies alles schnell und einfach geschehen?

 

 

Neben anderen Sensoren bietet PRTG den SSH-Skriptsensor. Dieser gibt uns die Möglichkeit, ein kleines Skript zu schreiben, es auf dem Server zu platzieren und die Ergebnisse an unseren Überwachungsserver zurückzuschreiben.

 

Unser Skript muss ein XML-Format zurückliefern, damit PRTG die Werte korrekt in die Kanäle des Sensors schreiben kann. Daher muss unser Skript wie unten beschrieben beginnen und enden.

 

 

echo "<prtg>"
.....
echo "</prtg>"

Der erste Teil unseres Skripts listet die Verzeichnisse aller Benutzer auf.
Der folgende Befehl listet die Verzeichnisse auf, nachdem er einige gängige Inhalte wie .txt- oder .log-Dateien herausgefiltert hat, und gibt sie in einer Loop ein.

 

for directory in `ls -I'*.log*' -I'*.txt' -I'*.html' /data/owncloud/data/ | awk '{print $1}'`; do
...
done

Der zweite Teil unserer Skripte ermittelt die Größe des Verzeichnisses und vervollständigt das xml-Format so, dass ein Kanal pro Benutzer erstellt wird.

 

userspace=`du -sb /data/owncloud/data/$directory | cut -f1`
    echo "  <result>"
    echo "          <value>$userspace</value>"
    echo "          <channel>$directory</channel>"
    echo "          <Unit>BytesDisk</Unit>"
    echo "          <VolumeSize>MegaByte</VolumeSize>"
    echo "  </result>"


Nachstehend das vollständige Skript. Denken Sie daran, dass das Skript unter dem Pfad /var/prtg/scriptsxml auf dem owncloud/nextcloud-Server abgelegt werden muss, den wir überwachen wollen.

echo "<prtg>"

for directory in `ls -I'*.log*' -I'*.txt' -I'*.html' /data/owncloud/data/ | awk '{print $1}'`; do

        userspace=`du -sb /data/owncloud/data/$directory | cut -f1`
                        echo "  <result>"
                        echo "          <value>$userspace</value>"
                        echo "          <channel>$directory</channel>"
                        echo "          <Unit>BytesDisk</Unit>"
                        echo "          <VolumeSize>MegaByte</VolumeSize>"
                        echo "  </result>"

done

echo "</prtg>"
de_DEDeutsch