Logboekregistratie is een cruciaal aspect van Linux-serverbeheer. Logboekberichten zijn handig voor analyse van de hoofdoorzaak en het voorkomen van mogelijke fouten in de toekomst. Het analyseren en debuggen van serverfouten is een kernvaardigheid voor zowel IT-ingenieurs als systeembeheerders.
Deze handleiding laat je zien hoe je een externe logging-server, ook wel een loghost genoemd, op Linux instelt. Met een loghost kunt u lokale Linux-logboeken samenvoegen naar een externe gecentraliseerde server voor gemakkelijke toegang en analyse.
Waarom een dedicated logserver?
Het Linux-besturingssysteem registreert de meeste activiteiten op uw server voor controle en foutopsporing met behulp van de syslog-daemon (systeemregistratieprotocol). Dus je vraagt je misschien af, waarom heb ik een dedicated server nodig voor mijn logs? Hier zijn enkele voordelen van het hebben van een speciale logserver:
- Betere beveiliging omdat de externe logging-server slechts een paar poorten naar buiten open heeft.
- Verbeterde serverprestaties omdat de host voor logboekregistratie op afstand niet veel services uitvoert, behalve degene die worden gebruikt voor logboekregistratie.
- Vereenvoudigt het archiveren en beheren van logberichten.
Logboekberichten zijn belangrijk voor het controleren van uw servers en basisvoering en vormen een essentieel onderdeel van preventieve onderhoudsprocedures op uw serverinfrastructuur.
Stap 1: rsyslog installeren op Linux
Deze gids richt zich op Ubuntu 20.04, maar het proces zou vrijwel hetzelfde moeten zijn als je andere reguliere Linux-distributies gebruikt.
rsyslog is een externe logging-service voor Linux en wordt standaard vooraf geïnstalleerd op de meeste moderne Linux-distributies, bijvoorbeeld Ubuntu en andere op Debian gebaseerde systemen.
De rsyslog-service is een moderne en verbeterde daemon voor syslog, waarmee u logs alleen lokaal kunt beheren. Met de rsyslog-daemon kunt u uw lokale logboeken naar een geconfigureerde externe Linux-server sturen.
Als rsyslog niet op uw pc is geïnstalleerd, kunt u dit eenvoudig doen met de volgende opdracht op op Debian gebaseerde distributies:
sudo apt install rsyslog
Op Red Hat Linux kun je het installeren door te typen:
yum installeer rsyslog
Voer op Fedora en zijn derivaten uit:
dnf rsyslog installeren
Om rsyslog op Arch Linux te installeren:
yay -S rsyslog
Voer de volgende opdracht uit om de status van rsyslog te controleren:
systemctl-status rsyslog
Uitgang:
Stap 2: De loghostserver configureren
De loghost is de server die is geconfigureerd om logberichten van andere servers of pc's te ontvangen. De rsyslog-configuratie bevindt zich in de /etc/rsyslog.conf het dossier.
U kunt de. openen /etc/rsyslog.conf bestand met behulp van elke teksteditor naar keuze. In deze handleiding gebruiken we Vim.
U hebt verhoogde bevoegdheden nodig om wijzigingen aan te brengen in het configuratiebestand.
Voordat u begint met het bewerken van het configuratiebestand, moet u een back-up of kopie van het bestand maken. Voer hiervoor de opdracht uit:
sudo cp /etc/rsyslog.conf /etc/rsyslog_original.config
Open vervolgens de /etc/rsyslog.conf bestand met behulp van een teksteditor.
sudo vim /etc/rsyslog.conf
Er zijn twee protocollen die u kunt gebruiken voor het verzenden/ontvangen van logbestanden met rsyslog: TCP en UDP. Deze handleiding laat zien hoe u beide kunt configureren.
U hoeft niet zowel UDP als TCP te configureren om logboekregistratie op afstand te laten werken. Kies slechts een van de twee.
Als u liever UDP gebruikt, zoek dan naar de volgende regels en verwijder de commentaar door de regel te verwijderen: Pond (#) symbool voorafgaand aan de regels. U vindt deze regels onder het gedeelte modules van het configuratiebestand.
module (load="imudp")
invoer (type = "imudp" poort = "514")
Als u liever TCP gebruikt, verwijder dan de commentaar op de volgende regels door de regel te verwijderen: Pond (#) symbool aan het begin van de regels:
module (load="imtcp")
invoer (type = "imtcp" poort = "514")
De volgende afbeelding toont het rsyslog-configuratiebestand dat is geconfigureerd om UDP-communicatie te gebruiken:
Configureer vervolgens de locatie waar rsyslog uw logboeken zal opslaan. Voor een betere organisatie moet u inkomende logboeken categoriseren op basis van hun oorsprong. Definieer een sjabloon in uw rsyslog-configuratiebestand door de volgende regels toe te voegen:
$template remote-incoming-logs, "/var/log/remote/%HOSTNAME%".log
*.* ?remote-incoming-logs
De bovengenoemde regels geven rsyslog de opdracht om de logs in de map op te slaan /var/log/remote/hostname, waar hostnaam is de naam van de externe client die logberichten naar de loghost verzendt.
Sla nu de wijzigingen op die u heeft aangebracht. Als u Vim gebruikt, hier leest u hoe u een bestand opslaat en afsluit.
Start ten slotte de rsyslog-services opnieuw om de wijzigingen die u hebt aangebracht van kracht te laten worden.
sudo systemctl herstart rsyslog
Stap 3: Uw firewall configureren
Als uw firewall is ingeschakeld, zorg er dan voor dat de poort die u hierboven hebt geconfigureerd, kan communiceren met de buitenwereld. U moet uw firewallregels aanpassen om inkomende logboeken toe te staan.
Gebruik voor op Debian gebaseerde distributies gewoon de UFW-tool om het UDP- of het TCP-overdrachtsprotocol in te schakelen.
Verwant: Hoe de firewall in Ubuntu te configureren met UFW
Als u UDP gebruikt, voert u de volgende opdracht uit, waarbij 514 het geconfigureerde poortnummer is:
sudo ufw 514/udp
Als u TCP op poort 514 gebruikt, voert u eenvoudig het volgende uit:
sudo ufw 514/tcp
Op Fedora kun je firewall-cmd om vergelijkbare resultaten te bereiken.
firewall-cmd --zone=zone --add-port=514/udp
Open voor Red Hat Linux de iptables bestand gelokaliseerd op /etc/sysconfig/iptables met uw teksteditor naar keuze, en voeg de volgende regel toe:
-A INPUT -m status --status NIEUW -m udp -p udp --dport 514 -j ACCEPTEREN
Start de iptables-service opnieuw om de wijzigingen door te voeren.
service iptables herstart
Stap 4: De logboekclient configureren
De client is de machine die zijn logbestanden naar een externe of gecentraliseerde loghostserver stuurt. Open het rsyslog-configuratiebestand op /etc/rsyslog.conf:
sudo vim /etc/rsyslog.conf
Voeg de volgende regel toe als u UDP gebruikt, waarbij: 192.168.12.123 is het IP-adres van de externe server, dan schrijft u uw logs naar:
*.* @192.168.12.123:514
Als u TCP gebruikt, voegt u in plaats daarvan de volgende regel toe. Merk op dat de regel twee. heeft @ symbolen.
*.* @@192.168.12.123:514
Sla uw wijzigingen op en start de rsyslog-service op de client opnieuw met de opdracht:
sudo systemctl herstart rsyslog
Stap 5: De logberichten op de server bekijken
U kunt SSH gebruiken om in te loggen op uw externe server en de logboeken te bekijken die zijn verzonden vanaf de clientservers. In dit geval is rsyslog zo geconfigureerd dat het de clientlogs opslaat in de /var/log/remote directory van de externe server.
cd /var/logs/remote
Geef vervolgens de inhoud van de map weer met het ls-commando:
ls -l
Zoals u in de uitvoer kunt zien, bevat de map logberichten voor de externe servers met de naam andiwa en rukuru. Hun logbestanden hebben de naam andiwa.log en rukuru.log respectievelijk.
U kunt de logbestanden dan bekijken met een teksteditor of met Hulpprogramma's voor het bekijken van Linux-bestanden zoals kat of minder.
Logboekregistratie op afstand geeft u meer controle
In deze handleiding is gekeken naar het opzetten van een externe logserver (loghost) op Linux.
Een loghost biedt u een betere organisatie en controle als het gaat om logging. Zelfs in scenario's waarin een systeem beschadigd of ontoegankelijk is, kunt u nog steeds de logbestanden van de loghost bekijken en uitzoeken wat er mis is gegaan.
Aan de slag met systeemregistratie in Linux
Lees volgende
Gerelateerde onderwerpen
- Linux
- Systeem administratie
- Linux-opdrachten
Over de auteur
Mwiza ontwikkelt software van beroep en schrijft uitgebreid over Linux en front-end programmeren. Enkele van zijn interesses zijn geschiedenis, economie, politiek en ondernemingsarchitectuur.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren