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.
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 "; } else { echo "Online "; } ?>
bei mir sieht das ganze so aus:
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 "; } else { echo "Online "; } ?>
bei mir sieht das ganze so aus:
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157679
Url: https://administrator.de/contentid/157679
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
14 Kommentare
Neuester Kommentar
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
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...
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...
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!"
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!"
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
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
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
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
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ß
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ß
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.
"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.
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...
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...
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
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
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.
Grüße,
Dirk
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
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.
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.
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
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