MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /var/www/html/networkmonitor/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/networkmonitor/function.inc.php
<?
//*******************************************//
//**********Funtion For NMS *******************//
//*******************************************//
function Query1($sql){
	$result  = mysql_query($sql);
	echo mysql_error();
	$rs = mysql_fetch_array($result);
	return $rs[0];
}

function pingDomain($domain){
    $starttime = microtime(true);
    $file      = @fsockopen ($domain, 80, $errno, $errstr , 0.1);
    $stoptime  = microtime(true);
    $status    = 0;

    if (!$file) $status = -1;  // Site is down
    else {
        fclose($file);
        $status = ($stoptime - $starttime) * 1000;
       // $status = floor($status);
    }
    return $status;
}

function showpic_status($status){
		if($status==1){
			echo  "<img src=\"images/server-alive.gif\" alt=\"alive\" >";
		}else{
			echo "<img src=\"images/server-dead.gif\" alt=\"dead\" >";
		}
}

function conn($host,$username,$pwd){
	$myconnect = mysql_connect("$host","$username","$pwd") ; //OR DIE("Unable to connect to database :: $host ");
	$iresult = mysql_query("SET character_set_results=tis-620");
	$iresult = mysql_query("SET NAMES TIS620");
	return  $myconnect;
}

function connect_rep($gethost,$getusr,$getpwd){
	global $debug;
	$pos_slave = 0;
	$con = @mysql_connect("$gethost","$getusr","$getpwd");
	if ($con){
		$sql = "show master status;";
		$result = @mysql_query($sql); 
		echo mysql_error();
		$rs = @mysql_fetch_assoc($result); 
		if($debug=="ON"){print_r($rs);}
		$pos_slave = intval($rs[Position]);
	}else{
		$pos_slave = -1;
	}
	return $pos_slave;
}


function server_status($status0,$status1,$status2){
	
	$status = array();
	if($status0<=65){
		$status[0] = 1;
		}else if(($status0>65 and $status0<=90)){
		 $status[0] = 2;
		}else{
		  $status[0] =3;
		}
		
	if(($status1<=65) ){
		$status[1] = 1;
		}else if(($status1>65 and $status1<=90)){
		 $status[1] = 2;
		}else{
		  $status[1] =3;
		}

	
	if($status2<=65){
			 $status[2] =1;
		}else if(($status2>65 and $status2<=85)){
			 $status[2] =2;
		}else{
			 $status[2] =3;
		}
		
		sort($status);
		//print_r($status);

		if($status[2]==1){
			return "<img src=\"images/server-alive.gif\" alt=\"alive\" >";
		}else if($status[2]==2){
			return "<img src=\"images/server-warn.gif\" alt=\"warning\" >";
		}else{
			return "<img src=\"images/server-dead.gif\" alt=\"dead\" >";
		}
/*
	if($status==1){
		$showimg="<img src=\"images/server-dead.gif\" alt=\"dead\" >";
		}else{
		$showimg="<img src=\"images/server-alive.gif\" alt=\"alive\" >";
		}
		return $showimg;
		*/
	}
// *************  ARRAY **************************



//*********  Write READ DATA  Replication *************//

function WritelogRep($key,$rsrep,$connection_usage,$traffic,$num_query,$query_cache_hitrate,$key_efficiency,$num_thread,$rscpu,$rsmem){

	$file1 = "logreplication.dat";
	$rscpu = trim($rscpu);
	$rsmem = trim($rsmem);
	$f = fopen($file1,"a");
	$msg = (date("d"))."-".(date("m"))."-".date("Y")." ".date("H").":".date("i").":".date("s")."|";
	$msg .= $rsrep."|".$connection_usage."|".$traffic."|".$num_query."|".$query_cache_hitrate."|";
	$msg .= $key_efficiency."|".$num_thread."|".$rscpu."|".$rsmem."|".$key."\r\n";
	fwrite($f,$msg);
	fclose($f);

}

function readlog(){
$file1 = "logreplication.dat";
$handle = fopen($file1, "r");
$i=1;
	if($handle) {
	   while (!feof($handle)) {
		   $buffer[$i] = fgets($handle);
		   //echo $buffer[$i]."<br>";
		   $i++;
	   }
	   fclose($handle);
	}
	return  $buffer;
}

function readlogservice($file1){
$handle = @fopen($file1, "r");
$i=1;
	if($handle) {
	   while (!feof($handle)) {
		   $buffer[$i] = fgets($handle);
		   //echo $buffer[$i]."<br>";
		   $i++;
	   }
	   fclose($handle);
	}
	return  $buffer;
}

//*******************************************

//function แสดงสถานะของ CPU และ MEM
function even_status($value1){
	$value1=trim($value1);
	//$value1=50;
	if($value1<=65){
		$show_even_status=" <span class=\"status_normal\" title=\"normal\">".number_format($value1,2)."%</span>";
		}else if($value1>65 and $value1<=90){
		$show_even_status="<span class=\"status_warn\" title=\"warning\">$value1%</span>";
		}else{
		$show_even_status="<span class=\"status_critical\" title=\"critical\">$value1%</span>";
		}
		return $show_even_status;
	}
	//function แสดงสถานะของ HDD
function even_status_hdd($value1){
	$value1=trim($value1);
	//$value1=50;
	if($value1<=65){
		$show_even_status=" <span class=\"status_normal\" title=\"normal\">".number_format($value1,2)."%</span>";
		}else if($value1>65 and $value1<=85){
		$show_even_status="<span class=\"status_warn\" title=\"warning\">$value1%</span>";
		}else{
		$show_even_status="<span class=\"status_critical\" title=\"critical\">$value1%</span>";
		}
		return $show_even_status;
}

// ***************Over All CPU MEM HDD********************

function even_status_all($cpudata,$memdata,$hdddata){

	$cpudata=trim($cpudata);
	$memdata=trim($memdata);
	$hdddata=trim($hdddata);

	if($cpudata<=65){
		$cpustatus=0;
	}else if($cpudata>65 and $cpudata<=90){
		$cpustatus=1;
	}else{
		$cpustatus=2;
	}

	if($memdata<=65){
		$memstatus=0;
	}else if($memdata>65 and $memdata<=90){
		$memstatus=1;
	}else{
		$memstatus=2;
	}

	if($hdddata<=65){
		$hddstatus=0;
	}else if($hdddata>65 and $hdddata<=85){
		$hddstatus=1;
	}else{
		$hddstatus=2;
	}

	if(($cpustatus>=1) or ($memstatus >= 1) or ($hddstatus >= 1)){
		$statusall=0;
	}else{
		$statusall=1;
	}
	return  $statusall ;

}

//***************************************************

function writelog($monitor_id,$ip,$val){
	global $host,$username,$pwd,$database_sys,$debug;
	
	$sql = " INSERT INTO  log_warning( monitor_id,server_ip,val ) VALUES ( '$monitor_id','$ip','$val' )";
	if($debug){ echo "$sql<hr>"; }
	mysql_db_query($database_sys,$sql);
	if(mysql_errno() == 0 ){
		$rs_log = true;
	}else{
		$rs_log = false;
	}
	return $rs_log;

}

function checkwarning2sms($gettype,$gettime,$monitor_id,$server_ip){
	global $hostsms,$method,$path,$User,$Password,$database_sys,$debug , $Sender, $MsgType;

	$time_cond = ( $gettime * (-60) ) ; // gen time 

	$timecheck1 = strtotime("$time_cond seconds"); // create time condition
	$timecheck2 = date('Y-m-d H:i', $timecheck1); // convert time

	$sql = " SELECT * FROM log_warning WHERE timeupdate LIKE '$timecheck2%' AND monitor_id = '$monitor_id'  AND server_ip = '$server_ip'  ";
	$result = mysql_db_query($database_sys,$sql);
	//echo "$sql<hr>$database_sys<hr>";

	$rs = mysql_fetch_assoc($result);
	if (mysql_errno() != 0 ) { echo "<hr> <b> " .mysql_error()     .  "<b><hr>  " ;  }
	//echo "$rs[val]<hr>";

	if($rs[val] > 0){ 

		// ตรวจสอบว่าได้มีการส่งไปรึยัง
		$sqlx = " SELECT  *  FROM  sms_status WHERE  monitor_id = '$monitor_id'   ";
		$resultx = mysql_db_query($database_sys,$sqlx);
		$rsx = mysql_fetch_assoc($resultx);

		echo " $sqlx <br> $rsx[sendstatus] <hr>";
		
		if( $rsx[sendstatus]=="w" ){
		
		// send sms
		$arr_user = explode(",",$rsx[user_id]);
		foreach($arr_user AS $values){

		$sql_s = " SELECT  *  FROM  phonenumber WHERE  user_id = '$values'   ";
		//echo "$sql_s<hr>";
		$results = mysql_db_query($database_sys,$sql_s);
		$rss = mysql_fetch_assoc($results);
		$rsx[sms_massage] = $rsx[sms_massage]. "at server $server_ip";
		$smsresult=sendRequest($hostsms,$method,$path,'RefNo='.$monitor_id.'&Sender='.$Sender.'&Msn='.$rss[phonenumber].'&Msg='.$rsx[sms_massage].'&MsgType='.$MsgType.'&User='.$User.'&Password='.$Password);
		//echo " $hostsms ,  $method , $path,'RefNo='.$monitor_id.'&Sender='.$Sender.'&Msn='.$rss[phonenumber].'&Msg='.$rsx[sms_massage].'&MsgType='.$MsgType.'&User='.$User.'&Password='.$Password ";
		$rssms = gwStatus($smsresult);	
		//echo "SEND =  $rssms<hr> ";

		mysql_query(" UPDATE  sms_status SET sendstatus = 's' , sms_result = '$rssms' WHERE monitor_id = '$monitor_id' ");
		} // end for
		}	
	}
}

function theshold($gettype,$getvalues,$monitor_id,$ip,$gettime){
	global $host,$username,$pwd;
	conn($host,$username,$pwd);

	if($gettype=="cpu"){
		if($getvalues >= 90 ){
			writelog($monitor_id,$ip,$getvalues);
			checkwarning2sms($gettype,$gettime,$monitor_id,$ip);
		}else{
			clearstatus($monitor_id);
		}
	}else if($gettype=="memory"){
		if($getvalues >= 90 ){
			writelog($monitor_id,$ip,$getvalues);
			checkwarning2sms($gettype,$gettime,$monitor_id,$ip);
		}else{
			clearstatus($monitor_id);
		}
	}else if($gettype=="hdd"){
		if($getvalues >= 85 ){
			writelog($monitor_id,$ip,$getvalues);
			checkwarning2sms($gettype,$gettime,$monitor_id,$ip);
		}else{
			clearstatus($monitor_id);
		}
	}else{

	}
}

function clearstatus($monitor_id){
	global $database_sys,$debug ;
	$sql = " UPDATE  sms_status  SET sendstatus = 'w' , sms_result = 'w'  WHERE monitor_id = '$monitor_id'    ";
	//echo "$sql<hr>";
	mysql_db_query($database_sys,$sql);
}
// =========== SEND SMS ===================
Function sendRequest($host,$method,$path,$data){
    global  $smsgetstatus;
	if($smsgetstatus==true){
		//$method = strtoupper($method);
		$fp = fsockopen($host, 80);

		fputs($fp, "$method $path HTTP/1.1\r\n");
		fputs($fp, "Host: $host\r\n");
		fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
		fputs($fp, "Content-length: " . strlen($data) . "\r\n");

		fputs($fp, "Connection: close\r\n\r\n");
		if ($method == 'POST') 
			{
				fputs($fp, $data);
			}

		while (!feof($fp)) 
			{
				$result .= fgets($fp,128);
			}
		fclose($fp);
		return $result;
	}
}

function gwStatus($raw_socket_return) {
	$raw_socket_return = trim($raw_socket_return);
                $socket_status = "";
                $socket_return = explode("\n", $raw_socket_return);
				$count = count($socket_return);
				$iresult = $count-2;
				$socket_status = $socket_return[$iresult];
		return $socket_status;
}
//---------------------------------------------------------------------------------
?>

Anon7 - 2021