Online Status ueberwachen

Bash, Shell, PHP, Python, Perl, CGI
mcdoogle
Posts: 178
Joined: 2003-07-15 13:36

Online Status ueberwachen

Post by mcdoogle »

Hallo,

ich moechte von einem DSL Rechner zuhause (der auch immer laeuft) meinen Rootserver ueberwachen.
Ich stelle mir das so vor. Irgendwie soll mein DSL Rechner feststellen das der Rooty abgeraucht ist und mir dann lokal eine Mail oder so zustellen.

Hat dafuer jemand eine schicke Loesung. Ich hab ein paar Ideen, aber alles net so richtig edel.

Bitte schickt mir fertige Scripte oder Ideen und Anregungen!

Danke!
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Online Status ueberwachen

Post by captaincrunch »

DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
blackice2999
Posts: 40
Joined: 2003-12-02 11:27

Re: Ã?berwachung...

Post by blackice2999 »

Hi,

alsoich hätte da ne variante die vieleicht nicht ganz so geschickt ist, aber zumindestens schonmal den HTTP dienst überwacht.
#!/usr/bin/perl -w

use strict;

my ( $MailProgram );
my ( $EMail );
my ( $Absender );
my ( $Betreff );
my ( $Inhalt );
my ( $sec,$min,$hour,$mon,$year,$wday,$yday,$isdst);
my ( $ip, $httpport );
my ( $output );
my ( $vboutput);
my ( $timeout,$speicher );
my ( $suchstring);

$MailProgram ='/usr/sbin/sendmail'; #Path to sendmail
$EMail ="USER@DOMAIN.de"; #Email zu der der Fehlerbericht gesendet werden soll
$Absender ="servercheck@DOMAIN.de"; #Der Absender der Nachricht
$Betreff ="Server-Fehler"; #Betreff der Fehlernachricht
$ip ="IPADRESSE"; #IP-Adresse des Webserver, der überprüft werden sol
$httpport ="80"; #Port des Webservers
$suchstring = "connected";

open (CHECKER,"|wget --tries=2 --spider http://$ip/ -o tmp2.dat") || die "Fehler mit WGET!n";
close CHECKER;

open(VERARBEITUNG,"|less tmp2.dat | grep -c $suchstring >tmp1.dat") || die "Fehler mit Grep oder less!n";
close VERARBEITUNG;

open(EIN,"tmp1.dat") || die "Fehler mit der Datei!n";
$output = <EIN>;
close EIN;


if($output eq "1n"){
print "Alles ok!n";

} else {
($sec,$min,$hour,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$Inhalt = "Ihr Server ist um $hour:$min:$sec ausgefallen";
print "$Inhaltn";
open( MAIL, "|$MailProgram $EMail") || die "Fehler beim Mailprogram $MailProgram!n";
print MAIL "From: $Absendern";
print MAIL "To: $EMailn";
print MAIL "Subject: $Betreffnn";
print MAIL "$Inhaltn.";
close MAIL;
}
#
#
#