[MEGOLDVA] Mount point időarányos tárterület figyelése [nagios]

Sziasztok!

Olyan plugin -ra lenne szükségem, ami mondjuk 10 perces időintervallummal figyeli egy mount point tárterületének változását, és ez alapján a kimenete valami olyasmi, hogy a megadott mount ponton előreláthatólag még 12 óráig elegendő a tárterület.

Tehát ilyen megelőző szkript kellene, hogy ha az üzemeltető mondjuk elmegy hétvégére akkor csekkolni tudja, hogy a délelőtt mértek alapján nem lesz para a hétvégén a tárterülettel.

Vagy valami hasonló sztori. Remélem nem nagy hülyeség. Nagios exchange -t már csekkoltam, de nem leltem tökéletes megoldásra, bár eléggé ígéretesnek tűnik a file_grow_check téma.

Az építő hozzászólásokat előre is köszönöm.

Hozzászólások

Nem lehet/erdemes valahogy megoldani, hogy automatikusan torlodjon, amire mar nincs szukseg? Arra gondolok, amit nalunk csinaltam meg a kamerak felveteleit tarolo szerveren: egy szkript 10 percenkent megnezi, hogy a szabad hely merete nem csokkent-e egy bizonyos szint ala, es ha igen, akkor letorli a legregebbi mentest. Igy soha nem fog megtelni, es nyugodtan elmehetek szabadsagra :-)

Ha csak ket adatpontot akarsz nezni, nem tobb az egesz egy 10 perces ujjgyakorlatnal:

#!/bin/bash

DISK=$1
TMPDIR=$2
WARN=$3
CRIT=$4

set -e

if [ -z $DISK -o -z $TMPDIR -o -z $WARN -o -z $CRIT ]; then
	echo "Usage: check-disk-remaining.sh sda1 /var/local/nagios/whatever 172800 86400"
	exit 3
fi

if [ -n $(which gdf) ]; then
	DF=$(which gdf)
else
	DF=$(which df)
fi

DISKDEV=/dev/$DISK
TIMEFILE=$TMPDIR/$DISK.time
SPACEFILE=$TMPDIR/$DISK.space

THISTIME=$(date +"%s")
THISSPACE=$($DF $DISKDEV | tail -n 1 | awk ' { print $4 } ')

if [ -f $TIMEFILE -a -f $SPACEFILE ]; then
	LASTTIME=$(cat $TIMEFILE)
	LASTSPACE=$(cat $SPACEFILE)

	if [ $THISTIME -eq $LASTTIME ]; then
		echo "Run the script with at least 1 second difference, dummy!"
		RETURN=3
	else
		BLOCKSPERSEC=$(( ($LASTSPACE - $THISSPACE)/($THISTIME - $LASTTIME) ))
		if [ $BLOCKSPERSEC -gt 0 ]; then
			REMAINING=$(( $THISSPACE / $BLOCKSPERSEC ))
			echo "Remaining disk time: $REMAINING seconds"
			if [ $REMAINING -lt $CRIT ]; then
				RETURN=2
			elif [ $REMAINING -lt $WARN ]; then
				RETURN=1
			else
				RETURN=0
			fi
		else
			echo "Disk usage decreasing or constant, infinite remaining time"
			RETURN=0
		fi
	fi
else
	echo "No previous state file present."
	RETURN=3
fi

echo -n $THISTIME >$TIMEFILE
echo -n $THISSPACE >$SPACEFILE

exit $RETURN

MacOS-el es Linux-szal mukodnie kellene, massal nem ellenoriztem.

[troll]Ezt egyebkent rendszergazda letere az embernek ossze kene tudnia hozni.[/troll]

--
Pásztor János
Üzemeltető Macik

Trendanalízist akarsz csinálni? subscribe.

http://www.bischeck.org (amit már rég meg akarok nézni, de még nem jutottam el odáig) elvileg tud pl forecastot is csinálni.

Persze lehet kissé overkill :)

Köszi mindenkinek. Ráleltem a tökéletes megoldásra.