Å laste opp logger til en ekstern vert lar oss sentralisere rapporter for mer enn én enhet og holde en sikkerhetskopi av rapporten for å undersøke i tilfelle noe mislykkes og hindrer oss i å få tilgang til logger lokalt.
Denne opplæringen viser hvordan du konfigurerer en ekstern server for vertslogger og hvordan du sender disse loggene fra klientenheter og hvordan du klassifiserer eller deler logger i kataloger etter klientvert.
For å følge instruksjonene kan du bruke en virtuell enhet, jeg tok en gratis nivå VPS fra Amazon (hvis du trenger hjelp til å sette opp en Amazon-enhet, har de flott dedikert innhold på den på LinuxHint på https: // linuxhint.no / kategori / aws /). Merk serverens offentlige IP er annerledes enn den interne IP-en.
Før du starter:
Programvaren som brukes til å sende logger eksternt, er rsyslog, den kommer som standard på Debian og avledede Linux-distribusjoner, i tilfelle du ikke har den kjørt:
# sudo apt installere rsyslogDu kan alltid sjekke rsyslog-tilstanden ved å kjøre:
# sudo service rsyslog status
Som du ser statusen på skjermbildet er aktiv, hvis rsyslog ikke er aktiv, kan du alltid starte den ved å kjøre:
# sudo service rsyslog startEller
# systemctl start rsyslog
Merk: For ytterligere informasjon om alle alternativene for å administrere Debian-tjenester Stopp, start og start tjenester på Debian.
Å starte rsyslog er ikke relevant akkurat nå, fordi vi må starte den på nytt etter å ha gjort noen endringer.
Slik sender du Linux-logger til en ekstern server: Serversiden
Først og fremst redigerer du filen på serveren / etc / resyslog.konf bruker nano eller vi:
# nano / etc / rsyslog.konf
Fjern kommentarer eller legg til følgende linjer i filen:
modul (load = "imudp")inngang (type = "imudp" port = "514")
modul (load = "imtcp")
inngang (type = "imtcp" port = "514")
Ovenfor har vi ikke kommentert eller lagt til loggmottak gjennom UDP og TCP, kan du bare tillate en av dem eller begge, når du er ukommentert eller lagt til, må du redigere brannmurreglene for å tillate innkommende logger, for å tillate loggmottak gjennom TCP-kjøring:
# ufw tillate 514 / tcp
Slik tillater du innkommende logger gjennom UDP-protokollkjøring:
# ufw tillate 514 / udp
For å tillate gjennom både TCP og UDP, kjør de to kommandoene ovenfor.
Merk: for mer informasjon om UFW kan du lese Arbeide med Debian Firewalls (UFW).
Start rsyslog-tjenesten på nytt ved å kjøre:
# sudo service rsyslog start på nytt
Fortsett nå på klienten for å konfigurere sendelogger, så kommer vi tilbake til serveren for å forbedre formatet.
Slik sender du Linux-logger til en ekstern server: Klientsiden
På klienten som sender logger, legger du til følgende linje, og erstatter IP 18.223.3.241 for serverens IP.
*.* @@ 18.223.3.241: 514
Avslutt og lagre endringene ved å trykke CTRL + X.
Start redslog-tjenesten på nytt ved å kjøre:
# sudo service rsyslog start på nytt
På serversiden:
Nå kan du sjekke logger inne / var / logg. Når du åpner dem, vil du legge merke til blandede kilder for loggen din, følgende eksempel viser logger fra Amazons interne grensesnitt og fra Rsyslog-klienten (Montsegur):
En zoom viser det klart:
Å ha blandede filer er ikke behagelig. Nedenfor redigerer vi rsyslog-konfigurasjonen for å skille logger i henhold til kilden.
For å skille logger i en katalog med navnet på klientverten, legg til følgende linjer på serveren / etc / rsyslog.conf for å instruere rsyslog hvordan du lagrer eksterne logger, for å gjøre det i rsyslog.conf legg til linjene:
$ mal RemoteLogs, "/ var / log /% HOSTNAME% /.Logg"*.* ?RemoteLogs
& ~
Avslutt lagring av endringer ved å trykke CTRL + X og starte rsyslog på serveren igjen:
# sudo service rsyslog start på nytt
Nå kan du se nye kataloger, en som heter ip-172.31.47.212 som er AWS internt grensesnitt og annet kalt “montsegur” som rsyslog-klienten.
Innenfor katalogene kan du finne loggene:
Konklusjon:
Ekstern logging tilbyr en god løsning på et problem som kan bringe tjenester ned hvis serverlagringen blir full av logger, som sagt i begynnelsen, det er også et must i noen tilfeller der systemet kan bli alvorlig skadet uten å gi tilgang til logger. , i slike tilfeller garanterer en ekstern loggserver sysadmin-tilgang til serverloggen.
Å implementere denne løsningen er teknisk ganske enkelt og til og med gratis med tanke på at det ikke er behov for store ressurser, og gratis servere som AWS-gratis nivåer er bra for denne oppgaven, hvis du øker loggoverføringshastigheten, kan du bare tillate UDP-protokoll (til tross for at du mister påliteligheten). Det er noen alternativer til Rsyslog som: Flume eller Sentry, men rsyslog er fortsatt det mest populære verktøyet blant Linux-brukere og sysadmins.
Jeg håper du fant denne artikkelen om hvordan du sender Linux-logger til en ekstern server nyttig.