Hvordan sende Linux -logger til en ekstern server

Hvordan sende Linux -logger til en ekstern server
Denne Linux -opplæringen forklarer hvordan du sender Linux -logger til en ekstern server.

Etter å ha lest denne opplæringen, vil du vite hvordan du konfigurerer Linux -serveren og klienten til å sende logger eksternt. Du vil også lære å åpne nødvendige porter i systemet ditt ved hjelp av UFW (ukomplisert brannmur).

Denne korte opplæringen er optimalisert for brukere som leter etter en rask kunnskapskilde og en rask implementering.

Alle instruksjoner beskrevet i dette dokumentet inkluderer skjermbilder som letter uerfarne brukere til å følge dem.

Fordeler med å sende Linux -logger til en ekstern server

Hovedårsaken til å implementere fjernlogging er den samme, fordi en dedikert /var Partisjon anbefales: et spørsmål om rom, men ikke bare. Ved å sende logger til en ekstern lagringsenhet, kan du garantere tilgang til dem allerede før et systemkrasj og oppbevare en stor historisk database med feil. Denne implementeringen lar oss også sentralisere rapporter for mer enn en enhet.

Komme i gang med Linux fjernlogging

Programmet som brukes til å sende logger eksternt i denne opplæringen er rsyslog, som er inkludert som standard i mange Linux -distribusjoner, inkludert Debian og Ubuntu Linux.

For å sjekke om RSYSLOG er installert i systemet ditt og dets status, utfør kommandoen som er vist i følgende skjermbilde:

Sudo Service Rsyslog Status

Som du kan se, er statusen aktiv på følgende skjermbilde.

Merk: Hvis rsyslog er ikke installert i systemet ditt, du kan bruke Packages Manager for å få det. (E.g., sudo apt install rsyslog)

Hvis rsyslog er ikke aktiv, du kan starte det ved å kjøre følgende kommando:

sudo service rsyslog start

Du kan også starte RsySlog ved å kjøre følgende kommando:

Merk: For ytterligere informasjon om administrasjon av Debian/Ubuntu -tjenester, les stopp, start og start tjenester på Debian på Debian.

sudo systemctl start rsyslog

De rsyslog Verktøyet krever konfigurasjon i både sending (klient) og mottaker (server) enheter. Den neste delen av denne opplæringen forklarer hvordan du konfigurerer serversiden. Her er instruksjonene for å konfigurere klienten.

Hvordan sende Linux -logger til en ekstern server: serversiden

Vi må konfigurere både serveren og klienten til å sende logger eksternt. Denne delen vil gi instruksjoner for konfigurasjonen av serversiden for å fortsette å konfigurere klienten.

De rsyslog Konfigurasjonsfilen er /etc/rsyslog.konf. Du kan redigere denne filen ved hjelp av hvilken som helst tekstredigerer som Nano eller vi.

For denne opplæringen bruker jeg Nano. Åpne filen, som vist i følgende skjermbilde:

sudo nano /etc /rsyslog.konf

Når du sender logger eksternt, vil både lokale og eksterne enheter skrive den samme filen. Dermed ville det gjøre det å lese det til en ubehagelig oppgave. For å unngå dette og få logger hver for seg, legg til følgende kode i /etc/rsyslog fil, som vist i følgende bilde:

$ Mal Remotelogs, ”/var/log/%vertsnavn%/Remotelog.Logg"
*.* ?Remotelogs
& ~

Bla nedover filen og ukompeter følgende linjer ved å fjerne talltegnet (#) i begynnelsen av hver linje:

Modul (last = "imudp")
input (type = "imudp" port = "514")

Også, ukompetent følgende:

modul (last = ”IMTCP”)
input (type = ”imtcp” port = ”514”)

De fire linjene må være som vist i forrige skjermbilde for å tillate logging gjennom både TCP- og UDP -protokoller.

Når du er ferdig med å redigere filen, trykk Ctrl+x og så Y For å lagre endringer hvis du bruker Nano.

Etter å ha redigert og lagret /etc/rsyslog.konf fil, vi må oppdatere brannmurreglene for å tillate trafikk gjennom port 514 som er definert som standard i konfigurasjonsfilen.

For å redigere brannmurreglene i denne opplæringen bruker jeg UFW (ukomplisert brannmur).

For å åpne porten 514 for TCP -protokollen, kjør kommandoen vist i følgende bilde:

sudo ufw tillater 514/tcp

For å fullføre, åpne UDP -porten 514 ved å kjøre følgende kommando:

UFW Tillat 514/UDP

Nå er serverkonfigurasjonen din klar til å få eksterne logger. Start RSYSLOG -tjenesten på nytt ved å kjøre følgende kommando:

sudo service rsyslog omstart

Når serveren er klar, la oss fortsette med klientkonfigurasjonen.

Hvordan sende Linux -logger til en ekstern server: Klientsiden

Denne opplæringsdelen forklarer hvordan du konfigurerer Linux -klienten til å sende logger til den eksterne serveren. Følgende trinn som er beskrevet, må gjøres på klientapparatet.

På klienten er konfigurasjonsfilen vi trenger å redigere /etc/rsyslog.konf.

Kjør kommandoen vist i følgende bilde på klientenheten:

sudo nano /etc /rsyslog.konf

Innenfor denne filen må vi legge til en linje med følgende syntaks:

*.* @@:

I mitt tilfelle er serveren IP 192.168.0.103. Derfor vil jeg legge til følgende linje, som du kan se i følgende skjermbilde:

Merk: Bruk bare et AT -symbol (@) hvis du bare bruker UDP -protokollen.

*.* @@ 192.168.0.103: 514

Etter å ha redigert filen, trykk Ctrl+x og så Y For å lagre endringer.

Nå kan du starte RSYSLog for å bruke endringer ved å utføre kommandoen, som vist nedenfor:

sudo service rsyslog omstart

Vi er ferdige med klientkonfigurasjonen og er klar til å lese de eksterne logger på serveren.

Les Linux -logger på serveren

Etter å ha fulgt de tidligere trinnene, er begge systemene klare til å sende og motta logger.

Linux -logger lagres under /var/log katalog. Når du bruker rsyslog Som standard er lokale og eksterne logger skrevet i den samme loggfilen, noe som er ubehagelig å lese. Men når vi redigerte serveren /etc/rsyslog.konf Fil på serveren, vi instruerte RsySlog om å lagre logger i forskjellige kataloger og filer.

I henhold til konfigurasjonen vår vil eksterne logger bli lagret i en katalog med navnet på den eksterne verten under /var/log. I mitt tilfelle heter den eksterne verten Linuxhint2; For å se eksterne logger, må jeg derfor se filene under /var/log/linuxhint2, hvor Linuxhint2 er det eksterne vertsnavnet, du må erstatte det med kundens vertsnavn.

Som du kan se i følgende skjermbilde, under /var/log, Det er to kataloger for hver enhet: lokale (Linuxhint) og eksterne (Linuxhint2) enheter.

LS /var /log

Derfor, for å se loggen i den eksterne katalogen, kjører jeg følgende kommando, der du trenger å erstatte Linuxhint2 med ditt eksterne vertsnavn:

sudo ls/var/log/linuxhint2

Som du ser i forrige bilde, er det en fil som heter Remotelog.Logg, filnavnet vi definerte da vi redigerte serveren /etc/rsyslog.konf fil.

For å lese loggen, kan du bruke mindre Kommando i følgende eksempel:

sudo mindre/var/log/linuxhint2/remotelog.Logg

Som du ser fungerer ekstern logging ordentlig.

Nå er fjernlogging klar.

Les The Man-siden for å lære mer om RsySlog og dens tilleggsfunksjoner, inkludert sikkerhet, multi-tråd, MySQL, Oracle, PostgreSQL og annen DB-integrasjon, meldingsfiltrering, utgangskonfigurasjon og mer på https: // linux.dø.nett/mann/5/rsyslog.konf.

RSYSLOG -alternativer

Markedet tilbyr flere alternativer til RSYSLOG med tilleggsfunksjoner, hvorav noen er listet opp nedenfor:

  • Nxlog: NXLog er et RSYSLOG -alternativ som støtter GNU/Linux og Windows -operativsystemer. Det er åpen kildekode og tilbyr både fellesskaps- og bedriftsutgaver. Den har tilleggsfunksjoner for å samle informasjon om ondsinnet atferd. Den støtter også filtreringshendelseslogger og loggvideresending.
  • Syslog-ng: Syslog-ng OSE er et annet alternativ til Rsyslog, som støtter Linux, Microsoft Windows, FreeBSD, Mac OS X, Solaris, AIX, etc. Som NXLog, tilbyr den både Enterprise og Community Editions.
  • Logzilla: Dette er et annet loggingsalternativ, gratis for hjemmebrukere og laboratorier, men betalte for kommersielle brukere. I følge nettstedet kan det redusere ressurskostnadene og automatisk utløse handlingsrike innsikt basert på de innsamlede dataene.

Det er mange flere alternativer du kan utforske, men likevel er RSYSLOG fortsatt den mest populære blant Linux- og Unix -brukere.

Konklusjon

Som du kan se, er konfigurering og implementering av ekstern Linux -logging en enkel prosess enhver Linux -bruker kan gjøre uavhengig av kunnskapsnivået. Fjernlogging er en flott løsning for problemer, for eksempel full disk på grunn av et stort antall logger, som indikert i denne artikkelen. Det er en utmerket mulighet for produksjonsservere å garantere tilgang til kritisk informasjon før hendelser. RSYSLOG er åpen kildekode og gratis, og det er den mest eksterne loggprogramvaren som støttes av Linux-samfunnet. Denne opplæringen fokuserte på Linux, men Rsyslog har en Windows -agent som lar sysadmins og brukere dele logger mellom Microsoft Windows og Linux -operativsystemer.

Takk for at du leste denne opplæringen, og vi håper det var nyttig for deg. Fortsett å lese Linuxhint for mer profesjonelle opplæringsprogrammer.