Monitor Server Logbicher an Echtzäit mam Log.io Tool op RHEL/CentOS 7/6


Log.io ass eng kleng einfach awer effektiv Applikatioun déi uewen op Node.js an Socket.io gebaut gëtt, déi et erlaabt de Linux Server Log ze iwwerwaachen Dateien an Echtzäit duerch Web Interface Écran Widgets.

Dësen Tutorial wäert Iech guidéieren wéi Dir all lokal Logdateien an Echtzäit installéiere kënnt an iwwerwaacht mat Log.io installéiert op RHEL/CentOS 7/6.x andeems Dir Log.io konfiguréiert. b> Harvester Datei fir all lokal Ännerunge fir Logdateien ze iwwerwaachen.

Schrëtt 1: Füügt Epel Repositories

1. CentOS Epel Repositories stellt déi binär Packagen fir Node.js an NPM - Node Packaged Modules. Installéiert Epel Repositories andeems Dir de folgende Kommando ausginn.

# yum install http://fedora.mirrors.telekom.ro/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
--------------------- 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. Nodeems Dir Epel Repos op Ärem System bäigefüügt hutt, maacht e System Upgrade andeems Dir de folgende Kommando ausféiert.

# yum update

Schrëtt 2: Node.js an NPM Packagen installéieren

3. Node.js ass eng Javascript Server-Säit Programméierungsplattform déi Iech erlaabt Netzwierkapplikatiounen mat Backend Funktionalitéit ze kreéieren. NPM (Node Package Manager) ass praktesch de Package Manager fir Node.js. Also, op de nächste Schrëtt, gitt weider an installéiert Node.js an NMP Binären op Ärem System duerch YUM Package Manager andeems Dir déi folgend Kommandoen ausstellt.

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

Schrëtt 3: Installéieren a konfiguréieren Log.io Applikatioun

4. Log.io Applikatioun muss op Ärem System duerch NPM installéiert ginn andeems Dir e gültege lokalen System Benotzer uginn, duerch deen d'Installatioun muss stattfannen. Wärend Dir all gëltege Systembenotzer benotze kënnt fir Log.io z'installéieren, ech recommandéieren perséinlech d'Applikatioun duerch root Benotzer oder anere Systembenotzer mat root-Privilegien z'installéieren.

De Grond fir dës Approche ze benotzen ass datt Log.io Zougang muss hunn fir lokal Logdateien ze liesen an e Benotzer mat net-Privilegien Root Privilegien kann normalerweis net Zougang a liesen e puer wichteg Logdateien.

Also, loggt Iech mat Root Account un an installéiert d'Log.io Applikatioun duerch Root Account andeems Dir de folgende Kommando ausgëtt (wann Dir en anere Benotzer benotzt, ersetzt de Root Account mat Ärem System Benotzer deementspriechend).

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

5. Nodeems d'Applikatioun installéiert ass, ännert Ären Aarbechtsverzeichnis op Log.io Dossier, dee verstoppt ass, a maacht eng Verzeechneslëscht fir den Dossierinhalt ze visualiséieren fir d'Applikatioun weider ze konfiguréieren.

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

6. Elo ass et Zäit fir Log.io ze konfiguréieren fir lokal Logdateien an Echtzäit ze iwwerwaachen. Loosst eis e Bannen iwwer wéi Log.io funktionnéiert.

  1. De Ernte-Datei kuckt no Ännerungen an de spezifizéierte lokalen Logdateien, déi a senger Konfiguratioun deklaréiert sinn, a schéckt säin Ausgang iwwer socket.io TCP
    Protokoll deen d'Messagen weider op de Log.io lokalen Server oder all aner Remote Server schéckt, deen mat senger IP Adress deklaréiert ass (0.0.0.0 Adress spezifizéiert op Harvester Sendungen un all log.io Nolauschterer Server) - Datei harvester.conf
  2. Log.io Server bindt op all Netzwierkschnëttplazen (wann net anescht an der log_server.conf Datei spezifizéiert) a waart op Messagen vu lokalen oder Remote Harvester Noden a schéckt hiren Output op de log.io Webserver (0.0.0.0 heescht datt et waart op Messagen vun all lokalen oder Fernharvester) Datei log_server.conf
  3. Log.io Webserver bindt op all Netzwierkschnëttplazen, lauschtert no Webklientverbindungen um Hafen 28778 a veraarbecht an erausgëtt d'Messagen, déi en intern vum log.io Server kritt - Datei web_server.conf< /li>

Éischt harvester.conf Datei opmaachen fir z'änneren, déi par défaut nëmmen Apache Logdateien iwwerwaacht, an ersetzen nodeName Ausso fir mat Ärem Hostnumm ze passen an de logStreams ze definéieren. > Aussoe mat wéi enge intern Logdateien Dir wëllt iwwerwaachen (an dësem Fall iwwerwaachen ech verschidde Logdateien wéi Audit, Messagen a sécher Logbicher). Benotzt de folgenden Dateiauszuch als Guide.

# nano harvester.conf

Harvester Datei Extrait.

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
  }
}

Och wann Dir kee Harvester-Output braucht fir op e Remote Log.io Server geschéckt ze ginn, ännert d'Linn Host op Server Ausso fir nëmmen ze schécken seng Ausgab lokal duerch d'Ännerung vun der 0.0.0.0 Adress mat der Loopback Adress (127.0.0.1).

7. Aus Sécherheetsgrënn, wann Dir keng Remote Harvester-Output op Äre lokalen Log.io-Server erwaart, öffnet log_server.conf-Datei an ersetzt 0.0.0.0 b> Adress mat Loopback Adress (127.0.0.1).

# nano log_server.conf

8. Aner Sécherheet Fonctiounen wéi Umeldungsinformatioune Login, HTTPS oder Restriktioun baséiert op IPs zu Log.io Web Server kann op Web Server-Säit applizéiert ginn. Fir dësen Tutorial wäert ech nëmmen als Sécherheetsmoossname just Umeldungslogin benotzen.

Also, öffnen web_server.conf Datei, decommentéiert déi ganz auth Erklärung andeems Dir all Slashes an Asterisken läscht an ersetzt Benotzer an pass b> Direktiven deementspriechend wéi am ënneschten Screenshot proposéiert.

# nano web_server.conf

Schrëtt 4: Füügt Firewall Regel a Start Log.io Applikatioun

9. Fir de Webzougang op Log.io Server ze kréien, füügt eng Regel un RHEL/CentOS 7 Firewall fir TCP opzemaachen 28778 port andeems Dir de folgende Kommando ausginn.

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

Notiz: RHEL/CentOS 6.x Benotzer kënnen den Port 28778 op iptable Firewall opmaachen.

Schrëtt 5: Start Log.io Applikatioun a gitt Web Interface

10. Fir Log.io Log Iwwerwachungsapplikatioun ze starten, vergewëssert Iech datt Ären aktuellen Aarbechtsverzeichnis d'Root Heem ass .log.io a benotzt déi folgend Kommandoen an der folgender Uerdnung fir ze starten Applikatioun.

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

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

11. Nodeems de Server gestart gouf, e Browser opzemaachen, gitt Är Server IP gefollegt vun 28778 Portnummer mat HTTP-Protokoll op URL Adress an eng Prompt, déi Är Umeldungsinformatiounen erfuerdert, sollt erscheinen.

Gitt Äre Benotzer a Passwuert konfiguréiert op Schrëtt 8 fir weiderzegoen an d'Log.io Applikatioun soll elo op Ärem Browser siichtbar sinn iwwerwaachte Logdateien an Echtzäit ze presentéieren.

http://192.168.1.20:28778

Op Web Interface füügt nei Schiirme un an organiséiert Är Streamen oder Noden deementspriechend.

12. Fir ze stoppen Log.io Applikatioun lafen de folgende Kommando.

# pkill node

Schrëtt 6: Erstellt Log.io Manage Script

13. Fir e Kommando ze benotzen, deen Log.io Applikatioun mat dräi Schalter geréiert ( Start, Stop an Status >) erstellt de folgende Skript mam Numm log.io op /usr/local/bin ausführbare Verzeechnes an fügen d'Ausféierungsrechter un dësem Skript un.

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

Füügt de folgenden Auszuch op dës Skriptdatei.

#!/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. Fir unzefänken, stoppen oder Log.io Status Login mat root Kont ze gesinn (oder de Benotzer datt d'Log.io App installéiert ass) a lafen einfach déi folgend Kommandoen fir d'Applikatioun einfach ze verwalten.

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

Dat ass alles! Menger Meenung no ass Log.io eng exzellent an effektiv Webapplikatioun fir lokal oder Remote Server Logdateien ze iwwerwaachen ass Echtzäit a kritt e Bléck op wat intern an de Systemer leeft a besonnesch fir Serverproblemer ze debuggen wann Systemer tendéieren net ze reagéieren oder ze crashen, ouni datt Dir eng Konsole benotzt.