Overvåk serverlogger i sanntid med Log.io-verktøyet på RHEL/CentOS 7/6


Log.io er en liten enkel, men effektiv applikasjon bygget på toppen av Node.js og Socket.io, som gjør det mulig å overvåke Linux-serverloggen filer i sanntid gjennom nettgrensesnittskjermwidgets.

Denne veiledningen vil veilede deg om hvordan du kan installere og overvåke lokale loggfiler i sanntid med Log.io installert på RHEL/CentOS 7/6.x ved å konfigurere Log.io b> Harvester-fil for å overvåke eventuelle lokale endringer i loggfiler.

Trinn 1: Legg til Epel Repositories

1. CentOS Epel repositories gir binærpakkene for Node.js og NPMNode Packaged Modules. Installer Epel repositories ved å utstede 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. Etter at du har lagt til Epel Repos på systemet ditt, gjør en systemoppgradering ved å kjøre følgende kommando.

# yum update

Trinn 2: Installer Node.js og NPM-pakker

3. Node.js er en Javascript-programmeringsplattform på serversiden som lar deg lage nettverksapplikasjoner med backend-funksjonalitet. NPM (Node Package Manager) er praktisk talt pakkebehandleren for Node.js. Så, på neste trinn, fortsett og installer Node.js og NMP-binærfiler på systemet ditt gjennom YUM-pakkebehandling ved å utstede følgende kommandoer.

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

Trinn 3: Installer og konfigurer Log.io-applikasjonen

4. Log.io-applikasjonen må installeres på systemet ditt gjennom NPM ved å spesifisere en gyldig lokal systembruker, som installasjonen må finne sted gjennom. Selv om du kan bruke hvilken som helst gyldig systembruker til å installere Log.io, anbefaler jeg personlig å installere applikasjonen via root-bruker eller annen systembruker med root-privilegier.

Grunnen til å bruke denne tilnærmingen er at Log.io må ha tilgang til å lese lokale loggfiler, og en bruker med rotrettigheter uten privilegier kan vanligvis ikke få tilgang til og lese noen viktige loggfiler.

Så logg på med root-konto og installer Log.io-applikasjonen gjennom root-konto ved å utstede følgende kommando (hvis du bruker en annen bruker, erstatt root-kontoen med systembrukeren din tilsvarende).

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

5. Etter at applikasjonen er installert, endre arbeidskatalogen til Log.io-mappen, som er skjult, og gjør en katalogoppføring for å visualisere mappeinnholdet for å konfigurere applikasjonen videre.

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

6. Nå er det på tide å konfigurere Log.io for å overvåke lokale loggfiler i sanntid. La oss få et innblikk i hvordan Log.io fungerer.

  1. Harvester-filen ser etter endringer i de spesifiserte lokale loggfilene som er deklarert i konfigurasjonen, og sender utdata via socket.io TCP
    protokoll som videre sender meldingene til Log.io lokal server eller en hvilken som helst annen ekstern server deklarert med sin IP-adresse (0.0.0.0-adresse spesifisert på harvesters kringkasting til alle log.io lytteservere) – fil harvester.conf
  2. Log.io-serveren binder seg til alle nettverksgrensesnitt (hvis ikke annet er spesifisert i log_server.conf-filen) og venter på meldinger fra lokale eller eksterne harvester-noder og sender utdataene deres til log.io-webserveren (0.0.0.0 betyr at det venter på meldinger fra lokale eller eksterne høstere) fil log_server.conf
  3. Log.io-nettserveren binder seg til alle nettverksgrensesnitt, lytter etter nettklientforbindelser på port 28778 og behandler og sender ut meldingene den mottar internt fra log.io-serveren – fil web_server.conf< /li>

Åpne først harvester.conf-filen for redigering, som som standard bare overvåker Apache-loggfiler, og erstatt nodeName-setningen for å matche vertsnavnet og definere logStreams uttalelser med hvilke interne loggfiler du vil overvåke (i dette tilfellet overvåker jeg flere loggfiler som revisjon, meldinger og sikre logger). Bruk filutdraget nedenfor som en veiledning.

# nano harvester.conf

Harvester-filutdrag.

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

Hvis du ikke trenger at høstemaskinutdata skal sendes til en ekstern Log.io-server, endrer du linjen vertserver-setningen til kun å sende utgangen lokalt ved å endre 0.0.0.0-adressen med tilbakekoblingsadresse (127.0.0.1).

7. Av sikkerhetsgrunner, hvis du ikke forventer utdata fra eksterne høstere til din lokale Log.io-server, åpne log_server.conf-filen og erstatt 0.0.0.0 b>-adresse med loopback-adresse (127.0.0.1).

# nano log_server.conf

8. Andre sikkerhetsfunksjoner som pålogging med legitimasjon, HTTPS eller begrensning basert på IP-er til Log.io-nettserveren kan brukes på nettserversiden. For denne opplæringen vil jeg bare bruke som et sikkerhetstiltak bare påloggingsinformasjon.

Så åpne web_server.conf-filen, fjern kommentaren til hele auth-setningen ved å slette alle skråstreker og stjerner og erstatte bruker og pass b> direktiver tilsvarende som foreslått på det nederste skjermbildet.

# nano web_server.conf

Trinn 4: Legg til brannmurregel og start Log.io-applikasjonen

9. For å få nettilgang til Log.io-serveren legg til en regel på RHEL/CentOS 7 brannmur for å åpne TCP 28778 port ved å utstede følgende kommando.

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

Merk: RHEL/CentOS 6.x-brukere kan åpne port 28778 på iptable brannmur.

Trinn 5: Start Log.io Application og skriv inn Web Interface

10. For å starte Log.io loggovervåkingsapplikasjon, forsikre deg om at din nåværende arbeidskatalog er root-hjemmet .log.io og bruk følgende kommandoer i følgende rekkefølge for å starte applikasjon.

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

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

11. Etter at serveren er startet, åpner du en nettleser, skriv inn serverens IP etterfulgt av 28778 portnummer ved hjelp av HTTP-protokollen på URL-adressen og en melding som krever påloggingsinformasjonen din skal vises.

Skriv inn brukeren og passordet ditt konfigurert på trinn 8 for å fortsette videre, og Log.io-applikasjonen skal nå være synlig i nettleseren din og presentere overvåkede loggfiler i sanntid.

http://192.168.1.20:28778

På webgrensesnittet legg til nye skjermer og organiser strømmer eller noder deretter.

12. For å stoppe Log.io-applikasjonen, kjør følgende kommando.

# pkill node

Trinn 6: Lag Log.io Manage Script

13. For å bruke en kommando som administrerer Log.io-applikasjonen med tre brytere ( start, stopp og status) lag følgende skript kalt log.io i /usr/local/bin kjørbar katalog og legg til utførelsestillatelser til dette skriptet.

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

Legg til følgende utdrag til denne skriptfilen.

#!/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 å starte, stoppe eller se Log.io-statuspålogging med root-konto (eller brukeren som Log.io-appen har blitt installert) og bare kjør følgende kommandoer for enkelt å administrere applikasjonen.

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

Det er alt! Etter min mening er Log.io en utmerket og effektiv nettapplikasjon for å overvåke lokale eller eksterne servere loggfiler i sanntid og få et innblikk i hva som foregår internt i systemene og spesielt for å feilsøke serverproblemer når systemer har en tendens til å ikke reagere eller krasjer, uten at det er nødvendig å bruke en konsoll.