duro
Goto Top

Onlinestatus von Servern, Switchen, etc. per Browser anzeigen

Hallo,
wer wollte nicht schonmal den Onlinestatus von bestimmten Systemen im Netzwerk auf einen Blick sehen?

Dieses Script ermöglicht es, auf dem Bildschirm auszugeben ob die eingetragenen IP-Adressen auf dem eingetragenen Port erreichbar sind, desweiteren aktualisiert sich die Seite alle 30 Sekunden automatisch. Bei mir läuft es auf einem IIS mit PHP 5
Um weitere Systeme einzutragen können die fünf Zeilen einfach beliebig oft angefügt werden.

<html>
<head>
<title>Onlinestatus</title>
<meta http-equiv="cache-control" content="no-cache">  
<meta http-equiv="refresh" content="30">  
</head>
<body>
<center>
<h1>Onlineanzeige</h1>
<table border="1" width="768px">  
<tr>
<td>Name:</td>
<td>IP-Adresse:</td>
<td>Status:</td>
</tr>
<! ------------------------------------->
<tr>
<td>Gateway</td>
<td><a href="http://192.168.1.1/" target="_blank">192.168.1.1</a></td>  
<td><?php $fp = @fsockopen("192.168.1.1",80,&$errno,&$errstr,2); if(!$fp) { echo "Offline :-("; } else { echo "Online :-)"; } ?></td>  
</tr>
<! ------------------------------------->
</table>
</center>
</body>
</html>

In dieser Zeile wird die "Zieladresse" und der abzufragende Port eingetragen und anschließend im Browser das Ergebniss ausgegeben

<?php $fp = @fsockopen("192.168.1.1",80,&$errno,&$errstr,2); if(!$fp) { echo "Offline face-sad"; } else { echo "Online face-smile"; } ?>


bei mir sieht das ganze so aus:
a091bca496a7cf7d77fda0e615cf8489

Content-Key: 157679

Url: https://administrator.de/contentid/157679

Printed on: April 19, 2024 at 04:04 o'clock

Member: dog
dog Dec 28, 2010 at 22:15:27 (UTC)
Goto Top
Sorry, aber das ist kaum ein Tipp - als Anleitung geht das gar nicht durch.

Zudem ist es keine qualifizierte Aussage ob ein Server läuft.
Du könntest mehr Aussagen über die Verfügbarkeit machen, wenn du auf der Seite per <img> nur ein Bild von dem Server einbindest.

Ja, das meine ich ernst. Dann weißt du nämlich, dass auf der IP zumindest der HTTP-Server läuft und in der Lage ist statische Inhalte auszuliefern.
Alles was du mit deinem Script weißt ist "Unter dieser IP kann eine Verbindung mit TCP Port 80 aufgebaut werden".
Diese Information ist ziemlich nutzlos - ich habe schon genug Server gesehen wo nach dem öffnen der Verbindung nichts mehr passiert ist.

Zudem sind in deinem Script für einen Host die Informationen 3x redundant. Bei jedem weiteren sind sie sogar 4x Redundant.
Für sowas benutzt man bitte Arrays und For-Schleifen.

Und dein Script kann natürlich keine übergeordneten Fehler abfangen, wie z.B. einen verketteten Ausfall.

Da nimm lieber http://www.mikrotik.com/thedude.php und du hast schneller eine qualifiziertere Aussage...
Member: maretz
maretz Dec 29, 2010 at 07:53:38 (UTC)
Goto Top
Moin,

ich sehe das ähnlich wie Dog. Du findest damit eigentlich nur raus ob das Gerät selbst "irgendwie" da ist. Da kann der ganze Webserver im Hintergrund schon abgesemmelt sein und nur der Port ist noch offen. Oder andere Dienste die gar nicht so einfach auszulesen sind (z.B. UDP-Ports) wirst du damit auch schlecht bekommen...

Was ich wenn eher machen würde: Per SNMP an das Gerät gehen. Da bekomme ich einige Infos über das System mehr und kann auch gleichzeitig (sofern unterstützt) noch Systemwerte auslesen (Temperatur, Alerts,...). Bei einem Switch sollte es beispielsweise auch möglich sein z.B. die Port-Statuswerte mit auszulesen -> ich kann dir also direkt sagen ob ein Port nen Link hat oder eben "off" ist. Damit grenze ich die Suche dann schon erheblich ein wenn der User anruft...

Ich sag mal ganz hart: Dein Script könnte auch nen "exec ping -c1 ip-adresse" machen und gucken was zurück kommt. Wenn das Gerät auf dem Ping antwortet dann ist es für dich da - wenn nicht is es weg.. Aber eine wirkliche Aussage ist das dann natürlich immernoch nicht... Was machst du z.B. wenn ein Gerät weg ist und einfach nen anderes Gerät die IP bekommen hat? Dein Script sagt: Joar, Webseite ist da, alles ok.... -> SNMP würde dir den anderen Gerätenamen ausgeben, ggf. sagen das es keine Ports auslesen kann (weil z.B. der IIS die IP übernommen hat die vorher der Switch hatte),...

Von daher: Guter Anfang, aber "still a long way to go!"
Member: Christian25
Christian25 Dec 31, 2010 at 19:46:30 (UTC)
Goto Top
ganz ehrlich ?

ich finds nützlich face-smile
weils sehr einfach is und schnell wo drauf gepackt
lg
Member: Dani
Dani Jan 01, 2011 at 00:11:54 (UTC)
Goto Top
Moin,
ich bin ehrlich: Sowas hilft dir im Worstcase nichts... ich schließe mich da voll und ganz maretz an.
Da investiere ich lieber Zeit in eine Software sei es Nagios oder Zabbix und weiß bei Alarm was Sache ist, als wenn das System alles OK meldet und im Hintergrund geht nichts mehr.


Grüße,
Dani
Member: brammer
brammer Jan 01, 2011 at 07:26:54 (UTC)
Goto Top
Hallo,

diese Informationen kann ich genauso schnell und wenig Aussagekräftig mit netscan bekommen.
Und dabei kann ich sogar noch diverse weitere Informationen mit auslesen.

brammer
Member: KnowSlayes
KnowSlayes Jan 05, 2011 at 23:00:24 (UTC)
Goto Top
Ist zwar ein schönes Spielzeug und man muss ja zu mindest sagen das mit der Anleitung wirklich jeder klar kommt. Aber ich glaube dies ist nur für Leute gedacht die anderen im Internet zeigen wollen was man alles hat.
Ich glaube (und hoffe) das du sowas nicht wirklich zum Anzeigen von Problemen oder ausfällen nutzt.

Mich würde der Sinn wirklich interessieren, vielleicht bin ich ja nur zu kruzsichtig.
Ich lasse mich gerne eines besseren belehren.

LG KnowSlayes
Member: bodyparts
bodyparts Jan 06, 2011 at 07:22:17 (UTC)
Goto Top
da macht sich einer die Gedanken und Arbeit und es wird hier nicht anerkannt, weil so viele schlaue Admin´s hier sind.... unglaublich!!!!!!!!

Vor Jahren hätte ich mir so etwas gewünscht, mittlerweile bin ich weiter... ( PRTG ! )

Sollte aber dennoch Respekt verdienen, daß sich einer hinsetzt und ein Tool schreibt.

Gruß
Member: EvilMoe
EvilMoe Jan 06, 2011 at 08:01:05 (UTC)
Goto Top
Wir sind hier aber auch nicht in einem xyz Kinderforum sondern in einem "Administrator Forum".
"Wir" arbeiten im Bereich IT oder beschäftigen Privat damit. Zu letzteres würde das eventuell noch passen wenn man einen groben Überblick haben möchte.

Aber jemand studiert hat und der Wirklich ein System mit mehreren 100 Client unter seine Finger hat andere Ansprüche.
Dafür reicht das kleine Script nicht aus.

Zum Script: Wenn du jetzt noch schaust ob dir der Webserver eine vernünftige Antwort gibt z.B. Status 200 und HTML dann kannst du eine aussage treffen ob der Webserver erreichbar ist und funktionsbereit.
Member: maretz
maretz Jan 06, 2011 at 08:21:39 (UTC)
Goto Top
Es wäre also deiner Meinung nach besser zu sagen: Top Script -> das haben wir uns schon lange gewünscht? Damit der Ersteller glaubt das es nen super Teil ist und jeder sowas gesucht hat? Was passiert denn wenn er damit loszieht? Dann kommen dieselben Reaktionen wie hier - nur DIE dann in deutlich anderem Ton. Stell dir mal vor das wäre "dein Azubi" - und der kommt nach 2 Wochen Arbeit mit sowas an. Meine Reaktion wäre dann: Warum fragst du nicht zwischendurch - das sind 2 Wochen Zeitverschwendung gewesen!

Und es gibt hier ja durchaus die Verbesserungsvorschläge - und DIE kommen aus der Praxis. Es ist doch einfach so: Ob das reine Blech läuft intressiert mich nur am Rande. Denn nen Server der läuft ist ja schön und gut - wenn aber grade sämtliche Dienste davon weg sind dann hilft mir wenig das der auf die IP reagiert. Nehmen wir nur mal an dein Fileserver ist "out of Space" weil 3 User da nen paar BlueRay-Images ausgetauscht haben. Die IP ist da - aber die relevanten Kennzahlen (Freier Speicher, ...) weisst du immernoch nicht. Der Dienst ist praktisch tod - aber der Ping reagiert. Also brauche ich etwas was die Dienste überwacht (und 1 Server hat ja idR. mehr als einen Dienst den er anbietet). DAFÜR gibt es ja grade SNMP usw. -> also sollte man das auch nutzen (oder eben auf andere Art die Dienste abfragen...). DANN ist das Script nutzbar...
Member: Pretre
Pretre Jan 16, 2011 at 19:47:03 (UTC)
Goto Top
Hallo Duro,
ich benutze WOL2 von http://www.oette.info/

ich finde es ist für den Homebereich sehr zu empfehlen, und nebenbei kannst du noch die PC´s über Wakeup-on-lan starten.....

Viele Grüße,
Pretre
Member: dirk
dirk Jan 29, 2011 at 00:03:52 (UTC)
Goto Top
Hallo Duro,

lass dich hier nicht entmutigen.
Zumindest für das Heimnetz finde ich das Script ganz nützlich.
Ich habe mir erlaubt, es für meine Bedürfnisse anzupassen und auch zu verwenden.
Um die Anzeige etwas deutlicher zu gestalten, zeige ich den Offline-Text in rot, und den Online-Text in grün an.

-Snip-
if(!$fp) { echo "<font color='#C00000'> Offline</font>"; } else { echo "<font color='#00C000'> Online</font>"; }  
-Snap-

Grüße,

Dirk
Member: djmugge
djmugge Feb 11, 2011 at 11:49:09 (UTC)
Goto Top
Ich teile die Meinung hier, das dies maximal für ein kleines privates Netzwerk einsetzbar ist. Die Praxis verlangt viel detailiertere und komplexere Abfragen um einen Status aussagekräftig mit akustischen Alarm oder einer Emailbenachrichtigung anzuzeigen.

Trotzdem ist es mindestens lobenswert, das er sich die Gedanken gemacht hat. Vielleicht für einen PHP Newbie der Anstoss, das ganze individuell anzupassen und auszubauen.
Member: kallewirsch
kallewirsch Mar 28, 2011 at 18:42:00 (UTC)
Goto Top
Hallo Duro,

ersteinmal herzlich willkommen hier im Forum!
Dieses Forum dient den meisten hier als Recherche-Möglichkeit zu ganz bestimmten Fehlerbildern oder kleinen nützlichen aussagekräftigen Tools, um die tägliche Arbeit zu erleichtern, bzw. zu automatisieren.
Ich schließe mich den meisten Meinungen einfach an, das die Aussagekraft Deines Scripts gleich null ist, weil weder der Status bestimmter Services oder Apps nicht abgelesen werden kann. Wenn Du allerdings Dein Script dahingehend erweitert, das bei einem Server-status gleich Online widerum ein Link gestartet werden kann, der Auskunft über vorher zu definierende Dienste gibt, dann wäre das Script hilfreicher!
Verbleibt es diesem Zustand, dann ist für \dev\null, leider mehr nicht.

Viel Spaß und Erfolg bei der Erweiterung des Scripts!

Kallewirsch
Member: dctibi
dctibi Jan 25, 2012 at 19:58:28 (UTC)
Goto Top
Ich finde sowas per PHP schon ganz nett - aber kann PHP auch mehr als diesen ping-check? Wie dieses WOL2 die MAC auslesen, sntp sowie WakeOn-LAN? Was sagen da die PHP-Gurus?