Web VMStat: เครื่องมือตรวจสอบสถิติระบบแบบเรียลไทม์ (หน่วยความจำ, CPU, กระบวนการ ฯลฯ) สำหรับ Linux
Web-Vmstat เป็นแอปพลิเคชันขนาดเล็กที่เขียนด้วยภาษา Java และ HTML ซึ่งแสดงสถิติระบบ Linux แบบสด เช่น หน่วยความจำ, CPU, I /O, กระบวนการ ฯลฯ เข้าควบคุมบรรทัดคำสั่งการตรวจสอบ vmstat ในเว็บเพจที่สวยงามพร้อมแผนภูมิ (SmoothieCharts) และไดอะแกรมผ่านสตรีม WebSocket โดยใช้โปรแกรม websocketd
ฉันได้บันทึกวิดีโอสั้นๆ เกี่ยวกับสิ่งที่แอปพลิเคชันสามารถทำได้บนระบบ Gentoo
ความต้องการ
บนระบบ Linux จะต้องติดตั้งยูทิลิตี้ต่อไปนี้
- wget สำหรับการดึงไฟล์โดยใช้โปรโตคอล HTTP, HTTPS และ FTP
- โปรแกรมแก้ไขข้อความ Nano หรือ VI CLI
- คลายซิปไฟล์แยกไฟล์
บทช่วยสอนนี้จะแนะนำคุณตลอดการติดตั้งแอปพลิเคชัน Web-Vmstat บน CentOS 6.5 แต่ขั้นตอนนี้ใช้ได้กับ Linux ทุกรุ่น สิ่งเดียวที่แตกต่างคือ สคริปต์เริ่มต้น (ไม่บังคับ) ซึ่งช่วยให้คุณจัดการกระบวนการทั้งหมดได้ง่ายขึ้น
อ่านเพิ่มเติม: ตรวจสอบประสิทธิภาพของ Linux โดยใช้คำสั่ง Vmstat
ขั้นตอนที่ 1: ติดตั้ง Web-Vmstat
1. ก่อนดำเนินการติดตั้ง Web-Vmstat ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งคำสั่งที่จำเป็นทั้งหมดข้างต้นไว้ในระบบของคุณ คุณสามารถใช้ตัวจัดการแพ็คเกจ เช่น คำสั่ง yum, apt-get ฯลฯ เพื่อติดตั้ง ตัวอย่างเช่น ในระบบ CentOS เราใช้คำสั่ง yum เพื่อติดตั้ง
yum install wget nano unzip
2. ตอนนี้ไปที่หน้าเว็บอย่างเป็นทางการของ Veb-Vmstat ที่ และดาวน์โหลดเวอร์ชันล่าสุดโดยใช้ปุ่มดาวน์โหลด ZIP หรือใช้ wget เพื่อดาวน์โหลดจากบรรทัดคำสั่ง
wget https://github.com/joewalnes/web-vmstats/archive/master.zip
3. แตกไฟล์เก็บถาวร master.zip ที่ดาวน์โหลดมาโดยใช้ยูทิลิตี unzip และเข้าสู่โฟลเดอร์ที่แตกออกมา
unzip master.zip
cd web-vmstats-master
4. เว็บไดเร็กทอรีเก็บไฟล์ HTML และ Java ที่จำเป็นสำหรับแอปพลิเคชันในการทำงานในสภาพแวดล้อมของเว็บ สร้างไดเร็กทอรีภายใต้ระบบของคุณที่คุณต้องการโฮสต์ไฟล์เว็บและย้ายเนื้อหาเว็บทั้งหมดไปยังไดเร็กทอรีนั้น
บทช่วยสอนนี้ใช้ /opt/web_vmstats/ เพื่อโฮสต์ไฟล์เว็บแอปพลิเคชันทั้งหมด แต่คุณสามารถสร้างเส้นทางใดก็ได้บนระบบของคุณตามที่คุณต้องการ เพียงให้แน่ใจว่าคุณคงเส้นทางเว็บที่แน่นอนไว้
mkdir /opt/web_vmstats
cp -r web/* /opt/web_vmstats/
5. ขั้นตอนต่อไปคือการดาวน์โหลดและติดตั้งโปรแกรมสตรีมมิ่ง websocketd ไปที่หน้า WebSocket อย่างเป็นทางการ และดาวน์โหลดแพ็คเกจเพื่อให้ตรงกับสถาปัตยกรรมระบบของคุณ (Linux 64 บิต, 32 บิต หรือ ARM)
บนระบบ 32 บิต
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
บนระบบ 64 บิต
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip
6. แยกไฟล์เก็บถาวร WebSocket ด้วยคำสั่ง unzip และคัดลอกไบนารี websocketd ไปยังเส้นทางปฏิบัติการของระบบเพื่อให้พร้อมใช้งาน ทั่วทั้งระบบ
unzip websocketd-0.2.9-linux_amd64.zip
cp websocketd /usr/local/bin/
7. ตอนนี้คุณสามารถทดสอบได้ด้วยการรันคำสั่ง websocketd โดยใช้ไวยากรณ์คำสั่งต่อไปนี้
websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1
คำอธิบายของแต่ละพารามิเตอร์ที่อธิบายด้านล่าง
- –port=8080: พอร์ตที่ใช้เชื่อมต่อบนโปรโตคอล HTTP คุณสามารถใช้หมายเลขพอร์ตใดก็ได้ที่ต้องการ
- –staticdir=/opt/web_vmstats/: เส้นทางที่โฮสต์ไฟล์เว็บ Web-Vmstat ทั้งหมด
- /usr/bin/vmstat -n 1: คำสั่ง Linux Vmstat ซึ่งจะอัปเดตสถานะทุกวินาที
ขั้นตอนที่ 2: สร้างไฟล์เริ่มต้น
8. ขั้นตอนนี้เป็นทางเลือกและใช้ได้กับระบบที่รองรับสคริปต์ init เท่านั้น หากต้องการจัดการกระบวนการ WebSocket ในฐานะ daemon ระบบ ให้สร้างไฟล์บริการ init บนเส้นทาง /etc/init.d/ ด้วยเนื้อหาต่อไปนี้
nano /etc/init.d/web-vmstats
เพิ่มเนื้อหาต่อไปนี้
#!/bin/sh
source function library
. /etc/rc.d/init.d/functions
start() {
echo "Starting webvmstats process..."
/usr/local/bin/websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1 &
}
stop() {
echo "Stopping webvmstats process..."
killall websocketd
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: stop start"
;;
esac
9. หลังจากสร้างไฟล์แล้ว ให้เพิ่มสิทธิ์ในการดำเนินการต่อท้ายและจัดการกระบวนการโดยใช้สวิตช์ เริ่มต้น หรือ หยุด
chmod +x /etc/init.d/web-vmstats
/etc/init.d/web-vmstats start
10. หากไฟร์วอลล์ของคุณทำงานอยู่ ให้แก้ไขไฟล์ไฟร์วอลล์ /etc/sysconfig/iptables และเปิดพอร์ตที่ใช้โดยกระบวนการ websocketd เพื่อให้สามารถใช้งานได้สำหรับการเชื่อมต่อภายนอก
nano /etc/sysconfig/iptables
หากคุณใช้พอร์ต 8080 เช่นเดียวกับในบทช่วยสอนนี้ ให้เพิ่มบรรทัดต่อไปนี้ในไฟล์ iptables หลังกฎที่เปิดพอร์ต 22
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
11. เพื่อสิ้นสุดกระบวนการทั้งหมด ให้รีสตาร์ทบริการ iptables เพื่อใช้กฎใหม่
service iptables restart
service web-vmstats start
เปิดเบราว์เซอร์และใช้ URL ต่อไปนี้เพื่อแสดงสถิติระบบ Vmstats
http://system_IP:8080
12. เพื่อแสดงชื่อ เวอร์ชัน และรายละเอียดอื่น ๆ เกี่ยวกับเครื่องปัจจุบันของคุณและระบบปฏิบัติการที่ทำงานอยู่ ไปที่เส้นทางไฟล์ Web-Vmstat และเรียกใช้คำสั่งต่อไปนี้
cd /opt/web_vmstats
cat /etc/issue.net | head -1 > version.txt
cat /proc/version >> version.txt
13. จากนั้นเปิดไฟล์ index.html และเพิ่มโค้ดจาวาสคริปต์ต่อไปนี้ก่อนบรรทัด
nano index.html
ใช้โค้ด JavaScript ต่อไปนี้
<div align='center'><h3><pre id="contents"></pre></h3></div>
<script>
function populatePre(url) {
var xhr = new XMLHttpRequest();
xhr.onload = function () {
document.getElementById('contents').textContent = this.responseText;
};
xhr.open('GET', url);
xhr.send();
}
populatePre('version.txt');
</script>
14. หากต้องการดูผลลัพธ์สุดท้าย ให้รีเฟรชหน้าเว็บ http://system_IP:8080 และคุณควรเห็นข้อมูลและสถิติสดเกี่ยวกับเครื่องปัจจุบันของคุณดังในภาพหน้าจอด้านล่าง