例、Linux サーバーのステータスを取得するための PHP コード。
-
-
function get_used_status(){
- $fp = Popen('top -b -n 2 | grep -E "^(Cpu|Mem|Tasks)"',"r"); // 特定の時点でのシステムの CPU とメモリ使用量を取得します
- $rs = "";
- while(!feof($fp)){
- $rs .= fread($fp,1024);
- }
- pclose($ fp );
- $sys_info =explode("n",$rs);
- $tast_info =explode(",",$sys_info[3]);//配列を処理
- $cpu_info =explode(",",$sys_info [ 4]); //CPU占有配列
- $mem_info =explode(",",$sys_info[5]); //メモリ占有配列
- //実行中のプロセス数
- $tast_running =rim(trim($taste_info[ 1],'running'));
- //CPU 使用率
- $cpu_usage = trim(trim($cpu_info[0],'Cpu(s): '),'%us') //パーセンテージ< ;/p>
//メモリ占有量
- $mem_total = trim(trim($mem_info[0],'Mem: '),'k total');
- $mem_used = trim($mem_info[1 ],'k used) ');
- $mem_usage =round(100*intval($mem_used)/intval($mem_total),2); //パーセント
-
- /*ハードディスク使用量の開始*/
- $fp = Popen( 'df -lh | grep -E "^(/)"',"r");
- $rs = fread($fp,1024);
- pclose($fp);
- $rs = preg_replace("/s{ 2,}/" ,' ',$rs); //複数のスペースを "_" に置き換えます
- $hd =explode(" ",$rs);
- $hd_avail = trim($hd[3],' G');空き容量の単位 G
- $hd_usage = trim($hd[4],'%'); //マウントポイントの割合
- //print_r($hd);
- /*ハードディスク使用量終了*/
//検出時間
- $fp = Popen("date +"%Y-%m-%d %H:%M"","r");
- $ rs = fread($fp,1024 );
- pclose($fp);
- $detection_time = trim($rs);
/*IP アドレスの取得 begin*/
- /*
- $ fp = Popen('ifconfig eth0 | grep -E "(inet addr)"','r');
- $rs = fread($fp,1024);
- pclose($fp);
- $rs = preg_replace(" /s{2,}/" ,' ',trim($rs)); //複数のスペースを「_」に置き換えます
- $rs =explode(" ",$rs);
- $ip =rim($ rs[1],'addr:') ;
- */
- /*IP アドレスの取得end*/
- /*
- $file_name = "/tmp/data.txt"; // 絶対パス: homedata.dat
- $file_pointer = fopen($file_name, "a+"); // "w" はモードです。詳細については以下を参照してください
- fwrite($file_pointer,$ip); // まずファイルを 0 バイトにカットし、次に書き込みます
- fclose($file_pointer) // End
- */< /p>
return array('cpu_usage'=>$cpu_usage,'mem_usage'=>$mem_usage,'hd_avail'=> $hd_avail,'hd_usage'=>
-
-
|