423 lines
12 KiB
Plaintext
423 lines
12 KiB
Plaintext
<?
|
|
$serviceType = isset($_GET['service_type']) ? $_GET['service_type'] : $_POST['service_type'];
|
|
if($serviceType == "") $serviceType = 9;
|
|
//serviceType : the order described in conf file. --_-;
|
|
|
|
?>
|
|
<html>
|
|
<head>
|
|
<title>######## SYSTEM-HOSTING SERVICE STATUS ######## </title>
|
|
<STYLE type=text/css>
|
|
TD { FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: 'ARIAL,±¼¸²Ã¼'; TEXT-DECORATION: none; }
|
|
TR { FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: 'ARIAL,±¼¸²Ã¼'; TEXT-DECORATION: none; }
|
|
TABLE { FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: 'ARIAL,±¼¸²Ã¼'; TEXT-DECORATION: none; line-height : 120%}
|
|
INPUT { FONT-SIZE: 9pt; COLOR: #000000; FONT-FAMILY: 'ARIAL,±¼¸²Ã¼'; TEXT-DECORATION: none; line-height : 120%}
|
|
}
|
|
</STYLE>
|
|
<meta http-equiv="Cache-Control" content="no-cache"/>
|
|
<meta http-equiv="Expires" content="0"/>
|
|
<meta http-equiv="Pragma" content="no-cache"/>
|
|
<link rel="stylesheet" href="clockstyle.css" type="text/css">
|
|
<style type="text/css">
|
|
#tooltip {position:absolute;
|
|
top:5;
|
|
left:5;
|
|
border:solid 3 ffccff;
|
|
background:ffffcc;
|
|
color:660066;
|
|
font-size:9pt;
|
|
width:200;
|
|
height:20;
|
|
padding:2;
|
|
overflow:hidden;
|
|
z-index:10;
|
|
display:none;
|
|
}
|
|
</style>
|
|
<? require "layer.js";?>
|
|
<script language="javascript1.2" type="text/javascript" src="clock.js" ></script>
|
|
<script language="JavaScript">
|
|
<!--
|
|
function changeVisual()
|
|
{
|
|
fr = document.frm;
|
|
|
|
if(fr.chk.value == 0) {
|
|
fr.chk.value = 1;
|
|
info.style.display="block";
|
|
} else {
|
|
fr.chk.value = 0;
|
|
info.style.display="none";
|
|
}
|
|
}
|
|
//-->
|
|
</script>
|
|
</head>
|
|
|
|
<body onLoad="UpdateClocks()">
|
|
<form name="frm" action=<?=$PHP_SELF?> method=POST>
|
|
<input type="hidden" name="service_type" value="<?= $serviceType ?>">
|
|
<table border="0" cellspacing="0" width="100%">
|
|
<tr bgcolor=#003366 class="ratNavText">
|
|
<td ID="Clock0" width="25%" > </td>
|
|
<td ID="Clock1" width="25%" > </td>
|
|
<td ID="Clock2" width="25%" > </td>
|
|
<td ID="Clock3" width="25%" > </td>
|
|
</tr>
|
|
<tr bgcolor=#003366 class="ratNavText">
|
|
<td ID="Clock4" width="25%" > </td>
|
|
<td ID="Clock5" width="25%" > </td>
|
|
<td ID="Clock6" width="25%" > </td>
|
|
<td ID="Clock7" width="25%" > </td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<table border="0" cellspacing="1" width="530" align="center">
|
|
<tr align="center">
|
|
<td> <h3>######## SYSTEM-HOSTING SERVICE STATUS ########</h3></td>
|
|
</tr>
|
|
</table>
|
|
<marquee id="tooltip" name="tooltip"></marquee>
|
|
<?
|
|
$server_addr[0][0] = "127.0.0.1";
|
|
$server_addr[0][1] = "30001";
|
|
$server_addr[0][2] = "DREAMLINE-1";
|
|
|
|
$tot = count($server_addr);
|
|
for($i=0; $i < $tot; $i++){
|
|
|
|
if($i%3 == 0) echo "<table align=\"center\"><tr>";
|
|
|
|
$fp = @fsockopen("udp://{$server_addr[$i][0]}", $server_addr[$i][1], $errno, $errstr);
|
|
if (!$fp) {
|
|
echo "ERROR: $errno - $errstr<br>\n";
|
|
continue;
|
|
} else {
|
|
fwrite($fp,"GET_SERVSTATUS", 15);
|
|
while(1) {
|
|
$test2 = fread($fp, 2048);
|
|
$test .= trim($test2);
|
|
$j = strlen($test2);
|
|
if($j < 1024) break;
|
|
}
|
|
fclose($fp);
|
|
}
|
|
?>
|
|
<td valign=top>
|
|
<?
|
|
//echo "<!--".$test."-->";
|
|
//$test = str_replace("1|6|SORIBADA_DB01|222.122.153.2|5432|1151049193|-|-|-|-|\r\n1|6|SORIBADA_DB03|222.122.153.4|5432|1151049193|-|-|-|-|\r\n", "", $test);
|
|
$pt = new parsePipe();
|
|
$test = $pt->nullTrim($test);
|
|
//echo "<!--".$test."-->";
|
|
$tmpArr = $pt->textArr($test);
|
|
$serviceName = $pt->serviceName($test);
|
|
$result = $pt->parseIt($tmpArr[$serviceType]);
|
|
$tot_tr = $pt->countIt();
|
|
|
|
if($serviceName[$serviceType] != 'INCOK') exit;
|
|
|
|
?>
|
|
<table border=1 cellpadding=1 cellspacing=0>
|
|
<tr height="60">
|
|
<td colspan="9">
|
|
<center><b>
|
|
<font color="#000066" size="5">
|
|
<?= $serviceName[$serviceType] ?><br><br>
|
|
</font>
|
|
</b>
|
|
</center>
|
|
</td>
|
|
</tr>
|
|
<tr align="center">
|
|
<td width="170"><center><b><font color="#000066">Name</font></b></center></td>
|
|
<td width="110"><center><b><font color="#000066">Server IP</font></b></center></td>
|
|
<td width="50"><center><b><font color="#000066">Server Port</font></b></center></td>
|
|
<td width="150"><center><b><font color="#000066">Last Status Changed At</font></b></center></td>
|
|
<td width="150"><center><b><font color="#000066">Last Disk Checked At</font></b></center></td>
|
|
<td width="170"><center><b><font color="#000066">Domain</font></b></center></td>
|
|
<td width="70"><center><b><font color="#000066">Total Disk</font></b></center></td>
|
|
<td width="70"><center><b><font color="#000066">Free</font></b></center></td>
|
|
<td width="70"><center><b><font color="#000066">Used</font></b></center></td>
|
|
</tr>
|
|
<?
|
|
|
|
$totalDisk = 0;
|
|
$freeDisk = 0;
|
|
$usedDisk = 0;
|
|
for($j=0; $j<$tot_tr; $j++){
|
|
$alt_str = "[$j]".
|
|
" [SERVER STATUS] : ".$pt->translateIt($result[$j][0], 2).
|
|
" [SERVER NAME] : ".$result[$j][2].
|
|
" [SERVER IP] : ".$pt->translateIt($result[$j][3],3).
|
|
" [SERVER PORT] : ".$pt->translateIt($result[$j][4],4);
|
|
$totalDisk += $result[$j][8];
|
|
$freeDisk += $result[$j][9];
|
|
$usedDisk += ($result[$j][8] - $result[$j][9]);
|
|
|
|
if($result[$j][2]=="INCOK_NS_DB01" || $result[$j][2] == "INCOK_NS_DB02" || $result[$j][2] == "INCOK_NS_DB03")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
?>
|
|
<span onmouseover="showtip('<?=$alt_str?>');" onmouseout="hidetip();">
|
|
<tr>
|
|
<td>(<?=$pt->translateIt($result[$j][0],1)?> <?=$pt->translateIt($result[$j][1],0)?>) <?=$result[$j][2]?></td>
|
|
<td align="center"><?=$pt->translateIt($result[$j][3],3)?></td>
|
|
<td align="center"><?=$pt->translateIt($result[$j][4],4)?></td>
|
|
<td align="center"><?=date("Y-m-d H:i:s", $result[$j][5])?></td>
|
|
<td align="center">
|
|
<?
|
|
if ($result[$j][6] == "-" || $result[$j][6] == "") {
|
|
echo "-";
|
|
} else {
|
|
echo date("Y-m-d H:i:s", $result[$j][6]);
|
|
}
|
|
?></td>
|
|
<td align="center"><?=$pt->translateIt($result[$j][7],7)?></td>
|
|
<td align="center"><?=$pt->translateIt($result[$j][8],8)?></td>
|
|
<td align="center" bgcolor="<?=$pt->translateIt($result[$j][10],100)?>"><?=$pt->translateIt(trim($result[$j][9]), 8)?></td>
|
|
<td align="center">
|
|
<?
|
|
if($result[$j][8] == "-" || $result[$j][8] == "") echo "-";
|
|
else if($result[$j][8] == "0") echo "disabled";
|
|
else echo $pt->translateIt($result[$j][8]-$result[$j][9], 8);
|
|
?>
|
|
</td>
|
|
</tr>
|
|
</span>
|
|
<?
|
|
}
|
|
?>
|
|
<tr>
|
|
<td align="center" colspan="6"><b>Storage Total</b></td>
|
|
<td align="center"><?= ($totalDisk == "") ? "-" : $pt->translateIt($totalDisk, 9)?></td>
|
|
<td align="center"><?= ($totalDisk == "") ? "-" : $pt->translateIt($freeDisk, 9)?></td>
|
|
<td align="center"><?= ($totalDisk == "") ? "-" : $pt->translateIt($usedDisk, 9)?></td>
|
|
</tr>
|
|
|
|
</table></td>
|
|
<?
|
|
if($i%3 == 2) echo "</table></tr>"; //
|
|
}
|
|
?>
|
|
<table>
|
|
</table>
|
|
<?
|
|
|
|
////////////////////
|
|
//Print REFRESHER
|
|
////////////////////
|
|
|
|
extract($_POST);
|
|
if($refresh_rate<1 || $refresh_rate>1000)
|
|
$refresh_rate = 60;
|
|
|
|
?>
|
|
<br>
|
|
<table align="center">
|
|
<tr>
|
|
<td>
|
|
|
|
Refresh Rate :
|
|
<input type=text name=refresh_rate value=<?=$refresh_rate?>>
|
|
<input type=submit value=SET>
|
|
(MIN : 1, MAX : 1000)
|
|
<input type="hidden" name="chk" value="0">
|
|
</form>
|
|
</td>
|
|
</tr><tr>
|
|
<td align=right>
|
|
<form action=<?=$PHP_SELF?> method=POST>
|
|
<input type="hidden" name="service_type" value="<?= $serviceType?>">
|
|
<input type=hidden name=refresh_rate value=30>
|
|
<input type=submit value=RESET(30)>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<script language="javascript" type="text/javascript" src="tooltip.js" ></script>
|
|
<script language=javascript>
|
|
function showtip(text) {
|
|
tooltip.innerText=text;
|
|
tooltip.style.display="inline";
|
|
}
|
|
function hidetip() {
|
|
tooltip.style.display="none";
|
|
}
|
|
function movetip() {
|
|
tooltip.style.pixelTop=event.y+document.body.scrollTop;
|
|
tooltip.style.pixelLeft=event.x+document.body.scrollLeft+10;
|
|
}
|
|
document.onmousemove=movetip;
|
|
</script>
|
|
</body>
|
|
</html>
|
|
<META http-equiv="refresh" content="<?=$refresh_rate?>; url=<?=$PHP_SELF?>?refresh_rate=<?=$refresh_rate?>&service_type=<?= $serviceType ?>">
|
|
<?
|
|
########
|
|
#CLASSES
|
|
########
|
|
class parsePipe {
|
|
var $tot_line;
|
|
|
|
function parseIt($givenText){
|
|
$cnt = 0;
|
|
$minValue = 0;
|
|
$maxValue = 0;
|
|
$tmp_arr = array();
|
|
$temp_arr = explode("\r\n", $givenText);
|
|
$result_arr[$i][9] = "";
|
|
$this->tot_line = count($temp_arr) == 1 ? 0 : count($temp_arr) - 1;
|
|
for($i=0; $i < $this->tot_line; $i++){
|
|
//if(!strpos($temp_arr[$i], "DB") && $temp_arr[$i]!='') {
|
|
if($temp_arr[$i]!='') {
|
|
$result_arr[$i] = explode("|", $temp_arr[$i]);
|
|
$result_arr[$i][10] = "";
|
|
$tmp_arr[$i] = ($result_arr[$i][9] == '' || $result_arr[$i][9] == '-') ? 0 : $this->nullTrim($result_arr[$i][9]);
|
|
$result_arr[$i][8] = $this->nullTrim($result_arr[$i][8]);
|
|
$result_arr[$i][9] = $this->nullTrim($result_arr[$i][9]);
|
|
$result_arr[$i][10] = $this->nullTrim($result_arr[$i][10]);
|
|
|
|
if($result_arr[$i][9] != '-' && $result_arr[$i] != '' && $result_arr[$i] != 0) {
|
|
if($cnt == 0) {
|
|
$minValue = $result_arr[$i][9];
|
|
$cnt++;
|
|
}
|
|
if($minValue > $result_arr[$i][9]) {
|
|
$minValue = $result_arr[$i][9];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$cnt = 0;
|
|
arsort($tmp_arr);
|
|
reset($tmp_arr);
|
|
|
|
while (list ($key, $val) = each ($tmp_arr)) {
|
|
//echo "$key = $val<br>";
|
|
if($val != 0) {
|
|
if($cnt == 0) {
|
|
$maxValue = $val;
|
|
$result_arr[$key][10] = "99FFFF";
|
|
$cnt++;
|
|
} else {
|
|
//if($minValue == $val) {
|
|
if($val < (2 * 1024 * 1024 * 1024 * 10)) {
|
|
$result_arr[$key][10] = "red";
|
|
}else if(($maxValue - $val) < (1024 * 1024 * 1024)) {
|
|
//echo "1GB Highed<br>";
|
|
$result_arr[$key][10] = "99FFFF";
|
|
} else {
|
|
//echo "1GB Lowed<br>";
|
|
$result_arr[$key][10] = "yellow";//$maxValue;
|
|
}
|
|
}
|
|
} else {
|
|
$result_arr[$key][10] = "white";
|
|
}
|
|
}
|
|
return $result_arr;
|
|
}
|
|
|
|
function countIt(){
|
|
return $this->tot_line;
|
|
}
|
|
|
|
function translateIt($parsedText, $type){
|
|
if($parsedText == '') return;
|
|
|
|
$eServerType = array('WWW', 'RTS', 'RC', 'CCDB', 'RCTS', 'GTS', "RCDB");
|
|
/*$eStatus = array('<img src=images/bu16.gif width=11 height=11>UNKNOWN',
|
|
'<img src=images/bu14.gif width=11 height=11>ALIVE',
|
|
'<img src=images/bu15.gif width=11 height=11>DEAD');*/
|
|
$eStatus = array('<img src=images/bu16.gif width=11 height=11>UNKNOWN',
|
|
'<img src=images/bu14.gif width=11 height=11>',
|
|
'<img src=images/bu15.gif width=11 height=11>');
|
|
$eStatusChar = array('UNKNOWN', 'ALIVE', 'DEAD');
|
|
switch($type){
|
|
case 0:
|
|
return $eServerType[$parsedText];
|
|
case 1:
|
|
return $eStatus[$parsedText];
|
|
case 2:
|
|
return $eStatusChar[$parsedText];
|
|
case 8:
|
|
if(trim($parsedText) == "-" || $parsedText == "") return "-";
|
|
else return sprintf("%.2lfG", (trim($parsedText) / 1024) / 1024 / 1024);
|
|
case 9:
|
|
if(trim($parsedText) == "-" || $parsedText == "" ) return "-";
|
|
else {
|
|
if (trim($parsedText) / 1024 / 1024 / 1024 > 1024) {
|
|
return sprintf("%.2fT", trim($parsedText) / 1024 / 1024 / 1024 / 1024);
|
|
} else
|
|
return sprintf("%.2fG", trim($parsedText) / 1024 / 1024 / 1024);
|
|
}
|
|
default:
|
|
return $parsedText;
|
|
}
|
|
}
|
|
|
|
function nullTrim($tmp_str)
|
|
{
|
|
$return_str = "";
|
|
$maxLength = strlen($tmp_str);
|
|
|
|
for($i=0 ; $i < $maxLength ; $i++) {
|
|
if(ord(substr($tmp_str, $i, 1)) != 0) {
|
|
$return_str .= substr($tmp_str, $i, 1);
|
|
}
|
|
}
|
|
return $return_str;
|
|
}
|
|
|
|
function textArr($text)
|
|
{
|
|
|
|
$cnt = -1;
|
|
$tmp_cnt = 0;
|
|
$str_arr = array();
|
|
$tmp_search_str = "";
|
|
$temp_arr = explode("\r\n", $text);
|
|
|
|
//echo "<!--".$text."-->";
|
|
for($i=0; $i<sizeof($temp_arr); $i++) {
|
|
$split_str = explode("|", $temp_arr[$i]);
|
|
$search_str = explode("_", $split_str[2]);
|
|
if($tmp_search_str != $search_str[0]) {
|
|
$tmp_search_str = $search_str[0];
|
|
//$str_arr[$cnt][30] = $search_str[0];
|
|
//echo $str_arr[$cnt][0]."<br>".$tmp_search_str."->".$cnt."<-"."<br>";
|
|
$cnt++;
|
|
}
|
|
$str_arr[$cnt] .= $temp_arr[$i]."\r\n";
|
|
|
|
}
|
|
return $str_arr;
|
|
}
|
|
|
|
function serviceName($text)
|
|
{
|
|
$cnt = -1;
|
|
$tmp_cnt = 0;
|
|
$str_arr = array();
|
|
$tmp_search_str = "";
|
|
$temp_arr = explode("\r\n", $text);
|
|
|
|
for($i=0; $i<sizeof($temp_arr); $i++) {
|
|
$split_str = explode("|", $temp_arr[$i]);
|
|
$search_str = explode("_", $split_str[2]);
|
|
if($tmp_search_str != $search_str[0]) {
|
|
$tmp_search_str = $search_str[0];
|
|
$cnt++;
|
|
}
|
|
$str_arr[$cnt] = $tmp_search_str;
|
|
}
|
|
return $str_arr;
|
|
}
|
|
}
|
|
|
|
?>
|