Overvåg serverlogfiler i realtid med "Log.io" -værktøjet på RHEL/CentOS 7/6


Log.io er en lille enkel, men effektiv applikation, der er bygget oven på Node.js og Socket.io , som gør det muligt at overvåge Linux-serverlog filer i realtid via skærmwidgets til webgrænsefladen.

Denne vejledning guider dig om, hvordan du kan installere og overvåge eventuelle lokale logfiler i realtid med Log.io installeret på RHEL/CentOS 7/6.x ved at konfigurere Log.io høstfiler til at overvåge eventuelle lokale ændringer i logfiler.

Trin 1: Tilføj Epel Repositories

1. CentOS Epel repositories leverer de binære pakker til Node.js og NPM - Node-pakkede moduler . Installer Epel-arkiver ved at udstede følgende kommando.

# 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. Når du har tilføjet Epel Repos på dit system, skal du udføre en systemopgradering ved at køre følgende kommando.

# yum update

Trin 2: Installer Node.js- og NPM-pakker

3. Node.js er en Javascript server-side programmeringsplatform, der giver dig mulighed for at oprette netværksapplikationer med backend-funktionalitet. NPM (Node Package Manager) er praktisk talt pakkehåndtering for Node.js. Så fortsæt med det næste trin og installer Node.js og NMP-binære filer på dit system gennem YUM-pakkehåndtering ved at udstede følgende kommandoer.

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

Trin 3: Installer og konfigurer Log.io-applikationen

4. Log.io -applikationen skal installeres på dit system via NPM ved at angive en gyldig lokal systembruger, gennem hvilken installationen skal finde sted. Mens du kan bruge enhver gyldig systembruger til at installere Log.io, anbefaler jeg personligt at installere applikationen via root bruger eller anden systembruger med root-rettigheder.

Årsagen til at bruge denne tilgang er, at Log.io skal have adgang til at læse lokalt logfiler, og at en bruger med ikke-privilegier rodprivilegier normalt ikke kan få adgang til og læse nogle vigtige logfiler.

Så log ind med root-konto og installer Log.io-applikationen via root-konto ved at udstede følgende kommando (hvis du bruger en anden bruger, skal du udskifte root-kontoen med din systembruger i overensstemmelse hermed).

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

5. Når applikationen er installeret, skal du ændre din arbejdsmappe til mappen Log.io , som er skjult, og foretage en katalogoversigt for at visualisere mappens indhold for at konfigurere applikationen yderligere.

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

6. Nu er det tid til at konfigurere Log.io til at overvåge lokale logfiler i realtid. Lad os få et indblik i, hvordan Log.io fungerer.

  1. Filen mejetærsker holder øje med ændringer i de angivne lokale logfiler, der er erklæret i sin konfiguration, og sender dens output via socket.io TCP
    protokol, der yderligere sender beskederne til den lokale Log.io-server eller enhver anden ekstern server, der er erklæret med sin IP-adresse (0.0.0.0-adresse angivet på høstesendinger til alle log.io-lytte-servere) - fil harvester.conf
  2. Log.io-server binder på alle netværksgrænseflader (hvis ikke andet er angivet i log_server.conf-filen) og venter på meddelelser fra lokalt eller fjernhøstende noder og sender deres output til log.io-webserver (0.0.0.0 betyder, at det venter på beskeder fra enhver lokal eller ekstern høstmaskine) -fil log_server.conf
  3. Log.io-webserver binder på alle netværksgrænseflader, lytter til forbindelser til webklienter på port 28778 og behandler og outputter de meddelelser, den modtager internt fra log.io-serveren - fil web_server.conf

Åbn først harvester.conf -fil til redigering, som som standard kun overvåger Apache-logfiler og erstatter nodeName -erklæringen for at matche dit værtsnavn og definere logStreams udsagn med, hvilke interne logfiler du vil overvåge (i dette tilfælde overvåger jeg flere logfiler såsom revision, meddelelser og sikre logfiler). Brug nedenstående filuddrag som en vejledning.

# nano harvester.conf

Høstfil uddrag.

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

Også hvis du ikke har brug for mejetærskeroutput, der skal sendes til en ekstern Log.io -server, skal du ændre linjen vært server -erklæringen for kun at sende dens output lokalt ved at ændre 0.0.0.0-adresse med loopback-adresse ( 127.0.0.1) .

7. Af sikkerhedsmæssige årsager, hvis du ikke forventer fjernoptagelse af høstmaskiner til din lokale Log.io -server, skal du åbne log_server.conf -filen og erstatte 0.0.0.0 adresse med loopback-adresse ( 127.0.0.1 ).

# nano log_server.conf

8. Andre sikkerhedsfunktioner såsom login til legitimationsoplysninger, HTTPS eller begrænsning baseret på IP'er til Log.io webserver kan anvendes på webserver-siden. Til denne tutorial bruger jeg kun som legitimationslogin som sikkerhedsforanstaltning.

Så åbn web_server.conf filen, fjern kommentar til hele auth udsagnet ved at slette alle skråstreg og stjerner og udskift bruger og pass direktiver i overensstemmelse hermed som foreslået i nederste skærmbillede.

# nano web_server.conf

Trin 4: Tilføj firewallregel og start Log.io-applikation

9. For at få webadgang til Log.io server tilføj en regel på RHEL / CentOS 7 Firewall for at åbne TCP 28778 port ved at udstede følgende kommando.

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

Bemærk: RHEL/CentOS 6.x-brugere kan åbne port 28778 på iptabel firewall.

Trin 5: Start Log.io-applikationen, og åbn webgrænsefladen

10. For at starte Log.io ansøgning om logovervågning skal du sikre dig, at din nuværende arbejdsmappe er rodens hjem .log.io og bruge følgende kommandoer i følgende rækkefølge for at starte Ansøgning.

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

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

11. Når serveren er startet, skal du åbne en browser, skal du indtaste din serveres IP efterfulgt af 28778 portnummer ved hjælp af HTTP-protokol på URL-adressen, og en prompt, der kræver, at dine loginoplysninger skal vises.

Indtast din bruger og adgangskode, der er konfigureret på trin 8 for at gå videre, og Log.io -applikationen skal nu være synlig i din browser, der præsenterer overvågede logfiler i realtid.

http://192.168.1.20:28778

På webgrænsefladen tilføj nye skærme og organiser dine streams eller noder i overensstemmelse hermed.

12. Kør følgende kommando for at stoppe applikationen Log.io .

# pkill node

Trin 6: Opret Log.io Manage Script

13. For at kunne bruge en kommando, der administrerer applikationen Log.io med tre kontakter ( start , stop og status ) Opret følgende script med navnet log.io i /usr/local/bin eksekverbar katalog og tilføj eksekveringstilladelser til dette script.

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

Føj følgende uddrag til denne scriptfil.

#!/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. For at starte, stoppe eller se Log.io-statuslogin med rodkonto (eller den bruger, som Log.io-appen er installeret) og bare køre følgende kommandoer for nemt at administrere applikationen.

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

Det er alt! Efter min mening er Log.io en fremragende og effektiv webapplikation til overvågning af lokale eller eksterne servere, logfiler er i realtid og får et syn på, hvad der foregår internt i systemerne og især til fejlfinding af serverproblemer, når systemer har tendens til ikke at reagere eller går ned uden behov for at bruge en konsol.