Destinazione del file di log di isc-dhcp-server

Condividi:

Il server dhcp isc-dhcp-server utilizza il demone syslog per loggare la propria attività. In questo articolo vediamo come configurare rsyslog per permettere al server dhcp di scrivere i messaggi di log su un nuovo file in /var/log al posto del file predefinito /var/log/syslog.

Premesse

Siamo su un server con debian 9, dove sono installati rsyslogd e isc-dhcp-server e logrotate già installati e funzionanti.

Nel file di configurazione /etc/dhcp/dhcpd.conf troviamo la direttiva log-facility:

log-facility local7;

Poichè local7 non è configurato in rsyslog, tutti i log del server dhcp vengono inviati sul file /var/log/syslog

Configuriamo rsyslog

Dobbiamo quindi configurare questa rotta in rsyslog, per farlo ci basta creare un nuovo file in /etc/rsyslog.d/

# # cat > /etc/rsyslog.d/dhcpd.conf <<!
local7.*  /var/log/dhcpd/dhcpd.log
!

# chmod +r /etc/rsyslog.d/dhcpd.conf

In questo modo abbiamo detto di inviare sul file /var/log/dhcpd.log tutti i canali di log ( debug, err, info ecc ) inviati a local7

Creiamo il nuovo file di log

# mkdir /var/log/dhcpd

# touch /var/log/dhcpd/dhcpd.log

# chmod +w /var/log/dhcpd/dhcpd.log

Ora possiamo riavviare il servizio rsyslog

# systemctl restart rsyslog

Riavviamo anche il  demone dhcp

# systemctl restart isc-dhcp-server

Ora possiamo vedere che il file di log /var/log/dhcpd.log contiene i messaggi di avvio del servizio

Configuriamo logrotate

Non ci resta che istruire logrotate per gestire il nuovo file di log, terremo in /var/log gli ultimi 4 file in formato gzip oltre al file di log attuale che ruoteranno con cadenza giornaliera

# cat > /etc/logrotate.d/dhcpd <<!
/var/log/dhcpd/dhcpd.log {
  rotate 4
  daily
  create
  compress
  missingok
  notifempty
}
!