php读取服务器(CentOS 6.5)状态并存入数据库

来源:互联网 发布:淘宝黑科技 编辑:程序博客网 时间:2024/06/10 16:06

php读取服务器(CentOS 6.5)状态并存入数据库

<?php$db = mysql_connect("192.168.1.111","root","12345678");mysql_select_db( 'database' );//OS信息exec('head -n 1 /etc/issue',$os);//CPU型号exec('cat /proc/cpuinfo |grep "model name"|uniq',$cpu_mod_tmp);$tmp = explode(':',$cpu_mod_tmp[0]);$cpu_mod[0] = trim($tmp[1]);//物理CPU数exec('cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l',$cpu_num);$cpu_num[0] = 'CPU(s):'.$cpu_num[0];//核数exec('cat /proc/cpuinfo |grep "cores"|uniq',$core_num_tmp);$tmp = explode(':',$core_num_tmp[0]);$core_num[0] = 'Core(s):'.trim($tmp[1]);//内存总量exec('grep MemTotal /proc/meminfo',$mem_sum_tmp);$tmp = explode(':',$mem_sum_tmp[0]);$tmp[1] = trim($tmp[1]);$mem_sum[1] = preg_replace('|[a-zA-Z%:()s*]+|','',$tmp[1]);$mem_sum[0] = ceil($mem_sum[1]/1024/1024);//运行时间及系统负载exec('uptime',$time_tmp);$tmp = explode('up',$time_tmp[0]);$tmp2 = explode('user',$tmp[1]);$uptime_tmp = explode(',',$tmp2[0]);if(strstr($uptime_tmp[0],'day') && (preg_match("/^((?!min).)*$/is", $uptime_tmp[0]))){    $uptime_tmp[0] = preg_replace('|[a-zA-Z%:()s*]+|','',$uptime_tmp[0]).'day(s)  ';    if(strstr($uptime_tmp[1],':'))    {        $hm = explode(':',$uptime_tmp[1]);        $uptime_tmp[1] = $hm[0].'hours  '.$hm[1].'min';        $uptime[0] = $uptime_tmp[0].$uptime_tmp[1];//最终结果    }    else         $uptime[0] = $uptime_tmp[0].preg_replace('|[a-zA-Z%:()s*]+|','',$uptime_tmp[1]).'min  ';        $load[0] = preg_replace('|[a-zA-Z%:()s*]+|','',$tmp2[1]);        $load[0] = ltrim($load[0],',') ;}elseif(strstr($uptime_tmp[0],'min')){    $hm = explode('min',$uptime_tmp[0]);    $uptime_tmp[0] = $hm[0].'min';    $uptime[0] = $uptime_tmp[0];//最终结果    $load[0] = preg_replace('|[a-zA-Z%:()s*]+|','',$tmp2[1]);    $load[0] = ltrim($load[0],',') ;}else {    $hm = explode(':',$uptime_tmp[0]);    $uptime_tmp[0] = $hm[0].'hours  '.$hm[1].'min';    $uptime[0] = $uptime_tmp[0];//最终结果    $load[0] = preg_replace('|[a-zA-Z%:()s*]+|','',$tmp2[1]);    $load[0] = ltrim($load[0],',') ;}//CPU及内存使用率exec("top -b -n 1 | grep -E '(Cpu|Mem)'",$aStatTmp);foreach($aStatTmp as $key=>$value){    $aStat[] = explode(',',$value);}$cpu_use[0] = preg_replace('|[a-zA-Z%:()s*]+|','',$aStat[0][0]);$mem_use[0] = preg_replace('|[a-zA-Z:s*]+|','',$aStat[1][1]);$mem_use[0] = round($mem_use[0]/$mem_sum[1]*100,1);//查看网卡流量信息exec('cat /proc/net/dev',$fluxTmp);$a = $fluxTmp;foreach($fluxTmp as $key1=>$v1){    if(strstr($v1,'eth') !== false)     {        array_splice($fluxTmp, $key1);    }}$b = array_diff($a,$fluxTmp);$num = 0;$tmpi = array();foreach($b as $k2=>$v2){    $v2 = str_replace(' ',',',$v2);    $ifTmp = explode(',',$v2);    foreach($ifTmp as $k=>$v)    {        if($v === '')        {            unset($ifTmp[$k]);        }    }    foreach($ifTmp as $k3=>$v3)    {        $tmpi[$num][] = $v3;    }    $num++;}for($i=0;$i<count($tmpi);$i++){    if($i===0)    {        if(strlen($tmpi[0][0])>5)        {            $z = explode(':',$tmpi[0][0]);            $fir_in = ceil($z[1]/1024/1024);            $fir_out = ceil($tmpi[0][8]/1024/1024);        }        elseif(strlen($tmp[0][0])==5)         {            $fir_in = ceil($tmpi[0][1]/1024/1024);            $fir_out = ceil($tmpi[0][9]/1024/1024);        }    }    elseif($i===1)    {        if(strlen($tmpi[1][0])>5)        {            $z = explode(':',$tmpi[1][0]);            $sec_in = ceil($z[1]/1024/1024);            $sec_out = ceil($tmpi[1][8]/1024/1024);        }        elseif(strlen($tmpi[1][0])==5)        {            $sec_in = ceil($tmpi[1][1]/1024/1024);            $sec_out = ceil($tmpi[1][9]/1024/1024);        }    }    elseif($i===2)    {        if(strlen($tmpi[2][0])>5)        {            $z = explode(':',$tmpi[2][0]);            $thi_in = ceil($z[1]/1024/1024);            $thi_out = ceil($tmpi[2][8]/1024/1024);        }        elseif(strlen($tmpi[2][0])==5)        {            $thi_in = ceil($tmpi[2][1]/1024/1024);            $thi_out = ceil($tmpi[2][9]/1024/1024);        }    }    elseif($i===3)    {        if(strlen($tmpi[3][0])>5)        {            $z = explode(':',$tmpi[3][0]);            $for_in = ceil($z[1]/1024/1024);            $for_out = ceil($tmpi[3][8]/1024/1024);        }        elseif(strlen($tmpi[3][0])=='5')        {            $for_in = ceil($tmpi[3][1]/1024/1024);            $for_out = ceil($tmpi[3][9]/1024/1024);        }    }}$ctime = date('Y-m-d H:i:s');mysql_query("INSERT into dc_sys_stat (os_info,cpu_mod,cpu_num,cpu_core_num,mem_total,uptime,load_average,cpu_usage,mem_use,fir_in,fir_out,sec_in,sec_out,thi_in,thi_out,for_in,for_out,ctime)        values ('$os[0]','$cpu_mod[0]','$cpu_num[0]','$core_num[0]','$mem_sum[0]','$uptime[0]','$load[0]',$cpu_use[0],$mem_use[0],'$fir_in','$fir_out','$sec_in','$sec_out','$thi_in','$thi_out','$for_in','$for_out','$ctime')",$db);// mysql_query("INSERT into show_sys (os_info,cpu_mod,cpu_num,cpu_core_num,mem_total,uptime,load_average,cpu_usage,mem_use,fir_in,fir_out,sec_in,sec_out,thi_in,thi_out,for_in,for_out,ctime)//      values ('$os[0]','$cpu_mod[0]','$cpu_num[0]','$core_num[0]','$mem_sum[0]','$uptime[0]','$load[0]',$cpu_use[0],$mem_use[0],'$fir_in','$fir_out','$sec_in','$sec_out','$thi_in','$thi_out','$for_in','$for_out','$ctime')",$db);$aStatTmp=$time_tmp=$os=$cpu_mod=$cpu_num=$core_num=$mem_sum=$uptime=$load=$cpu_use=$mem_use=array();$fir_in=$fir_out=$sec_in=$sec_out=$thi_in=$thi_out=$for_in=$for_out=0;// $db->close();mysql_close($db);?>
0 0
原创粉丝点击