Il rsyslog.Conf File Guida completa per Linux

Il rsyslog.Conf File Guida completa per Linux
Syslog è uno strumento basato su Unix che Linux utilizza per gestire i file di registro locali. Ora, i nuovi sistemi Linux utilizzano un demone chiamato rsyslog che è in realtà uno strumento migliorato.

Il file RSYSLOG può essere utilizzato per configurare un server di registrazione centrale e per configurare i singoli sistemi client per inviare i propri file di registro al server di registrazione.

RSYSLOG può essere installato su entrambe le distribuzioni Red Hat e Ubuntu. Il repository di ADISCON Ubuntu fornisce le versioni più recenti di rsyslog su Ubuntu. Allo stesso modo, il repository Addison RPM fornisce le ultime versioni di RSYSLOG per Red Hat/Centro.

Per utilizzare un sistema come server di registrazione, installare il servizio RSYSLOG su quel sistema. Inoltre, installa il servizio RSYSLOG sui sistemi che invieranno registri a questo server.

Con il demone RSYSLOG, possiamo inviare registri ai server remoti. È relativamente semplice configurare rsyslog. I file di registro sono centralizzati, il che aiuta a archiviare e risolvere i processi.

Perché i file di registro sono importanti?

I file di registro sono fondamentalmente una parte indispensabile di una configurazione del server. Questi file vengono utilizzati in:

  1. Risoluzione dei problemi
  2. Auditing del sistema
  3. Analisi di performance

I file di registro sono una fonte chiave per raccogliere informazioni critiche su un sistema e vari processi in esecuzione su di esso. Queste informazioni vengono utilizzate per le opere di controllo e risoluzione dei problemi.

Cosa copriremo?

In questo tutorial, imparerai a conoscere il servizio rsyslog su Linux.

Scegliere la partizione per /var /log

Il /etc /rsyslog.Conf contiene un elenco di file di registro che sono gestiti dal demone rsyslogd. La directory/var/log/contiene la maggior parte dei file di registro. Applicazioni come Samba, HTTPD e altre memorizzano anche i loro registri all'interno di una sottodirectory all'interno di /var /log.

È una buona pratica montare la directory /var /log su una partizione separata. Questo aiuta a evitare una situazione in cui i registri locali occupano lo spazio condiviso dal filesystem root. Questo è un passo di fondamentale importanza nella configurazione dei server che ricevono troppi file di registro da più sistemi remoti.

Il servizio di registrazione RSYSLOG

L'applicazione RSYSLOG aiuta a centralizzare la raccolta dei registri sull'infrastruttura. Questa applicazione funziona in parallelo con il cosiddetto Systemd-Journald. Sebbene il servizio RSYSLOG sia ancora utilizzato su Red Hat Systems, ora viene sostituito con questo nuovo sistema di registrazione, SystemD-Journald.

Il sistemad-journald è stato introdotto con systemd in RHEL 7 e ha continuato ad essere utilizzato con RHEL 8 e 9. Il servizio RSYSLOG fornisce una compatibilità all'indietro su nuovi sistemi RHEL.

Il rsyslog.File di configurazione di configurazione

Affrontiamo ora l'attuale rsyslog.Conf File situato su /etc/rsyslog.conf. Questo file è compatibile all'indietro con il syslog.File conf del sysklogd.

Le regole specificate in questo file regolano come l'RSYSLOGD gestisce i messaggi. In modo generale, si possono classificare i messaggi in base alla loro fonte, argomento (struttura) e urgenza (priorità). Una volta classificata, un'azione può essere assegnata ed eseguita quando un messaggio qualifica la condizione impostata.

Questo file ha tre importanti specifiche: direttive, moduli e regole globali. La sezione Regole comprende i componenti del filtro e dell'azione.

Snippet di file di esempio su RHEL 8:

$ cat /etc /rsyslog.conf
# File di configurazione RSYSLOG
Moduli #### ####
Modulo (load = "imuxsock" # fornisce supporto per la registrazione del sistema locale (E.G. tramite comando logger)
# I messaggi locali vengono recuperati ora tramite imjournal.
Modulo (load = "imjournal" # fornisce accesso al diario di sistema
#### Direttive globali ####
# Dove posizionare i file ausiliari
globale (workdirectory = "/var/lib/rsyslog")
# Usa il formato Timestamp predefinito
Modulo (load = "Builtin: OmFile" Template = "rsyslog_TraditionalFileFormat")
# Includi tutti i file di configurazione in /etc /rsyslog.D/
include (file = "/etc/rsyslog.D/*.conf "modalità =" opzionale ")
#### REGOLE ####
# Registra tutti i messaggi del kernel alla console.

Direttive globali

Le direttive globali vengono utilizzate per configurare il demone RSYSLOGD. In generale, specificano un valore per una particolare variabile predefinita che influisce sulla funzionalità di RSYSLOGD o una regola.

Sezione modulo

L'aggiunta di estensioni in rsyslog è semplice per la sua architettura modulare. Quando apri il file, c'è una riga:

Modulo (load = "imuxsock") # fornisce supporto per la registrazione del sistema locale

Lo scopo di questa riga è di indirizzare il RSYSLOG per caricare il modulo "ImuxSock" per ricevere messaggi tramite /dev /log.

Quindi, c'è un blocco per la ricezione UDP Syslog:

#module (load = "imudp")
#Input (type = "imudp" port = "514")

Anche se, queste righe che iniziano con "#" sono commenti e sono semplicemente ignorate. Ma dicono come configurare il server RSYSLOG per ricevere i messaggi su una rete UDP.

Come al solito, la prima riga carica il modulo chiamato "imudp". La seconda riga specifica la porta UDP 514 come porta su cui il modulo dovrebbe ascoltare i messaggi di registrazione. Quando vuoi usare questa funzione, commenta le righe.

Sezione Regole

Nella parte inferiore del file di configurazione, c'è un blocco che contiene le seguenti righe:

# Includi tutti i file di configurazione in /etc /rsyslog.D/
$ InclusiConfig /etc /rsyslog.D/*.conf

Altri file possono essere aggiunti in una configurazione RSYSLOG, rendendo semplice gestire i file in particolare mentre supervisiona una grande rete di sistemi. Questa direttiva indica a RSYSLOGD di caricare tutti i file all'interno del /etc/rsyslog.D.

Selettori e azioni

Per inviare un messaggio di registro da qualche parte, dobbiamo definire una regola che corrisponda al messaggio. Ad esempio, considera la seguente riga da /etc/syslog.D/50-Default.conf:

*.= debug/var/log/debug

Qui, la prima parte, “*.= debug ", è un selettore. La parte successiva, "/Var/log/debug", è il percorso della posizione in cui Rsyslogd mette i messaggi filtrati.

La parte dei filtri di una regola sceglie una parte dei messaggi syslog. La parte dell'azione decide quale azione deve essere eseguita con questi messaggi.

Rsyslog ha diversi modi per filtrare i messaggi syslog in base alle proprietà scelte. I metodi di filtraggio possono essere classificati in base a: struttura/priorità, proprietà ed espressioni.

La parte delle azioni, come menzionato in precedenza, specifica cosa fare con i messaggi precedentemente filtrati. Le azioni possono conservare i messaggi syslog ai file di registro, trasferendo i messaggi syslog su una rete, ecc.

Ottenere la documentazione di Rsyslog

Una documentazione completa dell'applicazione RSYSLOG può essere vista online a https: // www.rsyslog.com/doc/. Tuttavia, un pacchetto di documentazione locale chiamato rsyslog-doc Può anche essere installato sul sistema.

Per installare questo pacchetto su RHEL 8, è necessario installare un repository Appstream e un accesso amministrativo sul sistema. Una volta soddisfatti questi requisiti, eseguire semplicemente il seguente comando per installare questo pacchetto:

$ yum Installa rsyslog-doc

Per verificare se il pacchetto è installato correttamente, eseguire il comando seguente:

$ Firefox/USR/Share/DOC/RSYSLOG/HTML/INDICE.html &

Modifica il Rsyslog.Conf File

Prima di modificare questo file, fare un backup in modo da poter ripristinare un punto sicuro se qualcosa va storto.

Configuriamo questo file per UDP. Ora apriamo questo file e il rompicapo le righe corrispondenti a UDP:

# fornisce ricezione UDP syslog
modulo (load = "imudp")
input (type = "imudp" port = "514")

Allo stesso modo, per configurare questo file per la ricezione di TCP, rimborso le linee corrispondenti a TCP:

# Fornisce reception tcp syslog
Modulo (load = "IMTCP")
input (type = "imtcp" port = "514"

Conclusione

Questo tutorial presenta una panoramica del servizio RSYSLOG in Linux. Puoi anche fare riferimento alle pagine principali da esplorare sulle informazioni dettagliate su questo servizio.