Ankündigung

Einklappen
Keine Ankündigung bisher.

Systeminformationen unter Linux auslesen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SteiniKeule
    hat ein Thema erstellt Systeminformationen unter Linux auslesen.

    Systeminformationen unter Linux auslesen

    Hallo

    Es gibt einige Tools für Debian / Ubuntu / ... , die Informationen zur CPU, RAM, SWAP, Disk anzeigen können. Woher kommen die angezeigten Informationen?
    Wenn man neben einer realtime Chart auch einen Langzeitlog erstellen möchte, was wäre da der beste Ansatz?
    Manche Tools wie z.B. iostat zeigen die Auslastung in % an. Woher wissen die Tools, was 100% ist? Erkennen die irgendwie dem max. Durchsatz anhand entstehender io-delays?

    Für mich wäre interessant:
    Anzahl der CPU -Kerne / Threads
    Auslastung pro Kern / Thread
    Durchschnittliche Auslastung aller Kerne.
    Disk IO-Delay
    Disk Read/Write (MB/s)
    Disk Speicherplatzbelegung
    Disk IO-Auslastung in Prozent
    RAM Total
    RAM Auslastung
    RAM Reserviert

    Vielleicht hat jemand Erfahrungen oder Ideen, wie ich solche Werte abfragen und mit PHP auswerten & darstellen kann.

  • JaMa
    antwortet
    Zum Ursprung der Werte:
    Tools wie iostat, top, ps o.ä. sind nur Utilities die die Daten Benutzerfreundlicher wiedergeben. Die eigentlichen Informationen kommen aus dem Kernel selbst - über das ProcFS (Prozesse & Legacy) oder SysFS.
    https://man7.org/linux/man-pages/man5/sysfs.5.html
    https://man7.org/linux/man-pages/man5/proc.5.html

    Je nachdem welche Informationen du benötigst, kannst du die Daten auch direkt über o.g. Dateisysteme abfragen, ohne den Umweg über einen extra Prozess zu machen.

    EDIT:
    Ergänzend gibt es natürlich Hardwarespezifische Werte, die dann direkt über den Treiber ausgeliefert werden. Beispiel dafür ist S.M.A.R.T, welches bspw. über ATA angesteuert wird.

    Einen Kommentar schreiben:


  • fastix
    antwortet
    [selbst gelöscht]

    Einen Kommentar schreiben:


  • fastix
    antwortet
    [selbst gelöscht]

    Einen Kommentar schreiben:


  • Blar
    antwortet
    Versuch mal mal z.B. mit:

    PHP-Code:
    $json shell_exec('lsblk --json --bytes');
    $values json_decode($json);
    var_dump($values); 
    hier gibt es unter anderem:

    lscpu --json --bytes
    lsmem --json --bytes
    lsblk --json --bytes

    Einen Kommentar schreiben:


  • tomBuilder
    antwortet
    http://nmon.sourceforge.net/pmwiki.php

    Einen Kommentar schreiben:


  • Meister1900
    antwortet
    Zitat von SteiniKeule Beitrag anzeigen

    Hast du irgendwelche Empfehlungen?
    Nagios, Icinga, CheckMK

    Einen Kommentar schreiben:


  • SteiniKeule
    antwortet
    Zitat von hellbringer Beitrag anzeigen

    Ich würde mir eine Software suchen, die das macht.
    Hast du irgendwelche Empfehlungen?

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Zitat von SteiniKeule Beitrag anzeigen
    Wie würdest du dann einen Verlauf / Auswertung der letzten Stunden, Tage, Wochen machen?
    Ich würde mir eine Software suchen, die das macht.

    Einen Kommentar schreiben:


  • protestix
    antwortet
    Gar nicht, mich interessierst das Thema nicht, aber andere haben das sicher mehr Erfahrung und können etwas dazu sagen.
    Die Frage ist ja auch warum du das in PHP lösen willst?

    Einen Kommentar schreiben:


  • SteiniKeule
    antwortet
    Danke für die Links.
    Wie würdest du dann einen Verlauf / Auswertung der letzten Stunden, Tage, Wochen machen?

    Einen Kommentar schreiben:


  • protestix
    antwortet
    Einige Informationen stellt dir Linux direkt zur Verfügung, andere wie die HD-Temperatur bekommt nur mit speziell installierten Tools mitgeteit.

    Die Information kann man mit exec auslesen.
    PHP-Code:
    <?php
    // show CPU Cores
    exec("nproc 2>&1"$retArr$retVal);
    echo 
    "Anzahl der CPU-Kerne:"$retArr[0];

    // show information about memory use
    exec("free --mega 2>&1"$retArr$retVal);
    echo 
    "<pre>";
    print_r($retArr);
    echo 
    "</pre>";
    ?>
    Siehe https://www.man7.org/linux/man-pages/man1/free.1.html
    https://man7.org/linux/man-pages/man1/nproc.1.html
    https://linoxide.com/10-tools-monito...-command-line/

    Loggen würde ich das mit PHP aber wohl eher nicht.

    Einen Kommentar schreiben:

Lädt...
X