Παρακολούθηση καταγραφής διακομιστή σε πραγματικό χρόνο με το εργαλείο "Log.io" στο RHEL/CentOS 7/6


Το Log.io είναι μια μικρή απλή αλλά αποτελεσματική εφαρμογή πάνω από τα Node.js και Socket.io, η οποία επιτρέπει την παρακολούθηση των αρχείων καταγραφής διακομιστών Linux αρχεία σε πραγματικό χρόνο μέσω γραφικών στοιχείων οθόνης διεπαφής ιστού.

Αυτό το σεμινάριο θα σας καθοδηγήσει για το πώς μπορείτε να εγκαταστήσετε και να παρακολουθήσετε τυχόν τοπικά αρχεία καταγραφής σε πραγματικό χρόνο με το Log.io εγκατεστημένο στο RHEL/CentOS 7/6.x διαμορφώνοντας το Log.io b> αρχείο harvester για την παρακολούθηση τυχόν τοπικών αλλαγών στα αρχεία καταγραφής.

Βήμα 1: Προσθέστε τα αποθετήρια Epel

Τα αποθετήρια 1. CentOS Epel παρέχουν τα δυαδικά πακέτα για Node.js και NPMNode Packaged Modules . Εγκαταστήστε τα αποθετήρια Epel εκδίδοντας την ακόλουθη εντολή.

Στο RHEL/CentOS 7
yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
Στο RHEL/CentOS 6
--------------------- On RHEL/CentOS 6.x - 32 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm

--------------------- On RHEL/CentOS 6.x - 64 Bit ---------------------
yum install http://fedora.mirrors.telekom.ro/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2. Αφού προσθέσετε το Epel Repos στο σύστημά σας, κάντε μια αναβάθμιση συστήματος εκτελώντας την ακόλουθη εντολή.

yum update

Βήμα 2: Εγκαταστήστε τα πακέτα Node.js και NPM

3. Το Node.js είναι μια πλατφόρμα προγραμματισμού Javascript από την πλευρά του διακομιστή που σας επιτρέπει να δημιουργείτε εφαρμογές δικτύου με λειτουργικότητα υποστήριξης. Το NPM (Node Package Manager) είναι ουσιαστικά ο διαχειριστής πακέτων για το Node.js. Έτσι, στο επόμενο βήμα προχωρήστε και εγκαταστήστε τα δυαδικά αρχεία Node.js και NMP στο σύστημά σας μέσω του διαχειριστή πακέτων YUM εκδίδοντας τις ακόλουθες εντολές.


curl --silent --location https://rpm.nodesource.com/setup_5.x | bash - 
yum install -y nodejs

Βήμα 3: Εγκατάσταση και διαμόρφωση της εφαρμογής Log.io

Η εφαρμογή 4. Log.io πρέπει να εγκατασταθεί στο σύστημά σας μέσω του NPM, προσδιορίζοντας έναν έγκυρο τοπικό χρήστη συστήματος, μέσω του οποίου πρέπει να πραγματοποιηθεί η εγκατάσταση. Ενώ μπορείτε να χρησιμοποιήσετε οποιονδήποτε έγκυρο χρήστη συστήματος για να εγκαταστήσετε το Log.io, συνιστώ προσωπικά την εγκατάσταση της εφαρμογής μέσω χρήστη root ή άλλου χρήστη συστήματος με δικαιώματα root.

Ο λόγος για τη χρήση αυτής της προσέγγισης είναι ότι το Log.io πρέπει να έχει πρόσβαση για να διαβάζει τοπικά αρχεία καταγραφής και ένας χρήστης με δικαιώματα root χωρίς δικαιώματα συνήθως δεν μπορεί να έχει πρόσβαση και να διαβάσει ορισμένα σημαντικά αρχεία καταγραφής.

Έτσι, συνδεθείτε με λογαριασμό root και εγκαταστήστε την εφαρμογή Log.io μέσω του λογαριασμού root εκδίδοντας την ακόλουθη εντολή (αν χρησιμοποιείτε άλλο χρήστη αντικαταστήστε τον λογαριασμό root με τον χρήστη του συστήματός σας ανάλογα).

npm install -g log.io --user “root”

5. Αφού εγκατασταθεί η εφαρμογή, αλλάξτε τον κατάλογο εργασίας σας σε φάκελο Log.io, ο οποίος είναι κρυφός, και κάντε μια λίστα καταλόγου για να οπτικοποιήσετε το περιεχόμενο του φακέλου προκειμένου να διαμορφώσετε το εφαρμογή περαιτέρω.

pwd  		[Make sure you are on the right path]
cd .log.io/
ls

6. Τώρα ήρθε η ώρα να διαμορφώσετε το Log.io ώστε να παρακολουθεί τα τοπικά αρχεία καταγραφής σε πραγματικό χρόνο. Ας δούμε πώς λειτουργεί το Log.io.

  1. Το αρχείο harvester παρακολουθεί τις αλλαγές στα καθορισμένα τοπικά αρχεία καταγραφής που δηλώνονται στη διαμόρφωσή του και στέλνει την έξοδο του μέσω του socket.io TCP
    πρωτόκολλο που στέλνει περαιτέρω τα μηνύματα στον τοπικό διακομιστή Log.io ή σε οποιονδήποτε άλλο απομακρυσμένο διακομιστή που έχει δηλωθεί με τη διεύθυνση IP του (διεύθυνση 0.0.0.0 που καθορίζεται στις εκπομπές των μηχανών συγκομιδής σε όλους τους διακομιστές ακρόασης log.io) – αρχείο harvester.conf
  2. Ο διακομιστής Log.io συνδέεται σε όλες τις διεπαφές δικτύου (αν δεν ορίζεται διαφορετικά στο αρχείο log_server.conf) και περιμένει μηνύματα από τοπικούς ή απομακρυσμένους κόμβους συγκομιδής και στέλνει την έξοδο τους στον διακομιστή Web log.io (0.0.0.0 σημαίνει ότι περιμένει μηνύματα από οποιονδήποτε τοπικό ή απομακρυσμένο θεριστή) αρχείο log_server.conf
  3. Ο διακομιστής ιστού Log.io συνδέεται σε όλες τις διεπαφές δικτύου, ακούει για συνδέσεις πελατών web στη θύρα 28778 και επεξεργάζεται και εξάγει τα μηνύματα που λαμβάνει εσωτερικά από τον διακομιστή log.io – αρχείο web_server.conf

Αρχικά ανοίξτε το αρχείο harvester.conf για επεξεργασία, το οποίο από προεπιλογή παρακολουθεί μόνο τα αρχεία καταγραφής Apache και αντικαταστήστε τη δήλωση nodeName για να ταιριάζει με το όνομα κεντρικού υπολογιστή σας και να ορίσετε τα logStreams δηλώσεις με ποια εσωτερικά αρχεία καταγραφής θέλετε να παρακολουθήσετε (σε αυτήν την περίπτωση παρακολουθώ πολλά αρχεία καταγραφής όπως έλεγχος, μηνύματα και ασφαλή αρχεία καταγραφής). Χρησιμοποιήστε το παρακάτω απόσπασμα αρχείου ως οδηγό.

nano harvester.conf

Απόσπασμα αρχείου Harvester.

exports.config = {
  nodeName: "pxe-server",
  logStreams: {

audit: [
      "/var/log/audit/audit.log"
    ],

messages: [
      "/var/log/messages"
    ],

secure: [
      "/var/log/secure"
    ]

},
  server: {
    host: '0.0.0.0',
    port: 28777
  }
}

Επίσης, εάν δεν χρειάζεται η έξοδος συγκομιδής για αποστολή σε έναν απομακρυσμένο διακομιστή Log.io, αλλάξτε τη γραμμή κεντρικός υπολογιστής στη δήλωση διακομιστής για αποστολή μόνο την έξοδο του τοπικά τροποποιώντας τη διεύθυνση 0.0.0.0 με διεύθυνση βρόχου (127.0.0.1).

7. Για λόγους ασφαλείας, εάν δεν περιμένετε έξοδο απομακρυσμένων μηχανών συγκομιδής στον τοπικό σας διακομιστή Log.io ανοίξτε το αρχείο log_server.conf και αντικαταστήστε το Διεύθυνση b>0.0.0.0 με διεύθυνση επαναφοράς (127.0.0.1).

nano log_server.conf

8. Άλλα χαρακτηριστικά ασφαλείας, όπως σύνδεση διαπιστευτηρίων, HTTPS ή περιορισμός βάσει IP στον διακομιστή ιστού Log.io μπορούν να εφαρμοστούν από την πλευρά του διακομιστή ιστού. Για αυτό το σεμινάριο θα χρησιμοποιήσω μόνο ως μέτρο ασφαλείας μόνο τη σύνδεση διαπιστευτηρίων.

Επομένως, ανοίξτε το αρχείο web_server.conf, καταργήστε το σχόλιο ολόκληρης της δήλωσης auth διαγράφοντας όλες τις κάθετες και τους αστερίσκους και αντικαταστήστε τις user και pass β> οδηγίες αναλόγως όπως προτείνεται στο κάτω στιγμιότυπο οθόνης.

nano web_server.conf

Βήμα 4: Προσθέστε κανόνα τείχους προστασίας και εκκινήστε την εφαρμογή Log.io

9. Για να αποκτήσετε πρόσβαση στον ιστό στον διακομιστή Log.io προσθέστε έναν κανόνα στο Τείχος προστασίας RHEL/CentOS 7 για να ανοίξετε τη θύρα TCP 28778 εκδίδοντας την ακόλουθη εντολή.

firewall-cmd --add-port=28778/tcp --permanent
firewall-cmd --reload

Σημείωση: Οι χρήστες RHEL/CentOS 6.x μπορούν να ανοίξουν τη θύρα 28778 στο τείχος προστασίας iptable.

Βήμα 5: Ξεκινήστε την εφαρμογή Log.io και εισαγάγετε το Web Interface

10. Για να ξεκινήσετε την εφαρμογή παρακολούθησης αρχείων καταγραφής Log.io βεβαιωθείτε ότι ο τρέχων κατάλογος εργασίας σας είναι το σπίτι του root .log.io και χρησιμοποιήστε τα ακόλουθα εντολές με την ακόλουθη σειρά για να ξεκινήσει η εφαρμογή.

------------ First start server, put it in background and press Enter key ------------
log.io-server & 

------------ Start log harvester in background ------------
log.io-harvester & 

11. Μετά την εκκίνηση του διακομιστή, ανοίξτε ένα πρόγραμμα περιήγησης, εισαγάγετε την IP του διακομιστή σας ακολουθούμενη από τον αριθμό θύρας 28778 χρησιμοποιώντας το πρωτόκολλο HTTP στη διεύθυνση URL και θα πρέπει να εμφανιστεί ένα μήνυμα που απαιτεί τα διαπιστευτήρια σύνδεσής σας .

Εισαγάγετε τον χρήστη και τον κωδικό πρόσβασής σας που έχουν διαμορφωθεί στο βήμα 8 για να προχωρήσετε περαιτέρω και η εφαρμογή Log.io θα πρέπει πλέον να είναι ορατή στο πρόγραμμα περιήγησής σας, παρουσιάζοντας παρακολουθούμενα αρχεία καταγραφής σε πραγματικό χρόνο.

http://192.168.1.20:28778

Στη διεπαφή Ιστού προσθέστε νέες οθόνες και οργανώστε τις ροές ή τους κόμβους σας ανάλογα.

12. Για να διακόψετε την εφαρμογή Log.io εκτελέστε την ακόλουθη εντολή.

pkill node

Βήμα 6: Δημιουργήστε το Log.io Manage Script

13. Για να χρησιμοποιήσετε μια εντολή που διαχειρίζεται την εφαρμογή Log.io με τρεις διακόπτες ( start, stop και κατάσταση) δημιουργήστε το ακόλουθο σενάριο με το όνομα log.io στον εκτελέσιμο κατάλογο /usr/local/bin και προσθέστε δικαιώματα εκτέλεσης σε αυτό το σενάριο.

nano /usr/local/bin/log.io
chmod +x /usr/local/bin/log.io

Προσθέστε το ακόλουθο απόσπασμα σε αυτό το αρχείο δέσμης ενεργειών.

#!/bin/bash

                start() {
                echo "Starting log.io process..."
                /usr/bin/log.io-server &
                /usr/bin/log.io-harvester &
                                         }

                stop() {
                echo "Stopping io-log process..."
                pkill node
                                         }                             

                status() {
                echo "Status io-log process..."
                netstat -tlp | grep node
                                         }

case "$1" in
                start)
start
        ;;
                stop)
stop
        ;;
                status)
status
                ;;
                *)
echo "Usage: start|stop|status"
        ;;
Esac

14. Για να ξεκινήσετε, διακόψτε ή προβάλετε τη σύνδεση κατάστασης Log.io με λογαριασμό root (ή τον χρήστη που έχει εγκατασταθεί η εφαρμογή Log.io) και απλώς εκτελέστε τις ακόλουθες εντολές για να διαχειριστείτε εύκολα την εφαρμογή.

log.io start
log.io status
log.io stop

Αυτό είναι όλο! Κατά τη γνώμη μου, το Log.io είναι μια εξαιρετική και αποτελεσματική εφαρμογή Ιστού για την παρακολούθηση των αρχείων καταγραφής τοπικών ή απομακρυσμένων διακομιστών σε πραγματικό χρόνο και για να λαμβάνετε μια προοπτική για το τι συμβαίνει εσωτερικά στα συστήματα και ειδικά για τον εντοπισμό σφαλμάτων των προβλημάτων διακομιστή όταν Τα συστήματα τείνουν να μην ανταποκρίνονται ή να κολλάνε, χωρίς να χρειάζεται να χρησιμοποιήσετε κονσόλα.