Basic Logging Using rsyslog

πŸ“ Hoofdstuk 17.2: Basis Logging met rsyslog in Linux

────────────────────────────────────────────
πŸ”§ Wat is rsyslog?
────────────────────────────────────────────

Rsyslog is een krachtige syslog-daemon die logberichten van het systeem en applicaties verzamelt, verwerkt en opslaat op basis van configuratieregels. Het vervangt de oudere sysklogd en biedt ondersteuning voor filtering, externe logging, TCP/UDP-transport en meer.

──────────────
πŸ“ Belangrijke bestanden
──────────────

Bestand/Map | Beschrijving
────────────────────────|────────────────────────────────────────────
/etc/rsyslog.conf | Hoofdconfiguratiebestand van rsyslog
/etc/rsyslog.d/ | Extra configuratiebestanden per toepassing
/var/log/ | Locatie van de meeste logbestanden

──────────────
πŸ› οΈ Regelsyntaxis
──────────────

De algemene structuur van een rsyslog-regel:

**Facility.Priority Action**

Waarbij:
β€’ **Facility** β†’ De bron van het bericht (kern, auth, cron, user, enz.)
β€’ **Priority** β†’ Het ernstniveau (emerg, alert, crit, err, warning, info, debug)
β€’ **Action** β†’ Wat moet er met het logbericht gebeuren (bestand, terminal, externe host, gebruiker)

Voorbeelden:
β€’ `kern.=crit /var/log/kernel_critical.log`
Logt alleen kritieke kernelfouten.

β€’ `*.=err /var/log/errors.log`
Logt fouten van alle facilities met severity "err".

β€’ `:omusrmsg:*`
Stuurt het logbericht naar alle ingelogde gebruikers.

──────────────
🎯 Beschikbare Acties
──────────────

Rsyslog kan logberichten:
β€’ Opslaan in logbestanden
β€’ Weergeven op een terminal of console
β€’ Doorsturen naar een andere applicatie
β€’ Verzenden naar een externe host via TCP/UDP
β€’ Versturen naar specifieke gebruikers of alle ingelogde gebruikers

────────────────────────────────────────────
πŸ“¨ Logberichten genereren met logger
────────────────────────────────────────────

Het `logger`-commando voegt handmatig berichten toe aan het syslog-systeem. Handig voor scripts of handmatige logging.

**Syntax**:
`logger [-isd] [-f bestand] [-p facility.priority] [-t tag] [bericht]`

Belangrijke opties:

Optie | Beschrijving
──────|──────────────────────────────────────
-i | Voegt het proces-ID toe
-s | Stuur het bericht ook naar STDERR
-p | Geef de priority aan (bijv. auth.warning)
-t | Voeg een tag toe om het bericht te identificeren
-f | Gebruik een bestand als berichtbron

**Voorbeeld**:
```bash
logger -p auth.warning -t SECURITY "Ongebruikelijke loginpoging gedetecteerd"