Att ladda upp loggar till en fjärrvärd gör det möjligt för oss att centralisera rapporter för mer än en enhet och hålla en rapportbackup för att undersöka om något misslyckas med att hindra oss från att komma åt loggar lokalt.
Denna handledning visar hur man ställer in en fjärrserver för värdloggar och hur man skickar dessa loggar från klientenheter och hur man klassificerar eller delar loggar i kataloger efter klientvärd.
För att följa instruktionerna kan du använda en virtuell enhet, jag tog en gratis nivå VPS från Amazon (om du behöver hjälp med att ställa in en Amazon-enhet har de bra dedikerat innehåll på den på LinuxHint på https: // linuxhint.com / kategori / aws /). Observera att serverns offentliga IP skiljer sig från dess interna IP.
Innan du startar:
Programvaran som används för att skicka loggar på distans är rsyslog, den kommer som standard på Debian och härledda Linux-distributioner, om du inte har den körd:
# sudo apt installera rsyslogDu kan alltid kontrollera rsyslog-tillståndet genom att köra:
# sudo service rsyslog status
Som du kan se är statusen på skärmdumpen aktiv, om din rsyslog inte är aktiv kan du alltid starta den genom att köra:
# sudo service rsyslog startEller
# systemctl start rsyslog
Notera: För ytterligare information om alla alternativ för hantering av Debians tjänster Stoppa, starta och starta om tjänster på Debian.
Att starta rsyslog är inte relevant just nu eftersom vi måste starta om det efter att ha gjort några ändringar.
Så här skickar du Linux-loggar till en fjärrserver: Serversidan
Först och främst redigerar du filen på servern / etc / resyslog.konf använder nano eller vi:
# nano / etc / rsyslog.konf
Avmarkera eller lägg till följande rader i filen:
modul (load = "imudp")ingång (typ = "imudp" port = "514")
modul (load = "imtcp")
ingång (typ = "imtcp" port = "514")
Ovan har vi inte kommenterat eller lagt till loggmottagningar via UDP och TCP, du kan bara tillåta en av dem eller båda, när du inte har kommenterat eller lagt till måste du redigera dina brandväggsregler för att tillåta inkommande loggar, för att tillåta loggmottagning genom TCP-körning:
# ufw tillåter 514 / tcp
För att tillåta inkommande loggar genom UDP-protokollkörning:
# ufw tillåter 514 / udp
För att tillåta både TCP och UDP kör du de två kommandona ovan.
Notera: för mer information om UFW kan du läsa Arbeta med Debian Firewalls (UFW).
Starta om rsyslog-tjänsten genom att köra:
# sudo service rsyslog startar om
Fortsätt nu på klienten för att konfigurera sändande loggar, då återkommer vi till servern för att förbättra formatet.
Så här skickar du Linux-loggar till en fjärrserver: klientsidan
På klientens sändande loggar lägg till följande rad och ersätt IP 18.223.3.241 för din server-IP.
*.* @@ 18.223.3.241: 514
Avsluta och spara ändringar genom att trycka på CTRL + X.
Starta om rsyslog-tjänsten när du är redigerad genom att köra:
# sudo service rsyslog startar om
På serversidan:
Nu kan du kontrollera loggar inuti / var / log, när du öppnar dem märker du blandade källor för din logg, följande exempel visar loggar från Amazons interna gränssnitt och från Rsyslog-klienten (Montsegur):
En zoom visar det tydligt:
Att ha blandade filer är inte bekvämt, nedan redigerar vi rsyslog-konfigurationen för att separera loggar enligt källan.
För att diskriminera loggar i en katalog med namnet på klientvärden, lägg till följande rader till servern / etc / rsyslog.conf för att instruera rsyslog hur man sparar fjärrloggar, hur man gör det i rsyslog.conf lägg till raderna:
$ mall RemoteLogs, "/ var / log /% HOSTNAME% /.logga"*.* ?RemoteLogs
& ~
Avsluta spara ändringar genom att trycka på CTRL + X och starta om rsyslog på servern igen:
# sudo service rsyslog startar om
Nu kan du se nya kataloger, en som heter ip-172.31.47.212 som är AWS internt gränssnitt och andra som kallas “montsegur” som rsyslog-klienten.
Inom katalogerna hittar du loggarna:
Slutsats:
Fjärrloggning erbjuder en utmärkt lösning på ett problem som kan få ner tjänster om serverlagringen blir full av loggar, som sagt i början, det är också ett måste i vissa fall där systemet kan skadas allvarligt utan att tillåta åtkomst till loggar , i sådana fall garanterar en fjärrloggserver sysadmin-åtkomst till serverhistoriken.
Att implementera den här lösningen är tekniskt ganska enkelt och till och med gratis med tanke på att höga resurser inte behövs och fria servrar som AWS-fria nivåer är bra för denna uppgift, om du ökar loggöverföringshastigheten kan du bara tillåta UDP-protokoll (trots att du förlorar tillförlitligheten). Det finns några alternativ till Rsyslog som: Flume eller Sentry, men rsyslog är fortfarande det mest populära verktyget bland Linux-användare och sysadmins.
Jag hoppas att du tyckte att den här artikeln om hur du skickar Linux-loggar till en fjärrserver användbar.