PRTG giám sát từ xa dung lượng đĩa trống trên máy chủ hỗ trợ PHP

Bài viết này áp dụng cho PRTG Network Monitor 7 trở lên

Giám sát từ xa dung lượng đĩa trống trên máy chủ web hỗ trợ PHP

Bài viết này giải thích cách giám sát từ xa cho dung lượng đĩa trống trên máy chủ web hỗ trợ tập lệnh PHP.

Nếu máy chủ web nằm bên ngoài mạng LAN của bạn, thường ta sẽ không thể theo dõi dung lượng đĩa trống bằng SNMP hoặc Windows System Sensors (Cảm biến Hệ thống Windows) do các hạn chế về tường lửa và bảo mật.

Nhưng sử dụng tập lệnh PHP nhỏ “PHP probe” bên dưới, bạn có thể giám sát không gian đĩa trống trên máy chủ web từ xa của mình bằng cách sử dụng cảm biến “HTTP Content” của PRTG Network Monitor.

HTTP Content Sensor | PRTG Manual

Loại cảm biến này yêu cầu một  HTTP URL  và phân tích cú pháp mã HTML kết quả cho “[xx]” và sử dụng “xx” làm giá trị cho cảm biến. Như vậy, tập lệnh của chúng tôi sẽ kiểm tra dung lượng đĩa trống và gửi kết quả trong một trang web để PRTG phân tích cú pháp.

Cách sử dụng tập lệnh

  • Sao chép tập lệnh bên dưới vào một thư mục máy chủ web của bạnđã được định cấu hình để chạy các tập lệnh PHP (ví dụ: /yourpath)
  • Chỉnh sửa các hằng số $username và $password bên dưới theo ý thích của bạn
  • Kiểm tra tập lệnh bằng cách thực hiệnnó trong một trình duyệt web, ví dụ:
http://yourserver/yourpath/prtgphpprobe.php?drive=C:&user=myuser&pass=mypass
  • Trong URL, thay thế giá trị “drive”=C: bằng giá trị sau:
Loại máy chủ Nội dung nhập Ví dụ
Máy chủ Windows Ký tự ổ đĩa mà bạn muốn giám sát, theo sau là dấu hai chấm C:
Máy chủ Linux Đường dẫn đến nơi bạn muốn giám sát, ví dụ / cho nguồn /etc
  • Trong URL, thay thế myuser mypass bằng các giá trị bạn đã nhập trong tập lệnh.
  • Ngay sau khi tập lệnh trả về các giá trị mong muốn, bạn có thể thêm URL vào để làm cảm biến trong PRTG.

Các bước cần thực hiện trong PRTG

  • Trong giao diện web PRTG, tạo một thiết bị mớivới địa chỉ IP hoặc tên miền DNS của máy chủ web mà bạn đang dùng để chạy tập lệnh PHP.
  • Tạo cảm biến HTTP Content (từ phần “Web Servers”) trên thiết bị này:
  • Nhập Tập lệnh Url từ ví dụ đằng trên.
http://yourserver/yourpath/prtgphpprobe.php?drive=C:&user=myuser&pass=mypass
  • Phần số của kênh, nhập “2”, vì tập lệnh trả về dung lượng đĩa trống theo hai cách khác nhau: phần trămtổng số. Mỗi giá trị sẽ được hiển thị trong một kênh riêng biệt của cảm biến (Value 1 Value 2).
  • Nhấp vào Save và mở lại cài đặt của cảm biến.
  • Trong tab Channels, bây giờ bạn có thể nhập các nhãn Unit(% cho kênh Value 1; thường là MB cho kênh Value 2).
  • Trong tab Notifications, bạn có thể thêm Trình kích hoạt ngưỡng (Threshold Triggers) để được thông báo khi giá trị đĩa trống cao hơn hoặc thấp hơn một giá trị nhất định.

Lưu ý

  • Nếu tập lệnh trả về thông báo lỗi, hãy đảm bảo bạn có đủ quyền trên máy chủ web.
  • Tất nhiên, bạn cũng có thể giám sát các thông số khác trên máy chủ web của mình bằng cách sử dụng các hàm PHP khác.
  • Bạn có thể thêm một số cảm biến HTTP Content trong PRTG để giám sát nhiều hơn một ổ đĩa hoặc đường dẫn.

Tập lệnh

<?php
/*
* PHP Probe for PRTG Network Monitor (https://www.paessler.com/prtg)
* With this script you can monitor the diskspace of a php-enabled webserver with PRTG Network Monitor
*                  
*    - Copy the script below into a folder of your web server that is configured to run PHP scripts (e.g. /yourpath)
*    - Edit the $username and $password constants below to your liking
*    - Test the script by calling it in a web browser, e.g. 
*
*		http://yourserver/yourpath/prtgphpprobe.php?drive=C:&user=myuser&pass=mypass
*
*    - In the URL, replace the "drive" value C: with the according value: 
*
*		Windows server	The drive letter you want to monitor, followed by a colon
*		Linux server	The path you want to monitor, for example / for root
*
*    - In the URL, replace myuser and mypass by the values you entered in the script.
*    - As soon as the script returns the desired values, you can add it as a HTTP Content sensor in PRTG. 
*
*	 - See /en/topic/1023 for more details.
*
* date: 2010-02-18
* author: Daniel Zobel
* requires: PHP 4.x
*
* (c) 2010 by Paessler AG, www.paessler.com
*/

/* ***************************************************************************************
   L O G I N   C O N F I G U R A T I O N
*************************************************************************************** */
$username    = 'myuser';
$password    = 'mypass';

/* No need to change parameters after this line 
*************************************************************************************** */
echo("<html><head><title>PRTG Network Monitor PHP Probe</title></head><body>");

/* Catch Parameters From URL */
   $user = $HTTP_GET_VARS["user"];
   $pass = $HTTP_GET_VARS["pass"];
   $drive = $HTTP_GET_VARS["drive"];

/* Check Login */
   if ($username<>$user) {
       echo("Sorry, user '".$user."' does not exist here...");
   } else if ($password<>$pass) {
       echo("Sorry, your password is incorrect...");
   } else if (is_dir($drive)) {

/* Get Disk Data */
   $freespace          = disk_free_space($drive);
   $total_space        = disk_total_space($drive);
   $percentage_free    = $freespace ? round($freespace / $total_space, 2) * 100 : 0;
   
/* Show in HTML */
        echo("<b>".$drive."</b> has [".$percentage_free."] % free diskspace<br>");
        echo("<b>".$drive."</b> has [".round($freespace/1024/1024)."] MB free diskspace<br>");
   } else {
        echo("Sorry, <b>".$drive."</b> does not exist here...");
   };
echo("</body></html>");
?>

Và đó là cách giám sát từ xa dung lượng đĩa trống trên máy chủ web hỗ trợ PHP.

Xem thêm 

Biên dịch bởi Minh Hạnh – Help.pacisoft.com