Systeminfo (z.B. Sys_GetHardDiskInfo ( ) ) im Webfront darstellen?

Link zu Script-Beispielen: http://www.ip-symcon.de/forum/f52/q-highcharts-multigraph-v1-0-a-14240/index36.html#post146887

Hallo,

so mein Remotezugang funktioniert doch, hier mal die Skripte am Beispiel der Festplattenauslastung:

Standart-Funktion aus IPS, siehe Doku:

<?
print_r(Sys_GetHarddiskInfo());
/*
Array
(
  [HDD0] => Array
      (
         [LETTER] => c:\
         [LABEL] =>
         [TOTAL] => 53684989952
         [FREE] => 23275171840
      )

  [NUMDRIVES] => 1
)
*/
?>

und hier noch das Script, welches die Daten aufbereitet die Variablen betankt, unten sind noch Nachberechnungen für den Wert „Belegter Speicherplatz“
Nicht schön, aber funktioniert.

Ich möchte noch eine Rundungsfunktion einbauen, damit keine daten mit x-Nachkommastellen in die Variablen geschrieben werden.

<?php


$parentID = IPS_GetObject($IPS_SELF);
    $parentID = $parentID['ParentID'];

    $HDDInfo = Sys_GetHardDiskInfo();
    for ($i = 0; $i < count($HDDInfo) - 1; $i++)
    {
         SetValueString(CreateVariableByName($parentID, 'HDD '.$i.' Laufwerksbuchstabe', 3, '~String'), $HDDInfo['HDD'.$i]['LETTER']);
         SetValueString(CreateVariableByName($parentID, 'HDD '.$i.' Laufwerksbezeichnung', 3, '~String'), $HDDInfo['HDD'.$i]['LABEL']);
         SetValueFloat(CreateVariableByName($parentID, 'HDD '.$i.' Gesamter Speicher', 2), ($HDDInfo['HDD'.$i] ['TOTAL'])/1073741824);
         SetValueFloat(CreateVariableByName($parentID, 'HDD '.$i.' Freier Speicher', 2), ($HDDInfo['HDD'.$i]['FREE'])/1073741824);
    }

    IPS_SetScriptTimer($IPS_SELF, 5*60);

    function CreateVariableByName($id, $name, $type, $profile = "")
    {
        global $IPS_SELF;
        $vid = @IPS_GetVariableIDByName($name, $id);
        if($vid === false)
        {
            $vid = IPS_CreateVariable($type);
            IPS_SetParent($vid, $id);
            IPS_SetName($vid, $name);
            IPS_SetInfo($vid, "this variable was created by script #$IPS_SELF");
            if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
        }
        return $vid;
    }

$HDD0_gesamt  = GetValue(29683); // ID Gesamter Speicherplatz
$HDD0_frei = GetValue(14105); // ID Freier Speicherplatz
SetValue(35661,($HDD0_gesamt-$HDD0_frei)); // Variable für belegten HDD-Speicherplatz

$HDD1_gesamt  = GetValue(36873); // ID Gesamter Speicherplatz
$HDD1_frei = GetValue(22995); // ID Freier Speicherplatz
SetValue(37034,($HDD1_gesamt-$HDD1_frei)); // Variable für belegten HDD-Speicherplatz

$HDD2_gesamt  = GetValue(30074); // ID Gesamter Speicherplatz
$HDD2_frei = GetValue(57033); // ID Freier Speicherplatz
SetValue(20462,($HDD2_gesamt-$HDD2_frei)); // Variable für belegten HDD-Speicherplatz


?>

Der Rest ist dann Highchart.

Die Werte für Anzahl Variablen, Scripte und Kategorien hole ich aus dem IPSLogger.

Hi,

ich habe mal eine kleine Frage zu dem Festplatten Skript . Wie bekommt man das hin das die Variablen im Verzeichnissbaum unter dem Skript angelegt werden wie z.B. beim Netzwerk Status (siehe Anhang)?

Einfach per Drag and Drop die Variable auf die Instanz ziehen. Voila :wink:

aber dann legt sich das Script neue Variablen an der alten stelle an.

Hat schon jemand hier System-Temperaturen (CPU-Temp, HDD-Temp, … ) gemonitort? Wenn ja, wie?

Links ist das Zauberwort.

Klicke mal mit der rechte Maustaste auf eine der Variablen und dann auf Objekt verlinken. Den Rest wirst Du selber rausfinden.

Du kannst auch mehrer Variablen gleichzeitig markieren.

wo finde ich denn den netzwerk status skript? mit der suche hab ich ihn nicht gefunden.

Hallo,

sieht mir gewaltig nach dem hier aus:
Doku-Link

Oder er sucht das hier.

Hallo,

bis V2.5 mit Speedfan und snmp.
Jetzt mit speedfan und ssnmpq.
Siehe hier: http://www.ip-symcon.de/forum/f52/auslesen-apc-smartups-usv-ssnmp-18158/#post159427

Schöne Grüße
Thomas

genau. danke!

Das funktioniert super, vielen Dank!
Leider steige ich noch nicht ganz durch - ich habe ein gemountetes Netzlaufwerk (Z:). Wie kann ich das ebenfalls einbinden?

Könntest du mir das bitte genauer erklären wie ich da Vorgehen muss, das ich dies im WebFront Visiualisieren kann?
Kann ich dein Script verwenden, oder muss ich da noch etwas ändern/anpassen? Wie kann ich das Script hochladen auf IPS?

Danke

[ul]
[li]in IPS einfach ein neues Skript einfügen[/li][li]Skripttext von Horst kopieren (STRG + C)[/li][li]Skripttext in das neuangelegte Sktipt einfügen (STRG + V)[/li][li]Skript ausführen (Button oben rechts)[/li][li]es werden dabei automatisch Variablen erzeugt, die automatisch in WebFront dargestellt werden. Bei Bedarf kann man bei den Variablen noch die Logging-Fkt aktivieren[/li][/ul]

Ich habe das Skript bei mir auch gerade durchgeführt und musste dabei nichts verändern.
Habe lediglich die Skriptautomatisierung von 300s auf 25s reduziert:

IPS_SetScriptTimer($IPS_SELF, 5*60);

IPS_SetScriptTimer($IPS_SELF, 5*60*0 + 25);

Grüße Thomas

PS: Horst, vielen Dank für das Skript

Super, Danke :slight_smile:

Hat da niemand eine Antwort?

Ich bin mir nicht sicher, aber ich denke bei Netzlaufwerken ist das schwierig. Außer Du hast es z.B. per iSCSI angebunden.

Hi, kurze Frage:

Hab das Script von Horst mal versucht zum ausführen aber leider werden mir keine Variablen angelegt.

Das einzige was von alleine angelegt wird, ist der Timer.

Gibts hier unterschiede in den Befehlen zur Version 4.0 und drunter?

Zumindest was ich gesehen hab in der Doku, wird das Array nicht mehr als „HDD0“ zurückgegeben sondern nur noch als „0“
Was muss ich denn hierzu am Script von Horst ändern?

Danke schon mal :slight_smile:

Der Beitrag ist mehr als 3 Jahre alt, da hat sich schon einiges verändert. Die Doku hilft und listet die Änderungen auch auf z.B.

Sys_GetCPUInfo — IP-Symcon :: Automatisierungssoftware
Sys_GetHardDiskInfo — IP-Symcon :: Automatisierungssoftware