Statusabfrage des Servers für HP

  • Huhu,


    ich würde gerne für eine kleine HTML Seite (maybe auch PHP) einen Status meiner Server einbinden.


    Mindestens wollte ich die Anzeige haben (Server online/offline) und wenns geht (also optimal) sogar die Loadanzeige.

  • PHPsysInfo ist dafür ausgelegt den Server auszulesen auf dem es läuft.
    Hab nochmal gegoogelt und nur altes Zeugs gefunden (php Get Abfragen)
    Leider fragen die alle via http:// ab ^^ was mir nichts hilft wenn kein Webserver auf dem Server läuft.


    Pauschal würde ich sagen das sowas wie ein "if ping positive" Script was helfen würde, aber ohne laufenden Webserver und mit der Möglichkeit spezielle Ports anzusprechen wirds dann schon wieder zwieblig...


    Hab was sowas angeht nur kostenpflichtige schweineteure Lösungen gefunden.


    Sowas: Beispiel

  • Hab dank diverser Google Ergebnisse nun ein PHP Script mit fsockopen realisiert.
    Ich teste einfach die Verbindung zu verschiedenen IPs + versch. Ports und kann so sogar einzelne Dienste testen.
    Derzeit HTTP/FTP/MYSQL/POP3/SMTP
    Alternativ kann ich damit nun auch eine Abfrage für meine TS2 und meine Gameserver einrichten.


    Ich versuch das ganze nun brauchbar zu gestalten, vielleicht packe ich es dann auch hier ins Forum wenn ich mich durch die noch so vielen Möglichkeiten gearbeitet habe die mir das fsockopen mit etwas bastelei bietet.

  • inwiefern im Hintergrund, also nur ein "ssh" tool welches den Status in gewissen abständen in ein File schreibt was wiederum via PHP ausgelesen wird?


    Ich überlege evtl. einfach eine statische Anzeige zu bauen... aber das trifft nicht wirklich den Sinn einer Statusanzeige...
    naja mal gucken wie gut das fsock Script läuft wenn es fertig ist (inkl. Design).

  • Hi,


    die Frage ist ja noch, welchen Status du anzeigen willst; Server online kann ja alles heißen: Er ist anpingbar und antwortet, ob Apache oder MySQL korrekt läuft, wird ja so nicht gesagt ;)


    Nur um zu gucken, ob der Server antwortet, da kannst du ihn ja von einem anderen Rechner anpingen (Skripte gibts da sicherlich).


    Gruß,


    Stefan

  • Zitat von Alexander W.H. Wachert;717

    wollte eigentlich nur nen Ping ob der Server läuft.
    Jetzt bin ich soweit das ich via Port Abfrage welche Dienste laufen (ping an den Port)


    wobei dir das auch nicht wirklich hilft,wenn der Port da ist muss es nicht zwangsläufig heißen, dass der Server auf diesem Port auch Anfragen abnimmt.


    Bsp: httpd läuft immer einmal als root und forked dann kleine Childs, je nachdem, ob Anfragen da sind.
    Stirbt der root httpd aus irgendeinem Grund nicht sauber, hängen sich die Childs an UID 1, können allerdings nicht forken. Sie Antworten also auf PORT 80, können das ganze aber nicht weiterverarbeiten.


    Das einzige was dabei wirklich hilft ist meiner Meinung nach Active Probing, soll heißen: Ein Skript was einen Socket öffnet und diesen dann wieder schließt und bei Erfolg eben irgendwas zurückliefert und bei Misserfolg auch.


    Grüße,
    Benny

  • Ich hab noch ne alternative, einfaches Script, den Code als (z.B.) srvmimo.pl speichern und in das CGI-BIN-Verzeichnis packen. Das Script ist aber nicht von mir.


    Nachteil: geht nur mit einer IP oder Host. Für mehere Überwachungen kann das aber leicht angepasst werden. Und man bekommt auch keine Mail, Logeintrag usw.