Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Klasa dla Linuxa
karolo_k
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 5
Dołączył: 12.01.2010

Ostrzeżenie: (0%)
-----


Witam, poszukuję jakiejś klasy php, której zadaniem jest wyciągnięcie z serwera konkretnych danych o wykorzystaniu zasobów serwera. Dobrze by było żeby ta dane były gdzieś zgrabnie zapisane tak żebym mógł je przedstawić na mojej stronie w postaci jakichś wykresów czy słupków procentowych. Chodzi mi o takie dane jak: pojemność dysku i zajęte miejsce; aktualnie wykorzystywanie procesora w %; wykorzystana i całkowita pamięć RAM, no i co tam jeszcze ciekawego się da np Uptime i Load average arrowheadsmiley.png
Dziękuję za pomoc.
Go to the top of the page
+Quote Post
uupah5
post
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 4.09.2010
Skąd: warszawa

Ostrzeżenie: (0%)
-----


alternatywa? nagios.org
Go to the top of the page
+Quote Post
xxdrago
post
Post #3





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


  1. <?php
  2. exec ("cat /proc/meminfo", $details);
  3. $r1 = $details[0];
  4. $ram1 = intval(preg_replace('/[^0-9]/', '', $r1)) ;
  5. $r2 = $details[1];
  6. $ram2 = intval(preg_replace('/[^0-9]/', '', $r2)) ;
  7. $wynik = $ram2 / $ram1;
  8. $fram = $wynik * 100;
  9. $ram = round($fram, 0);
  10. $sz = 100 - $ram;
  11. echo "Ram: " .$sz." %";
  12. ?>
  13. <br>
  14. <?php
  15. preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",@exec('uptime'),$load);
  16. echo "".$load[1]." - ".$load[2]." - ".$load[3]."";
  17. ?>
  18. <br>
  19. <?php
  20. function mksize($bytes)
  21. {
  22. if ($bytes < 1000 * 1024)
  23. return number_format($bytes / 1024, 2) . " kB";
  24. elseif ($bytes < 1000 * 1048576)
  25. return number_format($bytes / 1048576, 2) . " MB";
  26. elseif ($bytes < 1000 * 1073741824)
  27. return number_format($bytes / 1073741824, 2) . " GB";
  28. else
  29. return number_format($bytes / 1099511627776, 2) . " TB";
  30. }
  31. $sciezka = "/home";
  32. $total = disk_total_space($sciezka);
  33. $free = disk_free_space($sciezka);
  34. $usage = $total - $free;
  35. $procent = round(($usage/$total) * 100, 0);
  36. echo " $procent %</br>";
  37. echo "Stan dysku " .mksize($usage). " / ".mksize($total);
  38. ?>
  39. <br>
  40. <?php
  41. $UpTime = file('/proc/uptime');
  42. $UpTime = $UpTime[0];
  43. $UpSecs = floor($UpTime % 60);
  44. $UpMins = floor($UpTime / 60 % 60);
  45. $UpHours = floor($UpTime / 3600 % 24);
  46. $UpDays = floor($UpTime / 86400);
  47. $UpTime = 'Uptime: ';
  48. if ($UpDays > 0)
  49. {
  50. $UpTime .= $UpDays;
  51. $UpTime .= ' days ';
  52. }
  53. if ($UpHours > 0)
  54. {
  55. $UpTime .= $UpHours;
  56. $UpTime .= ' hours ';
  57. }
  58. if ($UpMins > 0)
  59. {
  60. $UpTime .= $UpMins;
  61. $UpTime .= ' minutes ';
  62. }
  63. echo $UpTime;
  64. ?>


Lub:
http://phpsysinfo.sourceforge.net/

Demo:
http://phpsysinfo.sourceforge.net/phpsysin...hp?disp=dynamic

Ten post edytował xxdrago 28.12.2011, 21:35:10


--------------------
GG: 10972302 :)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 09:20