Hoe Rsyslog-logserver op Linux te installeren

Als beheerders, IT-ondersteunend personeel of managers van het netwerk- en systeemgebied hebben we iets fundamenteels om ons te helpen elke gebeurtenis die zich binnen het systeem voordoet bij te houden, zowel op het niveau van gebruikers, applicaties of het systeem zelf, en dit zijn de evenementen.

Elke gebeurtenis registreert een reeks elementen die ons helpen elke activiteit in detail te bepalen met waarden zoals datum, tijd, ID, gebruiker en gebeurtenis die heeft plaatsgevonden, waardoor we een veel meer gecentraliseerd beheer en beheer hebben.
We kunnen zien dat elk record tot een andere categorie behoort, zoals systeem, beveiliging, enz.

In Linux-omgevingen hebben we de beschikking over het hulpprogramma Rsyslog waarmee het mogelijk wordt om deze gebeurtenissen op een eenvoudige en volledige manier te beheren.

Wat is RsyslogRsyslog (razendsnel systeem voor log - snel systeem voor logverwerking) is een hulpprogramma dat is ontworpen om hoge prestaties, uitstekende beveiligingsfuncties en een modulair ontwerp te bieden waardoor het schaalbaar is om aan elke bedrijfsbehoefte te voldoen.

Rsyslog kan invoer van een grote verscheidenheid aan bronnen accepteren, deze transformeren en resultaten genereren voor verschillende bestemmingen, waardoor het IT-beheer wordt geoptimaliseerd.

RSYSLOG is in staat om meer dan een miljoen berichten per seconde af te leveren aan lokale bestemmingen wanneer beperkte verwerking wordt toegepast, inclusief externe bestemmingen.

Rsyslog-functiesBij het gebruik van Rsyslog hebben we functies zoals:

  • $ LocalHostName [naam] richtlijn: Met deze richtlijn kunnen we de hostnaam van het systeem overschrijven met de naam die in de richtlijn is gespecificeerd. Als de instructie meerdere keren wordt gegeven, worden alle behalve de laatste genegeerd.
  • Hadoop HDFS-ondersteuning toegevoegd.
  • Het heeft een impstat-module om periodieke statistieken op de Rsyslog-tellers uit te voeren.
  • Het heeft de imptcp-plug-in.
  • Bevat een nieuw type "stringgenerator"-module, die wordt gebruikt om de uitvoerverwerking te versnellen.
  • Ondersteunt OSX en Solaris.
  • Mogelijkheid om aangepaste berichtparsers te maken.
  • Ondersteuning voor meerdere regels voor imudp.
  • Nieuwe transactionele exit-module-interface die superieure prestaties biedt.
  • Multi-threading
  • Ondersteunt TCP, SSL, TLS, RELP-protocollen
  • Ondersteunt MySQL, PostgreSQL, Oracle en meer
  • Filter elk deel van het syslog-bericht
  • Volledig configureerbaar uitvoerformaat
  • Geschikt voor zakelijke omroepnetwerken

Rsyslog-filteringRsyslog kan syslog-berichten filteren op basis van geselecteerde eigenschappen en acties, deze filters zijn:

  • Faciliteit of Priority Files
  • Op eigenschappen gebaseerde filters
  • Op expressies gebaseerde filters

Het faciliteitsfilter wordt vertegenwoordigd door het interne Linux-subsysteem dat verantwoordelijk is voor het produceren van de records, we hebben de volgende opties:

  • auth / authpriv = Dit zijn de berichten die worden geproduceerd door authenticatieprocessen
  • cron = Dit zijn records die zijn gekoppeld aan cron-taken
  • daemon = Dit zijn berichten met betrekking tot de draaiende systeemservices
  • kernel = Geeft Linux-kernelberichten aan
  • mail = Bevat berichten van de mailserver
  • syslog = Het zijn berichten gerelateerd aan syslog of andere daemons
  • lpr = Omvat printers of printserverberichten
  • local0 - local7 = Tel aangepaste berichten onder beheerderscontrole
Prioriteits- of ernstniveaus met Rsyslog worden als volgt toegewezen aan een trefwoord en een nummer:
  • Emerg = Noodgeval - 0
  • waarschuwing = waarschuwingen - 1
  • err = fouten - 3
  • waarschuwen = Waarschuwingen - 4
  • kennisgeving = kennisgeving - 5
  • info = Informatie - 6
  • debbug = Debuggen - 7

1. Hoe de status van Rsyslog in Linux te configureren en te controleren

Stap 1
De Rsyslog-daemon wordt automatisch geïnstalleerd op de meeste Linux-distributies, maar als dat niet het geval is, moeten we de volgende opdrachten uitvoeren:

Op Debian-systemen

 sudo apt-get install Rsyslog 

Op RedHat- of CentOS-systemen

 sudo yum installeer Rsyslog 

Stap 2
We kunnen de huidige status van Rsyslog controleren door de volgende regel uit te voeren:

Op Linux-distributies die Systemd . gebruiken

 systemctl-status rsyslog.service 

In oudere versies van Linux

 service rsyslog-status /etc/init.d/rsyslog-status

VERGROTEN

Stap 3
Als de status van de Rsyslog-service inactief is, kunnen we deze starten door het volgende uit te voeren:

In nieuwe versies van Linux

 systemctl start rsyslog.service 

In oudere versies van Linux

 service rsyslog start /etc/init.d/rsyslog start

VERGROTEN

2. Rsyslog-configuratie op Linux


Om een ​​rsyslog-programma te configureren om in servermodus te draaien, moeten we het configuratiebestand in de map /etc/rsyslog.conf bewerken.

Stap 1
We hebben toegang met de gewenste editor:

 sudo nano /etc/rsyslog.conf

VERGROTEN

Stap 2
Daar zullen we de volgende wijzigingen aanbrengen. Lokaliseer en verwijder commentaar, verwijder het teken (#) van de volgende regels om de ontvangst van UDP-logberichten op poort 514 mogelijk te maken. Standaard wordt de UDP-poort door syslog gebruikt om berichten te verzenden en ontvangen:

 $ ModLoad imudp $ UDPServerRun 514
Stap 3
Het UDP-protocol is niet betrouwbaar om gegevens over een netwerk uit te wisselen, dus we kunnen Rsyslog configureren om logberichten via het TCP-protocol naar een externe server te sturen. Om het TCP-ontvangstprotocol in te schakelen, zullen we de volgende regels verwijderen:
 $ ModLoad imtcp $ InputTCPServerRun 514
Stap 4
Hierdoor kan de rsyslog-daemon binden en luisteren op een TCP-socket op poort 514.
Beide protocollen kunnen in rsyslog worden ingeschakeld om gelijktijdig op Linux te draaien.
Als het nodig is om aan te geven welke afzenders toegang hebben tot de rsyslog-daemon, moeten we de volgende regels toevoegen:
 $ AllowedSender TCP, 127.0.0.1, 192.168.0.5/24, * .domain.com 

VERGROTEN

Stap 5
Op dit punt is het nodig om een ​​nieuwe sjabloon te maken die door de rsyslog-daemon zal worden geanalyseerd voordat de inkomende logs worden ontvangen. Deze sjabloon moet de lokale Rsyslog-server vertellen waar inkomende logberichten moeten worden opgeslagen. Deze sjabloon komt na de regel $ AllowedSender:

 $ template Inkomende-logs, "/ var / log /% HOSTNAME% /% PROGRAMNAME% .log" *. *? Inkomende-logs & ~ 

VERGROTEN

Stap 6
Om alleen de berichten op te nemen die door kern zijn gegenereerd, voegen we het volgende toe. Met het bovenstaande worden de ontvangen records geanalyseerd door de sjabloon en opgeslagen in het lokale bestandssysteem in de / var / log / directory, in het pad:% HOSTNAME% en% PROGRAMNAME%.

 kern.*?Inkomende-logs
Stap 7
We kunnen de wijzigingen opslaan met behulp van de volgende toetsencombinatie:

Ctrl + O

We verlaten de editor met:

Ctrl + X

3. Start de service opnieuw en controleer de Rsyslog-poorten op Linux

Stap 1
Wanneer we een wijziging aanbrengen, moeten we de service opnieuw starten door een van de volgende opties uit te voeren:

 sudo service rsyslog herstart sudo systemctl herstart Rsyslog
Stap 2
Om de poorten te controleren die door Rsyslog worden gebruikt, voeren we het volgende uit:
 sudo netstat -tulpn | grep rsyslog
Stap 3
Zoals we hebben aangegeven, zal de gebruikte poort 514 zijn, we moeten deze in de firewall inschakelen voor gebruik met de volgende regels.

Op RedHat en CentOS

 firewall-cmd --permanent --add-port = 514 / tcp firewall-cmd -reload

In Debian

 ufw 514 toestaan ​​/ tcp ufw 514 toestaan ​​/ udp
Als we IPTables gebruiken:
 iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPTEREN iptables -A INPUT -p udp --dport 514 -j ACCEPTEREN

VERGROTEN

Op deze manier hebben we Rsyslog in Linux geïnstalleerd om de verschillende soorten logs te beheren die er constant in worden gegenereerd.

wave wave wave wave wave