VnStat PHP: อินเทอร์เฟซบนเว็บสำหรับตรวจสอบการใช้แบนด์วิดท์เครือข่าย
VnStat PHP แอปพลิเคชันอินเทอร์เฟซแบบกราฟิกสำหรับยูทิลิตี้บันทึกเครือข่ายโหมดคอนโซลที่มีชื่อเสียงที่สุดที่เรียกว่า “vnstat“ VnStat PHP นี้เป็นส่วนหน้าแบบกราฟิกของ VnStat เพื่อดูและตรวจสอบรายงานการใช้แบนด์วิธการรับส่งข้อมูลเครือข่ายในรูปแบบกราฟิกที่สวยงาม โดยจะแสดงสถิติการรับส่งข้อมูลเครือข่าย เข้า และ ออก ในรูปแบบ รายชั่วโมง, วัน, เดือน หรือสรุปฉบับเต็ม
บทความนี้จะแสดงวิธีการติดตั้ง VnStat และ VnStat PHP ในระบบ Linux
ข้อกำหนดเบื้องต้นของ VnStat PHP
คุณต้องติดตั้งแพ็คเกจซอฟต์แวร์ต่อไปนี้บนระบบของคุณ
- VnStat: ต้องติดตั้ง กำหนดค่า เครื่องมือตรวจสอบแบนด์วิดท์เครือข่ายบรรทัดคำสั่ง และควรรวบรวมสถิติแบนด์วิดท์เครือข่าย
- Apache: เว็บเซิร์ฟเวอร์สำหรับให้บริการหน้าเว็บ
- PHP: ภาษาสคริปต์ฝั่งเซิร์ฟเวอร์สำหรับการรันสคริปต์ PHP บนเซิร์ฟเวอร์
- ส่วนขยาย php-gd: ส่วนขยาย GD สำหรับการแสดงภาพกราฟิก
ขั้นตอนที่ 1: การติดตั้งและกำหนดค่าเครื่องมือบรรทัดคำสั่ง VnStat
VnStat คือยูทิลิตีการตรวจสอบแบนด์วิดธ์เครือข่ายบรรทัดคำสั่งที่นับแบนด์วิดท์ (ส่ง และ รับ) บนอุปกรณ์เครือข่ายและเก็บข้อมูลไว้ในฐานข้อมูลของตัวเอง .
Vnstat เป็นเครื่องมือของบุคคลที่สามและสามารถติดตั้งผ่านการเปิดใช้งานพื้นที่เก็บข้อมูล epel ภายใต้ระบบ ที่ใช้ Red Hat เมื่อคุณเปิดใช้งานแล้ว คุณสามารถติดตั้งได้โดยใช้ คำสั่ง yum ดังที่แสดงด้านล่าง
yum install vnstat [On CentOS/RHEL]
sudo apt-get install vnstat [On Debian/Ubuntu]
หากต้องการติดตั้ง VnStat เวอร์ชันล่าสุด โปรดทำตามบทความนี้ – วิธีติดตั้ง vnStat เพื่อตรวจสอบปริมาณการใช้เครือข่ายใน Linux
อย่างที่บอกไปแล้วว่า Vnstat จะรักษาฐานข้อมูลของตัวเองเพื่อเก็บข้อมูลเครือข่ายทั้งหมด หากต้องการสร้างฐานข้อมูลใหม่สำหรับอินเทอร์เฟซเครือข่ายชื่อ “eth0“ ให้ใช้คำสั่งต่อไปนี้ ตรวจสอบให้แน่ใจว่าได้เปลี่ยนชื่ออินเทอร์เฟซตามความต้องการของคุณ
vnstat -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.
หากคุณได้รับข้อผิดพลาดข้างต้น ไม่ต้องกังวลกับข้อผิดพลาดดังกล่าว เนื่องจากคุณกำลังดำเนินการคำสั่งเป็นครั้งแรก ดังนั้นจึงสร้างฐานข้อมูลใหม่สำหรับ eth0
ตอนนี้ให้รันคำสั่งต่อไปนี้เพื่ออัพเดตฐานข้อมูลที่เปิดใช้งานทั้งหมดหรือเฉพาะอินเทอร์เฟซเฉพาะที่มีพารามิเตอร์ -i ดังที่แสดง มันจะสร้างสถิติการรับส่งข้อมูล IN และ OUT ของอินเทอร์เฟซ eth0
vnstat -u -i eth0
ถัดไป เพิ่ม crontab ที่ทำงานทุกๆ 5 นาที และอัปเดตฐานข้อมูล eth0 เพื่อสร้างสถิติการรับส่งข้อมูล
*/5 * * * * /usr/bin/vnstat -u >/dev/null 2>&1
ขั้นตอนที่ 2: การติดตั้งส่วนขยาย Apache, Php และ Php-gd
ติดตั้งแพ็คเกจซอฟต์แวร์ต่อไปนี้ด้วยความช่วยเหลือของเครื่องมือจัดการแพ็คเกจชื่อ “yum” สำหรับระบบ ที่ใช้ Red Hat และ “apt-get” สำหรับระบบที่ใช้ เดเบียน
บน RHEL/CentOS และ Fedora
yum install httpd php php-gd
เปิด Apache เมื่อระบบเริ่มต้นและเริ่มบริการ
chkconfig httpd on
service httpd start
เรียกใช้คำสั่ง “iptables” ต่อไปนี้เพื่อเปิดพอร์ต Apache “80” บนไฟร์วอลล์ จากนั้นรีสตาร์ทบริการ
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
บน Debian/Ubuntu และ Linux Mint
sudo apt-get install apache2 php php-gd
sudo /etc/init.d/apache2 start
เปิดพอร์ต 80 สำหรับ Apache
sudo ufw allow 80
ขั้นตอนที่ 3: ดาวน์โหลด VnStat PHP Frontend
ดาวน์โหลดไฟล์ Tarball ซอร์ส VnStat PHP ล่าสุดโดยใช้ “คำสั่ง wget” ดังที่แสดงด้านล่าง หรือไปที่หน้านี้เพื่อรับเวอร์ชันล่าสุด
cd /tmp
wget http://www.sqweek.com/sqweek/files/vnstat_php_frontend-1.5.1.tar.gz
แยกไฟล์ tarball ต้นทางโดยใช้ "คำสั่ง tar" ตามที่แสดง
tar xvf vnstat_php_frontend-1.5.1.tar.gz
ขั้นตอนที่ 4: การติดตั้ง VnStat PHP Frontend
เมื่อแยกออกมาแล้ว คุณจะเห็นไดเร็กทอรีชื่อ “vnstat_php_frontend-1.5.1“ คัดลอกเนื้อหาของไดเร็กทอรีนี้ไปยังตำแหน่งรูทของเว็บเซิร์ฟเวอร์เป็นไดเร็กทอรี vnstat ดังที่แสดงด้านล่าง
บน RHEL/CentOS และ Fedora
cp -fr vnstat_php_frontend-1.5.1/ /var/www/html/vnstat
หากเปิดใช้งาน SELinux ในระบบของคุณ ให้เรียกใช้คำสั่ง “restorecon” เพื่อกู้คืนไฟล์บริบทความปลอดภัยเริ่มต้นของ SELinux
restorecon -Rv /var/www/html/vnstat/
บน Debian/Ubuntu และ Linux Mint
cp -fr vnstat_php_frontend-1.5.1/ /var/www/vnstat
ขั้นตอนที่ 5: การกำหนดค่าส่วนหน้า VnStat PHP
กำหนดค่าให้ตรงกับการตั้งค่าของคุณ หากต้องการเปิดไฟล์ต่อไปนี้ด้วยโปรแกรมแก้ไข VI และเปลี่ยนพารามิเตอร์ตามที่แสดงด้านล่าง
บน RHEL/CentOS และ Fedora
vi /var/www/html/vnstat/config.php
บน Debian/Ubuntu และ Linux Mint
vi /var/www/vnstat/config.php
ตั้งค่าเริ่มต้นของคุณ ภาษา
// edit these to reflect your particular situation
$locale = 'en_US.UTF-8';
$language = 'en';
กำหนดอินเทอร์เฟซเครือข่ายของคุณที่จะตรวจสอบ
// list of network interfaces monitored by vnStat
$iface_list = array('eth0', 'eth1');
คุณสามารถตั้งชื่อที่กำหนดเองสำหรับอินเทอร์เฟซเครือข่ายของคุณได้
// optional names for interfaces
// if there's no name set for an interface then the interface identifier.
// will be displayed instead
$iface_title['eth0'] = 'Internal';
$iface_title['eth1'] = 'External';
บันทึกและปิดไฟล์
ขั้นตอนที่ 6: เข้าถึง VnStat PHP และดูกราฟ
เปิดเบราว์เซอร์ที่คุณชื่นชอบและไปที่ลิงก์ต่อไปนี้ ตอนนี้คุณจะเห็นกราฟเครือข่ายที่สวยงามซึ่งจะแสดงสรุปการใช้แบนด์วิดท์เครือข่ายใน ชั่วโมง, วัน และ เดือน
http://localhost/vnstat/
http://your-ip-address/vnstat/
ผลลัพธ์ตัวอย่าง
ลิงค์อ้างอิง
หน้าแรกของ VnStat PHP