Sådan bruges syslog-ng til at indsamle logfiler fra eksterne Linux-maskiner

Billede: Jack Wallen

Lad os sige, at dit datacenter er fyldt med Linux-servere, og at du er nødt til at administrere dem alle. En del af dette administrationsjob er visning af logfiler. Men hvis du ser på adskillige maskiner, betyder det, at du logger ind på hver maskine individuelt, læser logfiler og derefter går videre til den næste. Afhængig af hvor mange maskiner du har, kan det tage en stor del tid fra din dag.

Eller du kan konfigurere en enkelt Linux-maskine til at samle disse logfiler. Det ville gøre din dag betydeligt mere effektiv. For at gøre dette kan du vælge et antal forskellige systemer, hvoraf det ene er syslog-ng.

Problemet med syslog-ng er, at dokumentationen ikke er den nemmeste at kæmpe igennem. Dog har jeg taget sig af det og kommer til at lægge installationen og konfigurationen op på en sådan måde, at du kan have syslog-ng op og køre på kort tid. Jeg demonstrerer på Ubuntu Server 16.04 om en to systemopsætning:

  • UBUNTUSERVERVM på IP-adresse 192.168.1.118 fungerer som logopsamler
  • UBUNTUSERVERVM2 fungerer som en klient og sender logfiler til samleren

Lad os installere og konfigurere.

Installation

Installationen er enkel. Jeg installerer fra standardlager for at gøre dette så let som muligt. For at gøre dette skal du åbne et terminalvindue og udstede kommandoen:

 sudo apt install syslog-ng 

Du skal udstede ovennævnte kommando på både samler og klient. Når det er installeret, er du klar til at konfigurere.

Konfiguration for samleren

Vi starter med konfigurationen af ​​logopsamleren. Konfigurationsfilen er /etc/syslog-ng/syslog-ng.conf . Uden for boksen inkluderer syslog-ng en konfigurationsfil. Det vil vi ikke bruge. Lad os omdøbe standardkonfigurationsfilen med kommandoen sudo mv /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.BAK . Opret nu en ny konfigurationsfil med kommandoen sudo nano /etc/syslog/syslog-ng.conf . Tilføj følgende i den fil:

 @version: 3.5 @ inkluderer "scl.conf" @ inkluderer "scl-root" / system / tty10.conf "indstillinger {time-reap (30); mark-freq (10); holde-værtsnavn (ja); }; kilde s_local {system (); indre(); }; kilde s_network {syslog (transport (tcp) port (514)); }; destination d_local {fil ("/ var / log / syslog-ng / meddelelser _ $ {HOST}"); }; destination d_logs {fil ("/var/log/syslog-ng/logs.txt" ejer ("root") gruppe ("root") perm (0777)); }; log {kilde (s_local); kilde (s_network); destination (d_logs); }; 

Bemærk, at vi arbejder med port 514, så du skal sørge for, at den er tilgængelig på dit netværk.

Gem og luk filen. Ovenstående konfiguration vil dumpe de ønskede logfiler (betegnet med system () og intern ()) i /var/log/syslog-ng/logs.txt . På grund af dette skal du oprette kataloget og filen med følgende kommandoer:

 sudo mkdir / var / log / syslog-ng sudo touch /var/log/syslog-ng/logs.txt 

Start og aktiver syslog-ng med kommandoerne:

 sudo systemctl start syslog-ng sudo systemctl aktiverer syslog-ng 

Konfiguration for klienten

Vi vil gøre det samme på klienten (flytte standardkonfigurationsfilen og oprette en ny konfigurationsfil). Kopier følgende tekst til den nye klientkonfigurationsfil:

 @version: 3.5 @include "scl.conf" @include "` scl-root '/ system / tty10.conf "kilde s_local {system (); indre(); }; destination d_syslog_tcp {syslog ("192.168.1.118" transport ("tcp") port (514)); }; log {kilde (s_local); destination (d_syslog_tcp); }; 

Bemærk: Skift IP-adresse, så den svarer til adressen på din samlerserver.

Gem og luk filen. Start og aktiver syslog-ng på samme måde, som du gjorde på samleren.

Se logfilerne

Gå tilbage til din samler og udsend kommandoen sudo tail -f /var/log/syslog-ng/logs.txt . Du skal se output, der inkluderer logposter for både samler og klient ( figur A ).

Figur A

Syslog-ng indsamler logfiler fra både samleren og klienten.

Tillykke, syslog-ng fungerer. Du kan nu logge ind på din samler for at se logfiler fra både den lokale maskine og den eksterne klient. Hvis du har flere Linux-servere i dit datacenter, skal du gå igennem processen med at installere syslog-ng og indstille hver af dem som en klient til at sende deres logfiler til samleren, så du ikke længere behøver at logge ind på individuelle maskiner for at se logfiler .

Datacenter Trends Nyhedsbrev

DevOps, virtualisering, hybrid sky, opbevaring og driftseffektivitet er blot nogle af de datacenteremner, vi vil fremhæve. Leveres mandage og onsdage

Tilmeld dig i dag

© Copyright 2020 | mobilegn.com