GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare la registrazione remota di Rsyslog su Linux (server di registro centrale)

Ogni distribuzione Linux ha una sorta di meccanismo di registrazione che registra tutte le attività del sistema. Tempo fa abbiamo fornito un elenco di 20 file di registro archiviati in /var/log che potrebbero essere utili durante la risoluzione dei problemi. Questi log sono molto critici per l'amministratore di sistema ai fini della risoluzione dei problemi.

Di seguito sono riportati i tre metodi comuni per registrare un messaggio:

  1. Accesso allo stesso server:i messaggi vengono scritti nel disco rigido locale/ nel database locale
  2. Accesso a un server remoto:molti sistemi inoltrano i propri registri sulla rete a un server di registro centrale. Sul server di registro centrale, i messaggi provenienti da vari sistemi vengono scritti sul disco rigido/database locale.
  3. Registrazione del relè:il ramo "A" e il ramo "B" registrano i messaggi su 2 server diversi. Questi server a loro volta registrano il messaggio nella "Sede centrale".


Rsyslog è il programma di registrazione predefinito su diverse distribuzioni Linux inclusi i sistemi basati su Debian e Red Hat. Oltre all'implementazione del protocollo syslog, rsyslog aggiunge funzionalità aggiuntive come il filtro basato sul contenuto. Questo utilizza anche TCP per il trasporto e fornisce molte opzioni di configurazione.

Questo articolo spiega come implementare il metodo 2 sopra menzionato. vale a dire Questo spiega come configurare un server di registrazione centrale e inviare i registri dai singoli server al server di registrazione centrale.

Questa configurazione ti aiuterà ad analizzare i file di registro di tutti i server nella tua infrastruttura da un server di registro centrale.

Installazione

Rsyslog viene fornito come programma di registrazione predefinito nei sistemi basati su Debian Distribution e Red Hat. Se il tuo sistema non ha rsyslog, installalo come mostrato di seguito a seconda della tua distribuzione.

apt-get install rsyslog rsyslog-doc
(or)
yum install rsyslog rsyslog-doc

Le configurazioni di Rsyslog sono memorizzate nel file /etc/ryslog.conf e i file nella directory /etc/rsyslog.d/.

Struttura di configurazione

Prima di capire come configurare il server di registrazione centrale, è bene comprendere la struttura di configurazione di rsyslog.

I file di configurazione di Rsyslog sono strutturati nel modo seguente

  1. Moduli
  2. Direttive di configurazione
  3. Linea di regole

Moduli

Rsyslog ha un'architettura modulare. Consente l'aggiunta dinamica di funzionalità tramite questi moduli. I moduli sono classificati come:

  • Moduli di input:utilizzati per raccogliere messaggi da varie fonti
  • Moduli di output – Usati per scrivere i messaggi in vari posti (file, socket ecc..)
  • Moduli di analisi:utilizzati per analizzare il contenuto del messaggio

Si prega di notare che sono disponibili anche altre categorie di moduli. Questo per fornire una panoramica di ciò che i moduli possono fare.

Direttive di configurazione

Tutte le direttive di configurazione devono essere specificate una per riga e devono iniziare con il simbolo del dollaro ($). Influisce sulle regole.

Linea di regole

Ogni riga della regola è composta da due campi, un "campo di selezione" e un "campo di azione". Il campo di selezione è diviso in due, "strutture e priorità". Azione specifica quale azione deve essere eseguita per la regola di corrispondenza.

Una configurazione di esempio

######################
	MODULES
######################

$ModLoad imuxsock
$ModLoad imklog

######################
	Directives
######################
# Set the default permissions for all log files. 

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755

######################
	RULES
######################
mail.info	/var/log/mail.info
mail.warn	/var/log/mail.warn
mail.err	/var/log/mail.err
daemon.*	/var/log/daemon.log

Nota:10 esempi per la visualizzazione di file di registro di grandi dimensioni in Linux potrebbero essere utili durante la manipolazione dei file di registro.

Modelli

I modelli sono una funzionalità molto importante fornita da rsyslog. Consente all'utente di registrare i messaggi nel formato desiderato. Può anche essere utilizzato per creare nomi di file dinamici per registrare i messaggi. In caso di registrazione del database, i modelli vengono utilizzati per convertire il messaggio in una corretta istruzione SQL.

Un modello di esempio sarà simile a:

$template mytemplate “Text-Before %msg% Text-After\n”

Il modello sopra registrerà il messaggio "This is hello from rsyslog" come:

Text-Before This is hello from rsyslog Text-After

Vedremo come utilizzare il modello per generare i file di log in modo dinamico.

Server di registrazione centrale

Le sezioni precedenti avrebbero dovuto fornire una panoramica su rsyslog e su come configurarlo. Ora passeremo alla configurazione di un sistema di registrazione centrale.

Per la nostra discussione avremo l'IP del server come "192.168.1.1" per il server di registro centrale, dove dovrebbero essere inoltrati tutti i messaggi di registro dal client.

Aggiungi le seguenti righe a rsyslog.conf dei server del server di registro centrale (in questo esempio, la riga seguente è stata aggiunta al server di registro con l'indirizzo IP 192.168.1.1):

# provides support for local system logging
$ModLoad imuxsock 

# provides kernel logging support (previously done by rklogd)
$ModLoad imklog

# provides UDP syslog reception. For TCP, load imtcp.
$ModLoad imudp

# For TCP, InputServerRun 514
$UDPServerRun 514

# This one is the template to generate the log filename dynamically, depending on the client's IP address.
$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

# Log all messages to the dynamically formed file. Now each clients log (192.168.1.2, 192.168.1.3,etc...), will be under a separate directory which is formed by the template FILENAME.
*.* ?FILENAME

Dopo aver aggiunto le righe precedenti a rsyslog.conf, riavviare il processo rsyslog. Ora il server rsyslog sarà pronto per accettare i messaggi.

# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

Aggiungi le seguenti righe a rsyslog.conf sulle singole macchine client che dovrebbero inviare i propri messaggi di registro al server centrale.

$ModLoad imuxsock

$ModLoad imklog

# Provides UDP forwarding. The IP is the server's IP address
*.* @192.168.1.1:514 

# Provides TCP forwarding. But the current server runs on UDP
# *.* @@192.168.1.1:514

Riavviare il processo rsyslog sui client. Ora il server centrale rsyslog (in questo esempio, 192.168.1.1) riceverà tutti i messaggi di registro dai client configurati e il registro di ciascun client verrà posizionato in una directory separata.


Linux
  1. Come configurare rsyslog per la gestione centralizzata dei registri

  2. Come configurare il server Rsyslog su Ubuntu 18.04 LTS

  3. Come configurare il server Rsyslog su Debian 11

  4. Come utilizzare rsyslog per creare un server di aggregazione dei registri Linux

  5. Come configurare il server di registrazione centralizzato utilizzando Rsyslog

Come configurare il server Rsyslog su Debian 11 (Bullseye)

Come configurare un server Linux su Amazon AWS

Come configurare il server di registrazione centrale utilizzando Rsyslog su Ubuntu 20.04

Come configurare il server multimediale in streaming utilizzando Jellyfin in Linux

Come configurare il server Rsyslog su Ubuntu

Come creare una configurazione Rsyslog di registrazione centralizzata