Webserver Statistik aufbauen


EuroCent

KlappStuhl 2.0
#1
Hallo zusammen,

ich bin gerade dabei via PHP eine Statistik aufzubauen. :)

Ansatz wie:
PHP:
<?php
    $com = new COM('winmgmts://');
    $processor = $com->ExecQuery("SELECT * FROM Win32_Processor");

    foreach($processor as $obj) {
        $cpuLoadTime = $obj->LoadPercentage;
        $name_ = $obj->Name;
        $maxSpeed = $obj->MaxClockSpeed;
    }

    echo "CPU Auslastung: ".$cpuLoadTime." &percnt;<br />";

    $sys = $com->ExecQuery("SELECT * FROM Win32_OperatingSystem");
    foreach($sys as $obj2) {
        $memoryMax = $obj2->TotalVirtualMemorySize;
        $memory = $obj2->FreePhysicalMemory;
        $version = $obj2->Version;
        $name = $obj2->Name;
        $name2 = explode('|', $name);
    }

    echo "Arbeitsspeicher: ".number_format(((($memoryMax - $memory) / 1024) / 1024), '2')." / ".number_format((($memoryMax / 1024) / 1024 ), '2')." GBytes<br />";
    echo "Betriebssystem: ".$name2[0]."<br />";
    echo "Version: ".$version."<br />";
    echo "Prozessor Name: ".$name_."<br />";
    echo "Speed: ".$maxSpeed."<br />";
?>
hab Ich schon...

Seite: CIMWin32 WMI Providers - Windows applications

Ich habe dort allerdings keine Informationen gefunden wie Ich Daten der Datenbank bekomme.
Hier dachte Ich eventuell an eine PHP Datei, die ein JSON zurück liefert und man mittels API die Daten hole und auslese.

Denn Ich benötigte von dem Server entsprechend die Auslastung des Servers (Servername (Name), CPU, RAM, HDD) selbst, und vom Datenbank-Server (Anfrage heute, Anfragen gesamt, Tabellen (Tabellen-Size), letzte Error-Meldung wenn vorhanden);

Da wir mehrere V-Server haben, auf denen das selbige läuft, benötigen wir eben diese Statistik.
Um bei einem Fehler oder Datenbank Problem sofort agieren zu können, ohne dass wir erst Tickets bearbeiten müssen :)

Die Server sind alle Firmen-Intern und man kann auch von draussen nicht zugriefen.
https://servername.name.local
https://servername2.name.local
https://servername3.name.local
https://servername4.name.local

Hat hier jemand eine Idee?
 

ComFreek

Mod | @comfreek
Moderator
#2
Ich habe dort allerdings keine Informationen gefunden wie Ich Daten der Datenbank bekomme.
Welche Datenbank? Redest du von MySQL/Oracle/SQLite/... als DBMS? Dann findest du in der entsprechenden Doku des Herstellers (+ der des Driver-Erstellers für PHP) die gesuchten Schnittstellen.

Hier dachte Ich eventuell an eine PHP Datei, die ein JSON zurück liefert und man mittels API die Daten hole und auslese.
Joa, wenn ihr das mit dem firmeninternen Zugriff durchdacht habt, klingt das erstmal sinnvoll :)
 

EuroCent

KlappStuhl 2.0
#3
Ja wir verwenden zum einen MSSQL und Oracle SQL :)

Dann werd Ich wohl dort nochmal schauen müssen, hatte da nur nichts finden können, oder bin zu blöd dafür :D