syslog

Syslog-zelfstudie

Syslog-zelfstudie

De belangrijkste reden voor netwerken is communicatie. Tijdens het netwerken moeten cruciale berichten tussen netwerkapparaten worden doorgegeven om gebeurtenissen bij te houden wanneer ze zich voordoen. Als systeembeheerder of Developer Operations (DevOps)-personeel is het van groot belang om de lopende activiteiten via een netwerk bij te houden, en het is erg handig voor het oplossen van problemen wanneer ze zich voordoen.

De methode van loggen wordt meestal als tijdrovend of stressvol beschouwd. Uiteindelijk is de inspanning meestal de moeite waard. Met syslog wordt al die stress echter verminderd, omdat u het logproces zou kunnen automatiseren.Het enige dat u hoeft te doen, is de logboeken doornemen wanneer er zich een probleem voordoet en de problemen aanpakken zoals de logboeken aangeven.

Syslog is een bekende standaard voor het loggen van berichten. Meestal hebben het systeem dat de logging doet en de software die ze genereert de neiging om te interfereren tijdens processen. Maar syslog helpt de software die de logs genereert te scheiden van het systeem dat de logs opslaat, waardoor het loggen minder ingewikkeld en stressvol wordt.

Met andere woorden, syslog is een open systeem, ontworpen om te helpen bij het bewaken van netwerkapparaten of -systemen en om gebeurtenissen naar een logserver te sturen. Het zorgt ervoor dat berichten worden onderscheiden op basis van de prioriteit van de berichten en het soort netwerkapparaat dat het bericht verzendt.

Naast het helpen bij het genereren en opslaan van logboeken, kan het ook worden gebruikt voor beveiligingsaudits en voor algemene analyse en foutopsporing van systeemberichten.

De syslog-standaard is beschikbaar voor gebruik op verschillende netwerkapparaten, zoals routers, switches, load balancers, inbraakbeveiligingssystemen enz. door het User Datagram Protocol van poort 514 te gebruiken om berichten naar de logservers te communiceren.

Een syslog-bericht volgt het legacy-syslog- of het BSD-syslog-protocol en heeft de volgende indeling:

Een syslog-bericht kan nooit voorbij 1024 bytes gaan.


PRI-berichtsectie

PRI is ook bekend als het Priority Value-gedeelte van het syslog-bericht, en herinner me eerder dat ik het had over het verzenden van logberichten door syslog op basis van het prioriteitsniveau en ook het type netwerkapparaat of faciliteit, hier wordt al die informatie weergegeven. Dit deel vertegenwoordigt de faciliteit en ernstsectie van het syslog-berichtlog.

De prioriteitswaarde wordt verkregen door het product van het faciliteitnummer (het deel van het systeem dat het bericht verzendt) te berekenen met 8 en vervolgens de numerieke waarde van de ernst toe te voegen (dit is het belang van het bericht volgens het systeem.

Prioriteitswaarde = (Faciliteitsnummer * 8) + Ernst

HEADER bericht sectie

Terwijl het PRI-gedeelte meer over het systeem ging, gaat het kopgedeelte meer over de informatie die bij de syslog-gebeurtenis wordt geleverd.

Het bevat de tijdstempel van het bericht, de hostnaam of het IP-adres van het systeem. Het formaat van het tijdstempelveld is:

MM dd uu:mm:ss

Waar:

MM is de maand waarin de syslog als afkorting is verzonden. Dit betekent dat de maand komt in de vorm van januari, februari, maart, april enz.

dd is de dag van de maand waarin het bericht is verzonden. Als de dag geen dubbele cijfers heeft, wordt de waarde weergegeven door een spatie en het getal in plaats van een 0 en het getal. Dit betekent dat "7" wordt gebruikt om 7 weer te geven in plaats van "07".

hh is het uur van de dag waarop het bericht is verzonden, in het 24-uurs tijdformaat. Met waarden tussen 00 en 23, met 00 en 23 inclusief.

mm is de minuut van het uur waarop het bericht is verzonden. Met waarden tussen 00 en 59, met 59 inclusief.

ss is de seconde van de minuut waarop het bericht is verzonden. Met waarden tussen 00 en 59, met 59 inclusief.

Een voorbeeld van bovenstaande is:

8 maart 22:30:15


BERICHT-sectie

Dit is meestal waar alle benodigde informatie ligt. Het bevat de naam van het programma, het proces dat leidde tot het genereren van het bericht en de tekst van het bericht zelf.

Het berichtgedeelte is meestal in het formaat: programma[pid]: message_text.

Voorbeeld:

Het volgende is een voorbeeld van een syslog-bericht: <133>25 februari 14:09:07 webserver syslogd: herstart. Het bericht komt overeen met het volgende formaat: tijdstempel hostnaam applicatie: bericht.

Uiteindelijk, na het genereren van het bericht, is het ontleden ervan een ander balspel. U kunt de syslog ontleden met behulp van een programmeertaal zoals python, met behulp van reguliere expressies, met behulp van xml-parser en u kunt ook ontleden met json. Een log-parser zoals syslog-ng werkt perfect met Python. Hiermee kun je je eigen parser in python schrijven, waardoor je veel meer controle hebt over de parseermogelijkheden.

Python is erg populair voor het schrapen van gegevens, dus u kunt gemakkelijk modules vinden om de benodigde gegevens uit de syslog te schrappen, waardoor het gemakkelijker wordt om berichten te verwerken, databases op te vragen, enz. Als u van plan bent syslog-ng te gebruiken, kunt u het OSE-configuratiebestand ophalen en in het bestand opnemen.

U moet er echter voor zorgen dat de omgevingsvariabele PYTHON_PATH het pad naar het Python-bestand bevat en vervolgens exporteert u de omgevingsvariabele PYTHON_PATH.

Bijvoorbeeld:

export PYTHONPATH=/opt/syslog-ng/etc

Het Python-object wordt slechts één keer gestart, wanneer syslog-ng OSE wordt gestart of opnieuw wordt geladen. Dat betekent dat het de status van interne variabelen behoudt terwijl syslog-ng OSE actief is. Python-parsers bestaan ​​uit twee delen. De eerste is een syslog-ng OSE-parserobject dat u gebruikt in uw syslog-ng OSE-configuratie, bijvoorbeeld in het logpad.

Deze parser verwijst naar een Python-klasse, het tweede deel van de Python-parsers. De Python-klasse verwerkt de logberichten die hij ontvangt en kan vrijwel alles doen wat je kunt coderen in Python.

parser  python(klasse("")); ; python import re class MyParser(object): definit(self, options):"Optioneel. Deze methode wordt uitgevoerd wanneer syslog-ng wordt gestart of opnieuw wordt geladen."return True def deinit(self):"Optioneel. Deze methode wordt uitgevoerd wanneer syslog-ng wordt gestopt of opnieuw wordt geladen."return True def parse(self, msg):"Vereist. Deze methode ontvangt en verwerkt het logbericht."retourneer Waar ; 

Wanneer u eindelijk uw syslog-bestand kunt ontleden, kunt u actie ondernemen op de problemen die problemen hebben veroorzaakt.

Meestal vindt u de paden naar de mappen waar het probleem ligt, zodat u gemakkelijk door de mappen kunt navigeren met de opdracht "cd".

Met syslog kunt u meer tijd besparen en de efficiëntie verbeteren.

Top 5 Game Capture-kaarten
We hebben allemaal gezien en genoten van streaming gameplays op YouTube. PewDiePie, Jakesepticye en Markiplier zijn slechts enkele van de beste gamers...
Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...