Traffic messen mit Nagios3 auf Debian-vServer

S

stuzfuz

Eroberer
Hallo Leute,

ich habe einen vServer bei Server4You auf dem Debian und Nagios installiert sind.
Jetzt möchte ich mit Nagios für jedes Monat den Traffic meines Servers messen?
Und bei einer gewissen Menge an Daten soll ich eine Warnung bekommen.

Welches Plugin/App ist dafür am besten geeignet?

Danke
 
Ggf. kannst du check_hetzner entsprechend modifizieren, so dass es für S4Y passt. Alle anderen mir bekannten Traffic-Plugins für Nagios messen nur den aktuellen Durchsatz. Mit LWP::Simple sollte sich aber recht einfach ein Perl-Modul basteln lassen, wenn S4Y dir den verbrauchten Traffic irgendwo im Webinterface anzeigt.
 
Hi

Für Nagios könntest du ein solches Plugin nutzen...
http://www.nagios-wiki.de/nagios/plugins/check_traffic

Du musst nur bedenken dass der Nagios Check zu einer bestimmten Zeit ausgeführt wird und du dadurch immer nur Daten von diesem Zeitpunkt hast..(bsp. alle 3 Minuten) und der Check selbst dein Netzwerktraffic negativ beeinflusst.

Eine andere Möglichkeit wäre vnstat. Vnstat ließt die Informationen aus dem Kernel und belegt demnach keine Netzwerkressourcen. http://humdi.net/vnstat/
 
Klar...

Du musst dir dann dein eigenes Plugin bauen..
Meinst das klappt?
Wenn nicht vlt. habe ich die Tage mal Muse und setz mich hin...
 
Nein muss nicht sein ...
Wenn du mir sagst wie ich mit vnstat eine Grenze und eine Meldung einrichten kann ist mir schon geholfen.

Und was kann es da haben: venet0: Not enough data available yet
Läuft schon seit gestern ...?
 
Mit vnstat kannst du keine Meldung erzeugen. Du musst dir die benötigte Zahl mittels vnstat ermitteln und in einem Script den jeweiligen Nagios Status an Nagios senden.
 
OOOOOh dann hab ich doch zu bald gesagt ich würds nicht brauchen das Nagios-Plugin für vnstat ;)
 
ok

Ich schau mir das ganze am Freitag Abend mal an. Vlt. finde ich noch was ohne ein exterenes Tool wie vnstat verwenden zu müssen.
 
Ok danke dir.
Optimalstes wär wenns im Nagios geht.

Must have ist eine grafische Ansicht (wie vnstat) UND eine Benachrichtigung
 
Mahlzeit,

Nein muss nicht sein ...
Wenn du mir sagst wie ich mit vnstat eine Grenze und eine Meldung einrichten kann ist mir schon geholfen.

Und was kann es da haben: venet0: Not enough data available yet
Läuft schon seit gestern ...?

Du musst die Datenbank erst noch anlegen, in deinem Fall dürfte "vnstat -u -i venet0" sein.

Und in der /etc/vnstat.conf solltest du das evtl auch noch nach Pflegen.

Was das Plugin für Nagios-Checks angeht, da hatte ich gestern Abend langeweile. Außerdem wollte ich sowas für meine Kiste eh haben wollte:

Da ich vnstat nicht kenne vermute ich im Moment nur, das es sich mit dem aktuellen Monat wie mit dem Tag verhält und dieser jeweils mit der 0 referenziert wird. Hier kann sich gerne wer dazu äußern falls dies nicht so ist.

Code:
#!/bin/bash
#
# check used traffic with vnstat
#
# BINARIES
VNSTAT_BIN=/usr/bin/vnstat
GREP_BIN=/bin/grep
PS_BIN=/bin/ps
CAT_BIN=/bin/cat
ECHO_BIN=/bin/echo
CUT_BIN=/usr/bin/cut

# OPTIONS
VNSTAT_OPTIONS="--dumpdb"
PS_OPTIONS="-e"

# vmstatd.pid
VNSTATD_PID="/var/run/vnstat.pid"

# NAGIOS results
NAGIOS_OK=0
NAGIOS_WARN=1
NAGIOS_CRIT=2
NAGIOS_UNKNOWN=3

function usage() {
	${ECHO_BIN} ""
        ${ECHO_BIN} "USAGE:"
        ${ECHO_BIN} "$0 OPTION"
        ${ECHO_BIN} "   OPTION:"
        ${ECHO_BIN} "          d - daily traffic"
        ${ECHO_BIN} "          m - monthly traffic"
        ${ECHO_BIN} "          w - warn MiB"
        ${ECHO_BIN} "          c - warn MiB"
        ${ECHO_BIN} "          v - Verbose"
        ${ECHO_BIN} "          h - this help"
	${ECHO_BIN} ""
        exit 3
}

system=0
verbose=0
warn=0
crit=0
timerange="x"
while getopts dmw:c:h option
do
        case ${option} in
		d)	
			[ ${timerange} == "x" ] && timerange="d" || usage
			system=1
			;;
                m)
			[ ${timerange} == "x" ] && timerange="m" || usage
			system=1
			;;
		w)	
			warn=$OPTARG
			;;
		c)	
			crit=$OPTARG
			;;
                h)
                        system=0
                        ;;
                ?)
                        system=0
                        ;;
        esac
done

[ ${system} == 0 ] && usage
[ ${warn} -le 0 ] && usage
[ ${crit} -le 0 ] && usage
[ ${warn} -ge ${crit} ] && usage


# check if vnstatd is running
if [ -r ${VNSTATD_PID} ]; then
	vnstatd_pid=`${CAT_BIN} ${VNSTATD_PID}`
	vnstatd_count=`${PS_BIN} ${PS_OPTIONS} | ${GREP_BIN} -c vnstatd`

	if [ ${vnstatd_count} -ne 1 ]; then
		${ECHO_BIN} "UNKNOWN: no vnstatd running"
		exit ${NAGIOS_UNKNOWN}
	fi
else
	${ECHO_BIN} "UNKNOWN: no ${VNSTATD_PID} found"
	exit ${NAGIOS_UNKNOWN}
fi

vnstat_output=`${VNSTAT_BIN} ${VNSTAT_OPTIONS} | ${GREP_BIN} "^${timerange};0"`
vnstat_rx=`${ECHO_BIN} ${vnstat_output} | ${CUT_BIN}  -d\; -f4`
vnstat_tx=`${ECHO_BIN} ${vnstat_output} | ${CUT_BIN}  -d\; -f5`
vnstat_sum=$((vnstat_rx+vnstat_tx))

if [ ${vnstat_sum} -ge ${warn} ]; then
	if [ ${vnstat_sum} -ge ${crit} ]; then
		${ECHO_BIN} "CRITICAL: ${vnstat_rx} MiB RX, ${vnstat_tx} MiB TX, ${vnstat_sum} MiB total transfer";
		exit ${NAGIOS_CRIT}
	fi
	${ECHO_BIN} "WARNING: ${vnstat_rx} MiB RX, ${vnstat_tx} MiB TX, ${vnstat_sum} MiB total transfer";
	exit ${NAGIOS_WARN}
else
	${ECHO_BIN} "OKAY: ${vnstat_rx} MiB RX, ${vnstat_tx} MiB TX, ${vnstat_sum} MiB total transfer";
	exit ${NAGIOS_OK}
fi

mfg
HeadCrash
 
Darum ist das Unixboard mein liebstes Forum...

Klasse!
 
Hey HeadCrash danke für das Skript.

Jetzt musst du mir nur noch sagen, wie ich das commands.cfg aufbauen muss mit den Parametern?
 
Zuletzt bearbeitet:
Müssen tue ich gar nichts ;),

Wenn Nagios schon installiert ist und läuft, sollteste du in der vorhanden Konfiguration ohne Probleme genügend Beispiele finden um das selbst abändern zu können.
Im Grunde muss Nagios nur das Skript mit den Parametern "-m -w $WARNTRAFFIC -c $CRITICALTRAFFIC" aufrufen, wobei du für -w und -c entsprechende Werte eintragen musst.

mfg
HeadCrash
 
HeadCrash recht hast, müssen tust nicht ;)

Okay, dann werd ich das mal mit den Parametern versuchen.

Danke!
 

Ähnliche Themen

Log-Datei bearbeiten

PHP funktioniert, nur Web-Aufrufe mit Optionen nicht.

Keine grafische Oberfläche (Debian Installation)

Router routing mit mehreren Netzwerken

openSSH: SFTP / FTPS

Zurück
Oben