Files
web.ems/wxc2_omc/fault/raidStatus/function.inc
agtuser 16a3fd1e1b init
2024-11-11 17:56:00 +08:00

212 lines
5.0 KiB
PHP
Executable File

<?php
function GetConfInfo()
{
$handle=fopen("/usr/local/omc/bin/conf/raid.conf","r");
while(($line=fgets($handle)))
{
if(strstr($line,"#"))
continue;
if(strstr($line,"SystemType="))
{
$sp=explode("SystemType=",$line);
$confInfo[SystemType]=trim($sp[1]);
}
else if(strstr($line,"EMS,"))
{
if(strcmp($confInfo[SystemType],"MCSS") == 0)
{
if(strstr($line,"Intel"))
$confInfo[ServerType][0]=0;
else
$confInfo[ServerType][0]=1;
}
}
else if(strstr($line,"MSS,"))
{
if(strstr($line,"Intel"))
$confInfo[ServerType][320]=0;
else
$confInfo[ServerType][320]=1;
}
else if(strstr($line,"VMS,"))
{
if(strstr($line,"Intel"))
$confInfo[ServerType][390]=0;
else
$confInfo[ServerType][390]=1;
}
else if(strstr($line,"RCM,"))
{
if(strstr($line,"Intel"))
$confInfo[ServerType][395]=0;
else
$confInfo[ServerType][395]=1;
}
else if(strstr($line,"MCMS,"))
{
if(strcmp($confInfo[SystemType],"MCSS") != 0)
{
if(strstr($line,"Intel"))
$confInfo[ServerType][0]=0;
else
$confInfo[ServerType][0]=1;
}
}
}
fclose($handle);
return $confInfo;
}
function getOmcSysNo()
{
$omcSysNo=0;
$handle=fopen("/usr/local/omc/bin/conf/omcd.conf","r");
while(($line=fgets($handle)))
{
if(strstr($line,"#"))
continue;
if(strstr($line,"omcSysNo="))
{
$sp=explode("omcSysNo=",$line);
$omcSysNo=trim($sp[1]);
break;
}
}
fclose($handle);
return $omcSysNo;
}
function GetDiskInfo($sysTypeNo,$sysNo)
{
$sysTypeNo=$_REQUEST['sysTypeNo'];
$sysNo=$_REQUEST['sysNo'];
global $OMC_server;
$raidConn = mysqli_connect($OMC_server[0]['host'],$OMC_server[0]['user'],$OMC_server[0]['password'], "RAID_DB");
$sql="select * from RAID_DB.raid_status where sysTypeNo=$sysTypeNo and sysNo=$sysNo ";
$res=mysqli_query($raidConn,$sql);
$num=mysqli_num_rows($res);
$diskInfo[DiskCount][Value]=0;
$diskInfo[DiskCount][Color]="#000000";
$confInfo=GetConfInfo();
switch($sysTypeNo)
{
case 0:
if(strcmp($confInfo[SystemType],"MCSS") == 0)
$diskInfo[ServerName][Value]="EMS-".$sysNo;
else
$diskInfo[ServerName][Value]="MCMS-".$sysNo;
break;
case 320:
$diskInfo[ServerName][Value]="MSS-".$sysNo;
break;
case 390:
$diskInfo[ServerName][Value]="VMS-".$sysNo;
break;
case 395:
$diskInfo[ServerName][Value]="RCM-".$sysNo;
break;
}
$diskInfo[ServerName][Color]="#000000";
$diskInfo[UpdateTime][Value]="0000-00-00 00:00:00";
$diskInfo[UpdateTime][Color]="#ff0000";
for($i=0;$i<$num;$i++)
{
$row=@mysqli_fetch_array($res);
if($row[updateTime] >= $diskInfo[UpdateTime][Value])
$diskInfo[UpdateTime][Value]=$row[updateTime];
if(strcmp($row[fieldName],"CardName") == 0)
{
$diskInfo[CardName][Value]=$row[fieldValue];
$diskInfo[CardName][Color]="#000000";
}
else if(strcmp($row[fieldName],"DiskNum") == 0)
{
$diskInfo[DiskCount][Value]=$row[fieldValue]-0;
$diskInfo[DiskCount][Color]="#000000";
}
else if(strcmp($row[fieldName],"DiskState") == 0)
{
$value=$row[fieldValue]-0;
//Intel
if($confInfo[ServerType][$sysTypeNo] == 0)
{
switch($value)
{
case 24:
$diskInfo[$disk_no][DiskState][Value]="Online";
$diskInfo[$disk_no][DiskState][Color]="#0000ff";
break;
case 16:
$diskInfo[$disk_no][DiskState][Value]="Offline";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
case 17:
$diskInfo[$disk_no][DiskState][Value]="Failed";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
case 20:
$diskInfo[$disk_no][DiskState][Value]="Rebuild";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
default:
$diskInfo[$disk_no][DiskState][Value]="Unknown";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
}
}
//Dell
else
{
switch($value)
{
case 3:
$diskInfo[$disk_no][DiskState][Value]="Online";
$diskInfo[$disk_no][DiskState][Color]="#0000ff";
break;
case 4:
$diskInfo[$disk_no][DiskState][Value]="Offline";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
case 2:
$diskInfo[$disk_no][DiskState][Value]="Failed";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
case 24:
$diskInfo[$disk_no][DiskState][Value]="Rebuild";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
default:
$diskInfo[$disk_no][DiskState][Value]="Unknown";
$diskInfo[$disk_no][DiskState][Color]="#ff0000";
break;
}
}
}
else
{
$disk_no=$row[instance]-0;
$diskInfo[$disk_no][$row[fieldName]][Value]=$row[fieldValue];
$diskInfo[$disk_no][$row[fieldName]][Color]="#000000";
}
}
$refresh_time=$diskInfo[UpdateTime][Value];
$due_date=date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")-60,date("m"),date("d"),date("Y")));
$ove_date=date("Y-m-d H:i:s",mktime(date("H"),date("i"),date("s")+60,date("m"),date("d"),date("Y")));
if($refresh_time < $due_date || $refresh_time > $ove_date)
$diskInfo[UpdateTime][Color]="#ff0000";
else
$diskInfo[UpdateTime][Color]="#0000ff";
return $diskInfo;
}
?>