GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare il server Rsyslog su Ubuntu 18.04 LTS

I log sono molto utili per analizzare e risolvere eventuali problemi relativi al sistema e alle applicazioni in Linux. Per impostazione predefinita, tutti i file di registro si trovano all'interno della directory /var/log nei sistemi operativi basati su Linux. Esistono diversi tipi di file di registro inclusi cron, kernel, utenti, sicurezza e la maggior parte di questi file sono controllati dal servizio Rsyslog.

Rsyslog è un sistema potente e sicuro per l'elaborazione dei log. Il server Rsyslog riceve i registri sulla rete da diversi server fisici o virtualizzati e monitora lo stato di salute di diversi servizi. Con il server Rsyslog, puoi monitorare i registri per altri server, dispositivi di rete e applicazioni remote dalla posizione centralizzata.

In questo tutorial, spiegheremo come configurare il server Rsyslog sul server Ubuntu 18.04.

Prerequisiti

  • Due server con Ubuntu 18.04.
  • Un indirizzo IP statico 192.168.0.101 è configurato sulla macchina server Rsyslog e 192.168.0.102 è configurato sulla macchina client Rsyslog.
  • Una password di root è configurata su entrambi i server.

Installa Rsyslog

Per impostazione predefinita, Rsyslog è installato nel server Ubuntu 18.04. Se non è installato, puoi installarlo eseguendo il seguente comando:

apt-get install rsyslog -y

Dopo aver installato Rsyslog, puoi controllare la versione di Rsyslog con il seguente comando:

rsyslogd -v

Dovresti ottenere il seguente output:

rsyslogd 8.32.0, compiled with:
	PLATFORM:				x86_64-pc-linux-gnu
	PLATFORM (lsb_release -d):		
	FEATURE_REGEXP:				Yes
	GSSAPI Kerberos 5 support:		Yes
	FEATURE_DEBUG (debug build, slow code):	No
	32bit Atomic operations supported:	Yes
	64bit Atomic operations supported:	Yes
	memory allocator:			system default
	Runtime Instrumentation (slow code):	No
	uuid support:				Yes
	systemd support:			Yes
	Number of Bits in RainerScript integers: 64

See http://www.rsyslog.com for more information.

Puoi anche controllare lo stato di Rsyslog con il seguente comando:

systemctl status rsyslog

Dovresti vedere il seguente output:

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-10-22 04:28:55 UTC; 1min 31s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 724 (rsyslogd)
    Tasks: 4 (limit: 1114)
   CGroup: /system.slice/rsyslog.service
           ??724 /usr/sbin/rsyslogd -n

Oct 22 04:28:53 ubuntu1804 systemd[1]: Starting System Logging Service...
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's groupid changed to 106
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]: rsyslogd's userid changed to 102
Oct 22 04:28:54 ubuntu1804 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Oct 22 04:28:55 ubuntu1804 systemd[1]: Started System Logging Service.

Configura server Rsyslog

Rsyslog è ora installato e funzionante. Successivamente, dovrai configurarlo per l'esecuzione in modalità server. Puoi farlo modificando il file /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Innanzitutto, dovrai definire il protocollo UDP o TCP o entrambi.

Per utilizzare contemporaneamente le connessioni UDP e TCP, cerca e decommenta le righe seguenti:

$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

Quindi, definisci la sottorete, l'IP o il dominio specifici per limitare l'accesso come mostrato di seguito:

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

Successivamente, dovrai creare un modello per indicare al server Rsyslog come archiviare i messaggi syslog in arrivo. Aggiungi le seguenti righe appena prima della sezione DIRETTIVE GLOBALI:

$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs

Salva e chiudi il file quando hai finito. Quindi, controlla la configurazione di Rsyslog per eventuali errori di sintassi con il seguente comando:

rsyslogd -f /etc/rsyslog.conf -N1

Dovresti vedere il seguente output:

rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.

Infine, riavvia il servizio Rsyslog con il seguente comando:

systemctl restart rsyslog

Ora verifica che Rsyslog sia in ascolto su TCP/UDP con il seguente comando:

netstat -4altunp | grep 514

Dovresti ottenere il seguente output:

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1332/rsyslogd       
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1332/rsyslogd       

Configura client Rsyslog

Il server Rsyslog è installato e configurato per ricevere i log da host remoti.

Ora dovrai configurare il client Rsyslog per inviare messaggi syslog al server Rsyslog remoto.

Accedere al computer client e aprire il file di configurazione di Rsyslog come mostrato di seguito:

nano /etc/rsyslog.conf

Aggiungi le seguenti righe alla fine del file:

##Enable sending of logs over UDP add the following line:

*.* @192.168.0.101:514


##Enable sending of logs over TCP add the following line:

*.* @@192.168.0.101:514

##Set disk queue when rsyslog server will be down:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Salva e chiudi il file. Quindi, riavvia il server Rsyslog per applicare le modifiche alla configurazione:

systemtcl restart rsyslog

Visualizza registro client

A questo punto, il client Rsyslog è configurato per inviare il proprio registro al server Rsyslog.

Ora, accedi al server Rsyslog e controlla la directory /var/log. Dovresti vedere la voce con il nome host delle tue macchine client inclusi diversi file di registro:

ls /var/log/rsyslog-client/

Uscita:

CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

Conclusione

Nell'articolo precedente, abbiamo imparato come installare e configurare il server Rsyslog sul server Ubuntu 18.04. Abbiamo anche imparato come configurare il client Rsyslog per inviare i log al server Rsyslog. Sentiti libero di chiedermi se hai domande.


Ubuntu
  1. Come configurare server e client Kerberos su Ubuntu 18.04 LTS

  2. Come configurare iSCSI Storage Server su Ubuntu 18.04 LTS

  3. Come configurare un server di archiviazione iSCSI su Ubuntu 20.04 LTS

  4. Come configurare Elasticsearch su Ubuntu 18.04 e 16.04 LTS

  5. Imposta il server Rsyslog su Ubuntu 20.04 - Come farlo?

Come configurare Git Server su Ubuntu 20.04

Come configurare il server Rsyslog su Ubuntu

Come configurare il server DHCP su Ubuntu

Come eseguire l'aggiornamento a Ubuntu Server 22.04 LTS

Come configurare server e client NTP su Ubuntu 20.04 LTS

Come configurare Rsyslog su Ubuntu 20.04 LTS