ค้นหาเว็บไซต์

Web VMStat: เครื่องมือตรวจสอบสถิติระบบแบบเรียลไทม์ (หน่วยความจำ, CPU, กระบวนการ ฯลฯ) สำหรับ Linux


Web-Vmstat เป็นแอปพลิเคชันขนาดเล็กที่เขียนด้วยภาษา Java และ HTML ซึ่งแสดงสถิติระบบ Linux แบบสด เช่น หน่วยความจำ, CPU, I /O, กระบวนการ ฯลฯ เข้าควบคุมบรรทัดคำสั่งการตรวจสอบ vmstat ในเว็บเพจที่สวยงามพร้อมแผนภูมิ (SmoothieCharts) และไดอะแกรมผ่านสตรีม WebSocket โดยใช้โปรแกรม websocketd

ฉันได้บันทึกวิดีโอสั้นๆ เกี่ยวกับสิ่งที่แอปพลิเคชันสามารถทำได้บนระบบ Gentoo

ความต้องการ

บนระบบ Linux จะต้องติดตั้งยูทิลิตี้ต่อไปนี้

  1. wget สำหรับการดึงไฟล์โดยใช้โปรโตคอล HTTP, HTTPS และ FTP
  2. โปรแกรมแก้ไขข้อความ Nano หรือ VI CLI
  3. คลายซิปไฟล์แยกไฟล์

บทช่วยสอนนี้จะแนะนำคุณตลอดการติดตั้งแอปพลิเคชัน 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

คำอธิบายของแต่ละพารามิเตอร์ที่อธิบายด้านล่าง

  1. –port=8080: พอร์ตที่ใช้เชื่อมต่อบนโปรโตคอล HTTP คุณสามารถใช้หมายเลขพอร์ตใดก็ได้ที่ต้องการ
  2. –staticdir=/opt/web_vmstats/: เส้นทางที่โฮสต์ไฟล์เว็บ Web-Vmstat ทั้งหมด
  3. /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 และคุณควรเห็นข้อมูลและสถิติสดเกี่ยวกับเครื่องปัจจุบันของคุณดังในภาพหน้าจอด้านล่าง