Hallo zusammen,
ich habe das Script noch um die Netzwerkkarten erweitert. Das Loopback Interface wird nicht angelegt. Die IPS Systemdaten werden jetzt in MB Angezeigt. Die Netzwerkdaten sind in KB angelegt.
Die Installation geht genau so wie das Script davor.
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : SystemInfo.ips.php
Trigger :
Interval :
*/
$suffix="Sys";
$initial=true;
// IPS Process Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."IpsHandlecount",$suffix."IpsNumthreads",$suffix."IpsVirtualsize",
$suffix."IpsWorkingsize",$suffix."IpsPagefile",$suffix."ProcessCount");
varfloatcheck($IpsIntVars);
}
$PInfo=Sys_GetProcessInfo();
SetValueFloat($suffix."IpsHandlecount",(Float)$PInfo["IPS_HANDLECOUNT"]);
SetValueFloat($suffix."IpsNumthreads",(Float)$PInfo["IPS_NUMTHREADS"]);
SetValueFloat($suffix."IpsVirtualsize",round($PInfo["IPS_VIRTUALSIZE"]/1024/1024,0));
SetValueFloat($suffix."IpsWorkingsize",round($PInfo["IPS_WORKINGSETSIZE"]/1024/1024,0));
SetValueFloat($suffix."IpsPagefile",round($PInfo["IPS_PAGEFILE"]/1024/1024,0));
SetValueFloat($suffix."ProcessCount",(Float)$PInfo["PROCESSCOUNT"]);
// System Memory Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."MemTotalPysical",$suffix."MemAvailPhysical",
$suffix."MemTotalPageFile",$suffix."MemAvailPageFile",$suffix."MemTotalVirtual",
$suffix."MemAvailVirtual");
varfloatcheck($IpsIntVars);
}
$MInfo=Sys_GetMemoryInfo();
SetValueFloat($suffix."MemTotalPysical",round($MInfo["TOTALPHYSICAL"]/1024/1024,0));
SetValueFloat($suffix."MemAvailPhysical",round($MInfo["AVAILPHYSICAL"]/1024/1024,0));
SetValueFloat($suffix."MemTotalPageFile",round($MInfo["TOTALPAGEFILE"]/1024/1024,0));
SetValueFloat($suffix."MemAvailPageFile",round($MInfo["AVAILPAGEFILE"]/1024/1024,0));
SetValueFloat($suffix."MemTotalVirtual",round($MInfo["TOTALVIRTUAL"]/1024/1024,0));
SetValueFloat($suffix."MemAvailVirtual",round($MInfo["AVAILVIRTUAL"]/1024/1024,0));
// System CPU Info in IPS Variablen schreiben
if ($initial) {
$IpsIntVars=array($suffix."CPU0",$suffix."CPUAverage",);
varfloatcheck($IpsIntVars);
}
$CPUInfo=Sys_GetCPUInfo();
SetValueFloat($suffix."CPU0",(Float)$CPUInfo["CPU_0"]);
SetValueFloat($suffix."CPUAverage",(Float)$CPUInfo["CPU_AVG"]);
// System HDD Info in IPS Variablen schreiben
$HDDInfo=Sys_GetHardDiskInfo();
$HD=0;
while ($HD < $HDDInfo["NUMDRIVES"]){
if ($initial) {
$IpsIntVars=array($suffix."Hdd".$HD."TotalMem",$suffix."Hdd".$HD."FreeMem",);
$IpsStrVars=array($suffix."Hdd".$HD."Letter",$suffix."Hdd".$HD."Label",);
varfloatcheck($IpsIntVars);
varstrcheck($IpsStrVars);
}
SetValueFloat($suffix."Hdd".$HD."TotalMem",round($HDDInfo["HDD".$HD]["TOTAL"]/1024/1024,0));
SetValueFloat($suffix."Hdd".$HD."FreeMem",round($HDDInfo["HDD".$HD]["FREE"]/1024/1024,0));
SetValueString($suffix."Hdd".$HD."Letter",(string)$HDDInfo["HDD".$HD]["LETTER"]);
SetValueString($suffix."Hdd".$HD."Label",(string)$HDDInfo["HDD".$HD]["LABEL"]);
$HD=$HD+1;
}
// System Net Info in IPS Variablen schreiben
$NetInfo=Sys_GetNetworkInfo();
$Net=0;
while ($Net < count($NetInfo)){
if ($initial && $NetInfo[$Net]["MAC"]<>"00-00-00-00-00-00") {
$IpsIntVars=array($suffix."Net".$Net."InSec",$suffix."Net".$Net."InAvgSec",
$suffix."Net".$Net."InPeakSec",$suffix."Net".$Net."InTotal",
$suffix."Net".$Net."OutSec",$suffix."Net".$Net."OutAvgSec",
$suffix."Net".$Net."OutPeakSec",$suffix."Net".$Net."OutTotal",);
$IpsStrVars=array($suffix."Net".$Net."IP",$suffix."Net".$Net."Mac",);
varfloatcheck($IpsIntVars);
varstrcheck($IpsStrVars);
}
if ($NetInfo[$Net]["MAC"]<>"00-00-00-00-00-00") {
SetValueFloat($suffix."Net".$Net."InSec",round($NetInfo[$Net]["InPerSec"]/1024,3));
SetValueFloat($suffix."Net".$Net."InAvgSec",round($NetInfo[$Net]["AverageInPerSec"]/1024,0));
SetValueFloat($suffix."Net".$Net."InPeakSec",round($NetInfo[$Net]["PeakInPerSec"]/1024,0));
SetValueFloat($suffix."Net".$Net."InTotal",round($NetInfo[$Net]["InTotal"]/1024,0));
SetValueFloat($suffix."Net".$Net."OutSec",round($NetInfo[$Net]["OutPerSec"]/1024,3));
SetValueFloat($suffix."Net".$Net."OutAvgSec",round($NetInfo[$Net]["AverageOutPerSec"]/1024,0));
SetValueFloat($suffix."Net".$Net."OutPeakSec",round($NetInfo[$Net]["PeakOutPerSec"]/1024,0));
SetValueFloat($suffix."Net".$Net."OutTotal",round($NetInfo[$Net]["OutTotal"]/1024,0));
SetValueString($suffix."Net".$Net."IP",(string)$NetInfo[$Net]["IP"]);
SetValueString($suffix."Net".$Net."Mac",(string)$NetInfo[$Net]["MAC"]);
}
$Net=$Net+1;
}
function varfloatcheck($var){
$i=0;
while ($i < count($var)){
if (!IPS_VariableExists($var[$i])) {
if (IPS_CreateVariable((string)$var[$i],"Float")) {
echo $var[$i]."/Float wurde angelegt
";
}
else {
echo $var[$i]."/Float konnte nicht angelegt werden
";
}
}
else {
echo $var[$i]." existiert bereits
";
}
$i=$i+1;
}
}
function varstrcheck($var){
$i=0;
while ($i < count($var)){
if (!IPS_VariableExists($var[$i])) {
if (IPS_CreateVariable((string)$var[$i],"String")) {
echo $var[$i]."/String wurde angelegt
";
}
else {
echo $var[$i]."/String konnte nicht angelegt werden
";
}
}
else {
echo $var[$i]." existiert bereits
";
}
$i=$i+1;
}
}
?>
Gruß
Oliver