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. Αποσυμπιέστε το Archive Extractor.

Αυτό το σεμινάριο θα σας καθοδηγήσει στην εγκατάσταση της εφαρμογής Web-Vmstat στο CentOS 6.5, αλλά η διαδικασία ισχύει για όλες τις διανομές Linux, τα μόνα πράγματα που διαφέρουν είναι απλώς το initscripts (προαιρετικά), που σας βοηθά να διαχειριστείτε πιο εύκολα την όλη διαδικασία.

Διαβάστε επίσης: Παρακολουθήστε την απόδοση του 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 που απαιτούνται για την εκτέλεση της εφαρμογής σε περιβάλλον Web. Δημιουργήστε έναν κατάλογο κάτω από το σύστημά σας όπου θέλετε να φιλοξενήσετε τα αρχεία Ιστού και μετακινήστε όλο το περιεχόμενο Ιστού σε αυτόν τον κατάλογο.

Αυτό το σεμινάριο χρησιμοποιεί το /opt/web_vmstats/ για να φιλοξενήσει όλα τα αρχεία web εφαρμογών, αλλά μπορείτε να δημιουργήσετε οποιαδήποτε αυθαίρετη διαδρομή στο σύστημά σας που σας αρέσει, απλώς βεβαιωθείτε ότι διατηρείτε την απόλυτη διαδρομή ιστού.

mkdir /opt/web_vmstats
cp -r web/* /opt/web_vmstats/

5. Το επόμενο βήμα είναι να κατεβάσετε και να εγκαταστήσετε το πρόγραμμα ροής websocketd. Μεταβείτε στην επίσημη σελίδα WebSocket και κατεβάστε το πακέτο ώστε να ταιριάζει με την αρχιτεκτονική του συστήματός σας (Linux 64-bit, 32-bit ή ARM).

Σε σύστημα 32 bit
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
Σε σύστημα 64-bit
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: Δημιουργήστε το αρχείο Init

8. Αυτό το βήμα είναι προαιρετικό και λειτουργεί μόνο με συστήματα που υποστηρίζονται από σενάρια init. Για να διαχειριστείτε τη διαδικασία WebSocket ως δαίμονας συστήματος, δημιουργήστε ένα αρχείο υπηρεσίας 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. Αφού δημιουργηθεί το αρχείο, προσθέστε δικαιώματα εκτέλεσης και διαχειριστείτε τη διαδικασία χρησιμοποιώντας τους διακόπτες start ή stop.

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 και προσθέστε τον ακόλουθο κώδικα javascript πριν από τη γραμμή

.

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 και θα πρέπει να δείτε πληροφορίες και ζωντανά στατιστικά σχετικά με τον τρέχοντα υπολογιστή σας, όπως στα παρακάτω στιγμιότυπα οθόνης.