GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come esportare i registri dei server con Rsyslog in Centos 8

In questo post imparerai come esportare i log dei tuoi server con Rsyslog in Centos 8

In questo articolo, illustreremo la configurazione di un demone Rsyslog CentOS/RHEL 8 per recapitare i messaggi di registro a un server Rsyslog remoto. Questa configurazione garantisce che lo spazio su disco sulla macchina sia disponibile per altri scopi.

In CentOS 8, il demone Rsyslog è già installato e operativo per impostazione predefinita. Emetti i seguenti comandi per vedere se il servizio rsyslog è attivo sul sistema.

# grep rsyslog | rpm –q 
# rsyslogd –v 

Se il pacchetto Rsyslog non è installato sul tuo sistema CentOS, esegui il comando seguente per installarlo.

# yum install rsyslog

Esporta i log dei tuoi server con Rsyslog

Modificare il file di configurazione rsyslog come segue per forzare il daemon Rsyslog installato su un sistema CentOS 8 a funzionare come client di registro e inviare tutti i messaggi di registro generati localmente a un server Rsyslog distante:

Per iniziare a modificare, apri il file di configurazione principale:

# vim /etc/rsyslog.conf

Quindi, come mostrato nell'estratto seguente, aggiungi la seguente riga alla fine del file.

# *. *  @192.168.1.59:514

Assicurarsi che l'indirizzo IP e l'FQDN del server rsyslog remoto siano sostituiti in modo appropriato nella riga precedente. La riga precedente indica al demone Rsyslog di inviare tutti i messaggi di registro all'IP 192.168.1.59 sulla porta 514/UDP, indipendentemente dalla struttura o dalla gravità.

Aggiungi un altro carattere @ davanti all'host remoto se il server di registro remoto è configurato per accettare solo connessioni TCP o se desideri utilizzare un protocollo di rete di trasporto affidabile come TCP, come illustrato nell'esempio seguente:

# *. *  @@logs.domain.lan:514

I caratteri speciali, come =o!, possono essere anteposti ai livelli di priorità in Linux rsyslog per segnalare "questa priorità solo" per il segno di uguale e "non questa priorità o superiore a questa" per!

Di seguito sono riportati alcuni esempi di qualificatori del livello di priorità di Rsyslog:

kern.info =Registri del kernel con priorità di informazioni o superiore.
kern.=info =Sono consentiti solo i messaggi del kernel con la priorità delle informazioni.
kern.info;kern.!err =Sono consentiti solo i messaggi del kernel con le informazioni sulle priorità, l'avviso e l'avviso.
kern.debug;kern.!=avviso =Fatta eccezione per l'avviso, tutte le priorità del kernel sono uguali.
kern.* =Tutti i messaggi con una priorità nel kernel
kern.none =Indipendentemente dalla priorità, non registrare alcun messaggio relativo alla struttura del kernel associato.

Ad esempio, se desideri inviare solo un sottoinsieme di messaggi di struttura a un server di registro remoto, come tutti i messaggi di posta associati indipendentemente dalla priorità, aggiungi la seguente riga al file di configurazione rsyslog:

# mail.* @192.168.1.59:514

Infine, affinché le impostazioni aggiornate abbiano effetto, è necessario riavviare il servizio Rsyslog con il seguente comando:

# systemctl restart rsyslog.service

Se il demone Rsyslog non viene attivato durante l'avvio per qualche motivo, eseguire il comando seguente per abilitare il servizio a livello di sistema:

# systemctl enable rsyslog.service

Invia i registri del server Web a un server di registro remoto

Aggiungendo la seguente riga al file di configurazione principale di Apache, come mostrato di seguito, il server HTTP può essere configurato per trasmettere messaggi di log a un server syslog remoto.

# vim /etc/httpd/conf/httpd.conf

Sul file di configurazione principale di Apache aggiungi la riga sottostante.

CustomLog "| /bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-access.log | /usr/bin/logger -thttpd -plocal1.notice'" combined

La riga dice al demone HTTP di scrivere messaggi di registro nel file di registro del filesystem, ma gli dice anche di inviarli a un server syslog lontano designandoli come provenienti dalla struttura local1.

Se desideri inviare messaggi di log degli errori Apache anche a un server syslog remoto, crea una nuova regola simile a quella data sopra, ma cambia il nome del file di log httpd e il livello di gravità del file di log in modo che corrisponda alla priorità dell'errore , come mostrato nell'esempio seguente:

ErrorLog "|/bin/sh -c '/usr/bin/tee -a /var/log/httpd/httpd-error.log | /usr/bin/logger -thttpd -plocal1.err'"

Dopo aver modificato le righe precedenti, dovrai riavviare il demone Apache per vedere che le modifiche avranno effetto:

# systemctl restart httpd.service

Aggiungendo le seguenti righe di codice a un file di configurazione nginx, il server web Nginx ha la capacità integrata di registrare direttamente i suoi messaggi su un server syslog remoto a partire dalla versione 1.7.1.

error_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=error;
access_log syslog:server=192.168.1.59:514,facility=local7,tag=nginx,severity=info main;/code>

Per ricevere i log inviati dal server Web Apache, apportare le seguenti modifiche al file di configurazione rsyslog sul server Rsyslog remoto.

local1.* @Apache_IP_address:514

Questo conclude la nostra discussione. Hai impostato correttamente il demone Rsyslog per l'esecuzione in modalità client, oltre a indirizzare Apache o Nginx a instradare i messaggi di registro a un server syslog remoto.

Se il tuo sistema si rompe, dovresti essere in grado di capire cosa è andato storto guardando il contenuto dei file di registro salvati sul server syslog remoto.

Ora sai come esportare i log dei tuoi server usando Rsyslog.

Controlla la nostra homepage per ulteriori guide


Cent OS
  1. Come configurare i server di log remoti con rsyslog?

  2. Come installare lnav su CentOS 7

  3. Come configurare server DNS privati ​​con BIND su CentOS 8

  4. Procedura:gestire i log di sistema con Journalctl

  5. Come modificare la directory di registro predefinita (/var/log) in Rsyslog per CentOS/RHEL 6,7

Come configurare il server Rsyslog in CentOS 8 / RHEL 8

Come monitorare i tuoi server Linux con Checkmk

Come disconnettersi da CentOS 8

Come installare Log.io su CentOS 7

Come controllare l'errore del tuo sito Web Accedi cPanel?

Come monitorare i tuoi server Linux con Checkmk