获取linux服务器性能CPU、内存、硬盘等使用率 PHP
数据库配置文件: conn.php
<?php
define("MONITORED_IP", "xxx.xxx.xxx.xxx"); //被监控的服务器IP地址 也就是本机地址
define("DB_SERVER", "xxx.xxx.xxx.xxx"); //存放数据的服务器IP地址
define("DB_USER", "root");
define("DB_PWD","root");
define("DB_NMAE","test");
?>
获取服务器性能CPU、内存、硬盘等使用率 get_used_status.php
<?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(" ",$rs);
$tast_info = explode(",",$sys_info[3]);//进程 数组
$cpu_info = explode(",",$sys_info[4]); //CPU占有量 数组
$mem_info = explode(",",$sys_info[5]); //内存占有量 数组
//正在运行的进程数
$tast_running = trim(trim($tast_info[1],"running"));
//CPU占有量
$cpu_usage = trim(trim($cpu_info[0],"Cpu(s): "),"%us"); //百分比
//内存占有量
$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); //百分比
/*硬盘使用率 begin*/
$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);
/*硬盘使用率 end*/
//检测时间
$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 = trim($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); // 结束
*/
return array("cpu_usage"=>$cpu_usage,"mem_usage"=>$mem_usage,"hd_avail"=>$hd_avail,"hd_usage"=>$hd_usage,"tast_running"=>$tast_running,"detection_time"=>$detection_time);
}
//echo date("Y-m-d H:i:s",time())."<br>";
$status=get_used_status();
?>
<?php
define("MONITORED_IP", "xxx.xxx.xxx.xxx"); //被监控的服务器IP地址 也就是本机地址
define("DB_SERVER", "xxx.xxx.xxx.xxx"); //存放数据的服务器IP地址
define("DB_USER", "root");
define("DB_PWD","root");
define("DB_NMAE","test");
?>
获取服务器性能CPU、内存、硬盘等使用率 get_used_status.php
<?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(" ",$rs);
$tast_info = explode(",",$sys_info[3]);//进程 数组
$cpu_info = explode(",",$sys_info[4]); //CPU占有量 数组
$mem_info = explode(",",$sys_info[5]); //内存占有量 数组
//正在运行的进程数
$tast_running = trim(trim($tast_info[1],"running"));
//CPU占有量
$cpu_usage = trim(trim($cpu_info[0],"Cpu(s): "),"%us"); //百分比
//内存占有量
$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); //百分比
/*硬盘使用率 begin*/
$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);
/*硬盘使用率 end*/
//检测时间
$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 = trim($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); // 结束
*/
return array("cpu_usage"=>$cpu_usage,"mem_usage"=>$mem_usage,"hd_avail"=>$hd_avail,"hd_usage"=>$hd_usage,"tast_running"=>$tast_running,"detection_time"=>$detection_time);
}
//echo date("Y-m-d H:i:s",time())."<br>";
$status=get_used_status();
?>
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: PHP截取中文字符串方法总结
- 下一篇: 实现统计在线用户的几种方式