找回密码
 注册
搜索
免费空间 免费域名 免费AI 老牌主机商首月仅1美分!27美元/年!Namecheap优惠码Spaceship优惠码
查看: 183|回复: 17

[程序代码] 虚拟主机的网站监控

[复制链接]
发表于 2025-2-13 10:23:20 | 显示全部楼层 |阅读模式
本人一个小鸡没有,一直使用虚拟主机,所以才使用这个监控来查看监控网站。
项目地址:https://github.com/caogens/uptime-status-pro
美化了页面,添加了背景设置,添加了状态统计,添加了网站SSL证书的检测,添加了搜索功能。

演示地址:https://www.xh.sd
发表于 2025-2-13 10:41:58 来自手机 | 显示全部楼层
域名不错,可以监控主机使用空间的容量吗
发表于 2025-2-13 10:44:41 | 显示全部楼层
bbs2025 发表于 2025-2-13 10:41
域名不错,可以监控主机使用空间的容量吗

有代码可以自己修改
 楼主| 发表于 2025-2-13 10:53:09 | 显示全部楼层
inoking 发表于 2025-2-13 10:44
有代码可以自己修改

虚拟主机有办法这么精确计算剩余容量吗?
发表于 2025-2-13 10:55:32 来自手机 | 显示全部楼层
就是不知道安装修改
 楼主| 发表于 2025-2-13 11:04:17 | 显示全部楼层
bbs2025 发表于 2025-2-13 10:55
就是不知道安装修改

如何部署都写在项目里面了,很简单的。
 楼主| 发表于 2025-2-13 11:21:41 | 显示全部楼层
bbs2025 发表于 2025-2-13 10:55
就是不知道安装修改

这个只适合虚拟主机,需要空间磁盘使用情况之类的,只有哪吒之类的监控探针适合。
发表于 2025-2-13 11:25:11 来自手机 | 显示全部楼层
都试试
发表于 2025-2-13 19:34:38 | 显示全部楼层
本帖最后由 reishi 于 2025-2-13 19:38 编辑

附一个可以查看CPU信息、磁盘空间、内存情况的PHP探针,需要一些函数的支持,例如base_dir 、exec 等。
给个例子:




  1. <?php
  2. // 设置页面编码
  3. header("Content-Type: text/html; charset=utf-8");

  4. // 获取服务器信息
  5. $serverType = php_uname('s'); // 服务器类型
  6. $hostName = php_uname('n'); // 主机名称
  7. $ipAddress = $_SERVER['SERVER_ADDR']; // IP地址
  8. $port = $_SERVER['SERVER_PORT']; // 当前端口
  9. $uptime = @exec('uptime'); // 服务器运行时间
  10. $load = @exec('uptime | awk -F\'load average:\' \'{print $2}\''); // 系统负载
  11. $diskTotal = round(disk_total_space("/") / (1024 * 1024 * 1024), 2); // 硬盘总空间 (GB)
  12. $diskFree = round(disk_free_space("/") / (1024 * 1024 * 1024), 2); // 剩余空间 (GB)
  13. $diskUsed = $diskTotal - $diskFree; // 已使用空间 (GB)

  14. // 获取内存和 Swap 信息
  15. $memoryInfo = @file_get_contents("/proc/meminfo"); // 内存信息
  16. $memoryTotal = round(preg_match("/MemTotal:\s+(\d+)/", $memoryInfo, $matches) ? $matches[1] / 1024 / 1024 : 0, 2); // 总内存 (GB)
  17. $memoryFree = round(preg_match("/MemFree:\s+(\d+)/", $memoryInfo, $matches) ? $matches[1] / 1024 / 1024 : 0, 2); // 剩余内存 (GB)
  18. $memoryUsed = $memoryTotal - $memoryFree; // 已用内存 (GB)

  19. // 获取 Swap 信息
  20. $swapTotal = round(preg_match("/SwapTotal:\s+(\d+)/", $memoryInfo, $matches) ? $matches[1] / 1024 / 1024 : 0, 2); // Swap总空间 (GB)
  21. $swapFree = round(preg_match("/SwapFree:\s+(\d+)/", $memoryInfo, $matches) ? $matches[1] / 1024 / 1024 : 0, 2); // Swap剩余空间 (GB)
  22. $swapUsed = $swapTotal - $swapFree; // Swap已使用空间 (GB)

  23. // 如果 Swap 总空间为 0,说明系统未启用 Swap
  24. if ($swapTotal == 0) {
  25.     $swapTotal = "未启用";
  26.     $swapUsed = "未启用";
  27.     $swapFree = "未启用";
  28. }

  29. // 获取 CPU 信息
  30. $cpuInfo = @file_get_contents("/proc/cpuinfo"); // CPU信息

  31. // 获取 CPU 型号
  32. $cpuModel = preg_match("/model name\s+:\s+(.+)/", $cpuInfo, $matches) ? $matches[1] : "未知";

  33. // 获取逻辑处理器数(线程数)
  34. $logicalCores = preg_match_all("/processor\s+:\s+\d+/", $cpuInfo, $matches);

  35. // 获取物理核心数
  36. $physicalCores = preg_match("/cpu cores\s+:\s+(\d+)/", $cpuInfo, $matches) ? $matches[1] : "未知";

  37. // 获取网络信息
  38. $networkRx = @exec('cat /proc/net/dev | grep eth0 | awk \'{print $2}\''); // 网络接收数据 (bytes)
  39. $networkTx = @exec('cat /proc/net/dev | grep eth0 | awk \'{print $10}\''); // 网络发送数据 (bytes)

  40. // 获取 PHP 信息
  41. $phpVersion = phpversion(); // PHP版本
  42. $webServer = $_SERVER['SERVER_SOFTWARE']; // Web服务器和版本
  43. $phpFunctions = get_loaded_extensions(); // PHP函数
  44. ?>
  45. <!--nobanner-->
  46. <!DOCTYPE html>
  47. <html lang="zh-CN">
  48. <head>
  49.     <meta charset="UTF-8">
  50.     <meta name="viewport" content="width=device-width, initial-scale=1">
  51.     <title>服务器探针</title>
  52.     <!-- Bootstrap CSS -->
  53.     <link href="https://cdn.staticfile.net/bootstrap/5.3.0-alpha1/css/bootstrap.min.css" rel="stylesheet">
  54.     <style>
  55.         body {
  56.             background-color: #f8f9fa;
  57.             padding: 20px;
  58.         }
  59.         .card {
  60.             margin-bottom: 20px;
  61.             box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  62.         }
  63.         .card-header {
  64.             background-color: #007bff;
  65.             color: white;
  66.             font-weight: bold;
  67.         }
  68.         .list-group-item {
  69.             display: flex;
  70.             justify-content: space-between;
  71.             align-items: center;
  72.         }
  73.         .list-group-item span {
  74.             font-weight: bold;
  75.         }
  76.     </style>
  77. </head>
  78. <body>
  79.     <div class="container">
  80.         <h1 class="text-center mb-4">服务器探针</h1>

  81.         <!-- 服务器基本信息 -->
  82.         <div class="card">
  83.             <div class="card-header">服务器基本信息</div>
  84.             <ul class="list-group list-group-flush">
  85.                 <li class="list-group-item">
  86.                     <span>服务器类型</span>
  87.                     <?php echo $serverType; ?>
  88.                 </li>
  89.                 <li class="list-group-item">
  90.                     <span>主机名称</span>
  91.                     <?php echo $hostName; ?>
  92.                 </li>
  93.                 <li class="list-group-item">
  94.                     <span>IP地址</span>
  95.                     <?php echo $ipAddress; ?>
  96.                 </li>
  97.                 <li class="list-group-item">
  98.                     <span>当前端口</span>
  99.                     <?php echo $port; ?>
  100.                 </li>
  101.                 <li class="list-group-item">
  102.                     <span>服务器运行时间</span>
  103.                     <?php echo $uptime; ?>
  104.                 </li>
  105.                 <li class="list-group-item">
  106.                     <span>系统负载</span>
  107.                     <?php echo $load; ?>
  108.                 </li>
  109.             </ul>
  110.         </div>

  111.         <!-- CPU信息 -->
  112.         <div class="card">
  113.             <div class="card-header">CPU信息</div>
  114.             <ul class="list-group list-group-flush">
  115.                 <li class="list-group-item">
  116.                     <span>CPU型号</span>
  117.                     <?php echo $cpuModel; ?>
  118.                 </li>
  119.                 <li class="list-group-item">
  120.                     <span>物理核心数</span>
  121.                     <?php echo $physicalCores; ?>
  122.                 </li>
  123.                 <li class="list-group-item">
  124.                     <span>逻辑处理器数(线程数)</span>
  125.                     <?php echo $logicalCores; ?>
  126.                 </li>
  127.             </ul>
  128.         </div>
  129.         <!-- 硬盘信息 -->
  130.         <div class="card">
  131.             <div class="card-header">硬盘信息</div>
  132.             <ul class="list-group list-group-flush">
  133.                 <li class="list-group-item">
  134.                     <span>硬盘总空间</span>
  135.                     <?php echo $diskTotal; ?> GB
  136.                 </li>
  137.                 <li class="list-group-item">
  138.                     <span>已使用空间</span>
  139.                     <?php echo $diskUsed; ?> GB
  140.                 </li>
  141.                 <li class="list-group-item">
  142.                     <span>剩余空间</span>
  143.                     <?php echo $diskFree; ?> GB
  144.                 </li>
  145.             </ul>
  146.         </div>

  147.         <!-- 内存信息 -->
  148.         <div class="card">
  149.             <div class="card-header">内存信息</div>
  150.             <ul class="list-group list-group-flush">
  151.                 <li class="list-group-item">
  152.                     <span>总内存</span>
  153.                     <?php echo $memoryTotal; ?> GB
  154.                 </li>
  155.                 <li class="list-group-item">
  156.                     <span>已用内存</span>
  157.                     <?php echo $memoryUsed; ?> GB
  158.                 </li>
  159.                 <li class="list-group-item">
  160.                     <span>剩余内存</span>
  161.                     <?php echo $memoryFree; ?> GB
  162.                 </li>
  163.                 <li class="list-group-item">
  164.                     <span>Swap总空间</span>
  165.                     <?php echo $swapTotal; ?>
  166.                 </li>
  167.                 <li class="list-group-item">
  168.                     <span>Swap已使用空间</span>
  169.                     <?php echo $swapUsed; ?>
  170.                 </li>
  171.                 <li class="list-group-item">
  172.                     <span>Swap剩余空间</span>
  173.                     <?php echo $swapFree; ?>
  174.                 </li>
  175.             </ul>
  176.         </div>

  177.         <!-- 网络信息 -->
  178.         <div class="card">
  179.             <div class="card-header">网络信息</div>
  180.             <ul class="list-group list-group-flush">
  181.                 <li class="list-group-item">
  182.                     <span>网络接收数据</span>
  183.                     <?php echo $networkRx; ?> bytes
  184.                 </li>
  185.                 <li class="list-group-item">
  186.                     <span>网络发送数据</span>
  187.                     <?php echo $networkTx; ?> bytes
  188.                 </li>
  189.             </ul>
  190.         </div>

  191.         <!-- PHP信息 -->
  192.         <div class="card">
  193.             <div class="card-header">PHP信息</div>
  194.             <ul class="list-group list-group-flush">
  195.                 <li class="list-group-item">
  196.                     <span>PHP版本</span>
  197.                     <?php echo $phpVersion; ?>
  198.                 </li>
  199.                 <li class="list-group-item">
  200.                     <span>Web服务器</span>
  201.                     <?php echo $webServer; ?>
  202.                 </li>
  203.                 <li class="list-group-item">
  204.                     <span>PHP函数</span>
  205.                     <?php echo implode(", ", $phpFunctions); ?>
  206.                 </li>
  207.             </ul>
  208.         </div>
  209.     </div>

  210.     <!-- Bootstrap JS -->
  211.     <script src="https://cdn.staticfile.net/bootstrap/5.3.0-alpha1/js/bootstrap.bundle.min.js"></script>
  212. </body>
  213. </html>
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 7 天前 | 显示全部楼层
reishi 发表于 2025-2-13 19:34
附一个可以查看CPU信息、磁盘空间、内存情况的PHP探针,需要一些函数的支持,例如base_dir 、exec 等。
给 ...

这个探针需要上传到空间吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|免费吧论坛

GMT+8, 2025-2-22 23:28 , Processed in 0.024340 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表