Eigenen Serverüberwachung einrichten!?!

Nikos

Registered User
Hallo Freunde und Helfer,

wie kann man eine eigene Serverüberwachung einrichten?

Ich habe zwei Server und möchte das einer den anderen überwacht ob er Online ist und wenn nicht, dann soll eine email versendet werden.

Daten:

Server 1: vServer, Plesk 8.1, Suse 10.0
Server 2: RootServer, Plesk 8.3, Suse 10.2

Geht das über Plesk?

Vielen Dank im Voraus
:)
Nikos
 

Armadillo

Registered User
Könnte man ja recht simpel mit nem Mini-perl oder -bash-script, das den anderen Server pingt, lösen, dass von nem cron einfach alle 5min aufgerufen wird und ne E-Mail schickt. ;)
 

Armadillo

Registered User
Öhm naja, ich fürchte das müsstest du selber coden. Wenn du nciht programmieren kannst, musst du dich entweder in bash-scripting einlesen, jemanden beauftragen dir das zu schreiben, oder ne vorgefertigte Software wie Nagios oder Munin dafür nutzen.
Wobei Letzteres nur um zu überprüfen ob die Server generell laufen und cniht zum überwachen etlicher Dienste doch etwas arg überdimensioniert ist. :D
 

Nikos

Registered User
Aha, Hmm...

Eigentlich langt es doch nur wenn er immer wieder ein Ping macht, oder?

Na ja, mit scripten bin ich wohl der falsche Mann.

:)
 

Armadillo

Registered User
Wenn du nur überprüfen willst, ob der Server noch online ist, reicht ein simples Pingen völlig aus, ja. ;)
 

CentY

Registered User
Für einfach folgendes alle 5min einmal aus:
Code:
#!/bin/bash
DATE=`date`;
if ping -c 1 zuüberprüfenderhost ;
then
echo der rechner ist erreichbar 
else
echo Server ist nicht erreichbar! $DATE | mail -s 'Server ist offline' deine@email.addy
fi
 

Armadillo

Registered User
Na bitte, da hat Centy ja schon was passendes für dich gebastelt. ;)

Jetzt musste das Ganze nur noch in eine Datei hauen und die als Cronjob ausführen lassen. Ich weiß jetzt nicht, ob Plesk Cronjobs verwalten kann, ich geh mal davon aus, dass nicht.

hier haste mal ne gute Anleitung um einen Cronjob zu erstellen:
Cronjob einrichten
 

Roger Wilco

Blog Benutzer
wie kann man eine eigene Serverüberwachung einrichten?
monit, Nagios, Munin, Zabbix oder god (oder ein anderes ähnliches Programm) installieren und konfigurieren. Die können dann i. d. R. auch etwas mehr, als nur ICMP echo requests zu senden und die echo responses zu testen. Und nicht alle Programme sind so umfangreich wie Nagios, welches zu Anfang wohl erstmal etwas abschreckend wirkt.
 

Armadillo

Registered User
Wenn er aber wirklich nur wissen will, ob die Server online sind, sind eigentlich alle Scripts überdimensioniert.

Interessant wirds halt, wenn er wirklich einzelne Dienste überwachen will, aber wenn er relativ wenig Kenntnisse von Servern hat, is das für den Anfang vielleicht auch etwas viel verlangt. ;)
 

Roger Wilco

Blog Benutzer
Wenn er aber wirklich nur wissen will, ob die Server online sind, sind eigentlich alle Scripts überdimensioniert.
Bei diesem Wissensstand bedeutet "ist online" i. d. R. "läuft der Webserver und liefert meine Seiten aus?". Von daher ist monit vielleicht gar keine schlechte Lösung für die konkrete Problemstellung.
 

CentY

Registered User
Bei ist mein Webserver online würde ich statt ping ein
Code:
echo "GET" | nc(oder netcat)  hostname 80
Schon weisste ob der Webserver läuft ganz ohne munin oder sonst wem.
 

Armadillo

Registered User
Naja das sind alles Spekulationen. Wenn er das nicht selber beantwortet ist hier jede Diskussion eigentlich überflüssig. ;)
Ich bin davon ausgegangen, dass er eine simple Lösung haben will, weil er folgendes gesagt hat:
Eigentlich langt es doch nur wenn er immer wieder ein Ping macht, oder?
Wie gesagt, mehr Aufklärung gibts nur, wenn er selber was dazu sagt. ;)

//EDIT:
Ich muss Centy recht geben, dass deckt das simple "online sein" sogar mit ab. :)
 

JPPeterson

Registered User
Wenn man schon Plesk nutzt kann man ja auch das Watchdog Module nutzen welches bei Plesk mit bei ist.
Überwacht die Dienste und gibt meldung per mail wenn diese down sind.:cool:
 

Nikos

Registered User
Oh je, so viele Antworten, bin echt baf.

Sorry, war gestern Abend fort, aber vielen Dank für eure Unterstützung!

So, zu mein Problem.

Ich habe immer Angst das einer meiner Server hängen bleibt und dabei nicht erreichbar ist.

Natürlich ist es besser wenn man auch weiss ob der WebServer usw. alles auch korregt laufen.

Aber wie gesagt, ich bin kein Profi im diesen Bereich und vor allem nicht im Linux!

Für einfach folgendes alle 5min einmal aus:
Code:
#!/bin/bash
DATE=`date`;
if ping -c 1 zuüberprüfenderhost ;
then
echo der rechner ist erreichbar 
else
echo Server ist nicht erreichbar! $DATE | mail -s 'Server ist offline' deine@email.addy
fi
Sieht gut aus.


Bei ist mein Webserver online würde ich statt ping ein
Code:
echo "GET" | nc(oder netcat)  hostname 80
Schon weisste ob der Webserver läuft ganz ohne munin oder sonst wem.
Klinkt auch gut.


Wie würde den dann der Code im gesammt aussehen?

Nochmals Vielen Dank :)

Gruß
:)
Nikos
 

Nikos

Registered User
Wenn man schon Plesk nutzt kann man ja auch das Watchdog Module nutzen welches bei Plesk mit bei ist.
Überwacht die Dienste und gibt meldung per mail wenn diese down sind.:cool:
Das ist doch aber für den eigenen Server, oder?
Und was ist wenn er ja Down ist?

Oder kann man es so einrichten das der Watchdog einen anderen Server kontrolliert?
 

Armadillo

Registered User
Wenn man schon Plesk nutzt kann man ja auch das Watchdog Module nutzen welches bei Plesk mit bei ist.
Wenn du ihm was empfiehlst, solltest du ihm vielleicht auch eine Anleitung oder kurze Erklärung liefern, wie er das einbinden kann, weil es für ihn offensichtlich nicht so einfach ist, komplexere Dinge bei Linux einzubinden. ;)

Das ist doch aber für den eigenen Server, oder?
Oder kann man es so einrichten das der Watchdog einen anderen Server kontrolliert?
Das würde mich jetzt in der Tat auch mal interessieren. :)
 
Last edited by a moderator:

CentY

Registered User
Zusammen sieht es dann so aus:
Code:
#!/bin/bash
DATUM=`date`;
IP=deinehostip;
EMAIL=deine@email.addy;
if ping -c 1 $IP;
then
echo der rechner ist erreichbar 
else
echo Server ist nicht erreichbar $DATUM | mail -s "Server offline" $EMAIL
fi
if echo "GET" | nc $IP 80 ;
then
echo Geht
else
echo Webserver nicht erreichbar $DATUM | mail -s "Webserver down" $EMAIL
fi
Das ganze kann man natürlich noch optimieren in dem man eine Status Datei schreibt und überprüft ob diese existiert so dass nicht tausende EMails verschickt werden sondern nur eine wenn was down ist.
 
Top