UD Speicherwarnung Notification


Revan335
Go to solution Solved by mgutt,

Recommended Posts

Hallo,

 

kann man sich über eine Speicherwarnung benachrichtigen lassen?

 

Würde gerne ne Info über den Speicherverbrauch der VU+ Platte oder anderweitige UD Geräte informiert werden bevorzugt per Mail/Unraid Notification.

 

Gibt es da ne Möglichkeit für?

 

Dann weiß man wenn der Speicher der Platte .... aus geht.

 

Vielen Dank!

 

Viele Grüße

 

Revan335

Link to comment
1 hour ago, Revan335 said:

Gibt es da ne Möglichkeit für?

 

Schreib Dir ein script wo abfrägt und dann eine notification sendet ...

 

Beispiel Abfrage

root@AlsServer:~# df -h /mnt/remotes/VUDUO4KSE_Harddisk/
Filesystem            Size  Used Avail Use% Mounted on
//VUDUO4KSE/Harddisk  1.9T 1008G  855G  55% /mnt/remotes/VUDUO4KSE_Harddisk

 

um das zu minimieren wäre dann beispielsweise

root@AlsServer:~# df -h /mnt/remotes/VUDUO4KSE_Harddisk/ | grep -i "Hard" | awk '{print $5}'
55%

 

jetzt hast du die used % ... usw usw ... dann if .... > 90% ... send ... else .... nichts ... einlesen, umsetzen, stolz sein ;)

Link to comment

Du hast das syslog notifier Script ja schon im Einsatz. Dann könntest du einfach in die Logs einen Fehler schreiben:

 

while read -r device usage; do
  logger -t Devices "Error: $device uses $usage of the available space!"
done < <(df | tr -s ' ' | cut -d ' ' -f 1,5 | grep -E '9[5-9]%$')

 

Das dann zB 1x am Tag ausführen.

 

 

  • Thanks 1
Link to comment
1 hour ago, mgutt said:

Du hast das syslog notifier Script ja schon im Einsatz. Dann könntest du einfach in die Logs einen Fehler schreiben:

 

while read -r device usage; do
  logger -t Devices "Error: $device uses $usage of the available space!"
done < <(df | tr -s ' ' | cut -d ' ' -f 1,5 | grep -E '9[5-9]%$')

 

Das dann zB 1x am Tag ausführen.

 

 

Das ist denke ich ein separates Script! Gilt das dann für alle Devices im System? Oder muss man da noch seine Geräte eintragen, weil device usage und die $ Variablen müssen ihre Daten woher nehmen.

 

Oder sowas wie:

Aber ist die df Abfrage dann nicht doppelt?

 

Bin kein großer Script Experte und übersehe ggf. was.


 

!bin bash

device=$(/mnt/remotes/VUDUO4KSE_Harddisk/)

usage=$(df -h /mnt/remotes/VUDUO4KSE_Harddisk/ | grep -i "Hard" | awk '{print $5}')

while read -r device usage; do logger -t Devices "Error: $device uses $usage of the available space!" done < <(df | tr -s ' ' | cut -d ' ' -f 1,5 | grep -E '9[5-9]%$')

 

Link to comment
4 hours ago, mgutt said:

Meine while Schleife gilt für alle Devices. Der Code von Alturismo gehört nicht dazu. Usage und device wird durch das while gefüllt.

 

Kann man den noch detaillierter machen wie bspw. bei Alturismos df -h wo auch bspw. die GB/MB ... ausgegeben wurden abseits der %?

 

Oder funktioniert das dann wegen der Schleife nicht?

Link to comment
21 minutes ago, Revan335 said:

Kann man den noch detaillierter machen

 

Wenn du das im Terminal ausführst, siehst du was du für Werte nutzen kannst:

df -h | tr -s ' '

 

Ich nehme entsprechend den 1ten, 2ten, 3ten und 5ten Wert, setze entsprechende Variablennamen und verwende sie in der Nachricht:

while read -r device size usage percent; do
  logger -t Devices "Error: $device uses $usage of $size ($percent)!"
done < <(df -h | tr -s ' ' | cut -d ' ' -f 1,2,3,5 | grep -E '9[5-9]%$')

 

Hinten das "9[5-9]%" kannst du natürlich auch noch anpassen. Damit findet es alle mit 95 bis 99% Belegung. Eigentlich müsste man sogar "(100|9[5-9])%" verwenden, damit auch 100% gefunden wird.

 

Alternativ zu "logger -t Devices" kannst du auch "echo" schreiben, wenn du es direkt im Terminal testen willst. zB bei mir ergibt das das:

 

while read -r device size usage percent; do
  echo "$device uses $usage of $size ($percent)!"
done < <(df -h -B GB | tr -s ' ' | cut -d ' ' -f 1,2,3,5 | grep -E '(100|9[5-9])%$')
/dev/md1 uses 17160GB of 17999GB (96%)!
/dev/md2 uses 17057GB of 17999GB (95%)!
/dev/md4 uses 17232GB of 17999GB (96%)!

 

Wie du siehst habe ich mit "-B GB" noch das Ausgabeformat geändert.

Link to comment
20 hours ago, mgutt said:
while read -r device size usage percent; do
  logger -t Devices "Error: $device uses $usage of $size ($percent)!"
done < <(df -h | tr -s ' ' | cut -d ' ' -f 1,2,3,5 | grep -E '9[5-9]%$')

Hab es mal etwas angepasst, damit man auch den freien Speicher bekommt:

#!/bin/bash
while read -r device size usage free percent; do
  logger -t Devices "Error: $device have $free free and uses $usage of $size ($percent)!"
done < <(df -h -B GB | tr -s ' ' | cut -d ' ' -f 1,2,3,4,5 | grep -E '100|9[0-9]%$')

 

Link to comment

Er zeigt bei mir auch Geräte an die unter 90% liegen.

Event: Unraid Status
Subject: syslog error
Description: Mar 14 04:40:01 Raster Devices: Error: /dev/md1 have 692GB free and uses 15308GB of 15999GB (96%)!
Mar 14 04:40:01 Raster Devices: Error: /dev/md2 have 119GB free and uses 15881GB of 15999GB (100%)!
Mar 14 04:40:01 Raster Devices: Error: /dev/nvme1n1p1 have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: /dev/nvme0n1p1 have 999GB free and uses 1GB of 1001GB (1%)!
Mar 14 04:40:01 Raster Devices: Error: shfs have 810GB free and uses 31188GB of 31998GB (98%)!
Mar 14 04:40:01 Raster Devices: Error: shfs have 810GB free and uses 31188GB of 31998GB (98%)!
Mar 14 04:40:01 Raster Devices: Error: //VUSOLO2/Harddisk have 239GB free and uses 2761GB of 3000GB (93%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Mar 14 04:40:01 Raster Devices: Error: overlay have 302GB free and uses 699GB of 1000GB (70%)!
Importance: alert

Overlay ist der Parity Sync, der gerade läuft?

 

Shfs ist alles?

Link to comment
On 3/14/2023 at 7:13 AM, Revan335 said:

Overlay ist der Parity Sync, der gerade läuft?

 

Overlay ist Docker.

 

Nachtrag: Overlay steht für das Overlay Filesystem. Viele Unraid Overlay Mounts betreffen das Docker System. Es gibt aber auch weitere Overlay Mounts in Unraid.

 

Edited by hawihoney
  • Thanks 1
Link to comment
  • Solution
On 3/16/2023 at 7:11 AM, Revan335 said:

Eine Idee @mguttwieso er dies so ausgibt?

Das sind vermutlich virtuelle Docker Laufwerke. 

 

Ich habe noch mal umgebaut:

 

#!/bin/bash
while read -r type size usage free percent path; do
  if [[ $percent =~ (100|9[0-9])% ]]; then
    logger -t Devices "Error: $path ($type) uses $usage of $size and only $free ($percent) are left!"
  fi
done < <(df -h -B GB | tr -s ' ' | cut -d ' ' -f 1-6)

 

 

Wir hatten bisher "type" ausgegeben. Für dich relevanter ist aber "path".

 

Beispiel nun von mir:

Error: /mnt/disk1 uses 17160GB of 17999GB and only 839GB (96%) are left!
Error: /mnt/disk2 uses 17057GB of 17999GB and only 942GB (95%) are left!
Error: /mnt/disk3 uses 16824GB of 17999GB and only 1175GB (94%) are left!
Error: /mnt/disk4 uses 17232GB of 17999GB and only 767GB (96%) are left!

 

  • Thanks 1
Link to comment
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.