CentOS 5: Logmeldungen des DHCP-Servers in eine eigene Logdatei umleiten
Wenn Sie einen DHCP-Server betreiben, kennen Sie sicher die folgenden Meldungen aus Ihrer /var/log/messages.
[root@centos5 ~]# tail -f /var/log/messages Oct 28 16:26:21 centos5 dhcpd: DHCPREQUEST for 192.168.10.112 from 00:26:18:86:33:a1 (client1) via eth0 Oct 28 16:26:21 centos5 dhcpd: DHCPACK on 192.168.10.112 to 00:26:18:86:33:a1 (client1) via eth0 Oct 28 16:26:21 centos5 dhcpd: DHCPREQUEST for 192.168.10.118 from 00:08:0d:3a:18:33 (client2) via eth0 Oct 28 16:26:21 centos5 dhcpd: DHCPACK on 192.168.10.118 to 00:08:0d:3a:18:33 (client2) via eth0 Oct 28 16:26:24 centos5 dhcpd: DHCPINFORM from 192.168.10.112 via eth0 Oct 28 16:26:24 centos5 dhcpd: DHCPACK to 192.168.10.112 (00:26:18:86:33:a1) via eth0 Oct 28 16:27:58 centos5 dhcpd: DHCPREQUEST for 192.168.10.152 from 00:1c:7e:44:59:b3 (client3) via eth0 Oct 28 16:27:58 centos5 dhcpd: DHCPACK on 192.168.10.152 to 00:1c:7e:44:59:b3 (client3) via eth0Bei einem DHCP-Server welcher relativ wenige DHCP-Anfragen bearbeitet stören diese Meldungen in der Logdatei /var/log/messages wohl keinen. Sobald aber die Anzahl der DHCP-Anfragen steigt, wird die /var/log/messages durch diese Meldungen sehr unübersichtlich. Die folgende Anleitung soll Ihnen deshalb zeigen, wie Sie die Logmeldungen des DHCP-Daemons in eine eigene Logdatei (hier /var/log/dhcpd) umleiten können.
Zuerst öffnen Sie die Syslog-Konfigurationsdatei mit einem Editor.
[root@centos5 ~]# vi /etc/syslog.confFügen Sie am Ende der Datei den folgenden Abschnitt ein.
# Save dhcpd messaged to /var/log/dhcpd local0.* /var/log/dhcpdDurch diesen Eintrag werden alle Meldungen der Facility local0 in die Logdatei /var/log/dhcpd geschrieben. Überprüfen Sie bitte unbedingt, ob die Facility local0 nicht bereits anderweitig in der Konfigurationsdatei verwendet wird. Sollte dies der Fall sein, verwenden Sie eine ungenutzte Facility. Es stehen Ihnen local0 bis local7 zur Verfügung.
Damit Syslog die Meldungen der Facility local0 nicht zusätzlich in der /var/log/messages protokolliert, erweitern Sie den Abschnitt für die /var/log/messages wie folgt.
# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messagesNachdem Sie die Konfigurationsdatei gespeichert haben, erstellen Sie die Logdatei /var/log/dhcpd, ändern deren Zugriffsberechtigungen und laden die Syslog-Konfiguration neu.
[root@centos5 ~]# touch /var/log/dhcpd [root@centos5 ~]# chmod 600 /var/log/dhcpd [root@centos5 ~]# service syslog reloadDamit der DHCP-Daemon die Meldungen mit der Facility local0 an den Syslog-Daemon übergibt, müssen Sie eine weitere Option in die /etc/dhcpd.conf eintragen.
[root@centos5 ~]# vi /etc/dhcpd.confGeben Sie hier mit der Option log-facility die Facility local0 an.
log-facility local0;Nachdem Sie die Konfiguration des DHCP-Daemons angepasst haben, starten Sie diesen neu.
[root@centos5 ~]# service dhcpd restartMit dem folgenden Befehl können Sie überprüfen ob die Logmeldungen des DHCP-Servers jetzt in der /var/log/dhcpd protokolliert werden.
[root@centos5 ~]# tail -f /var/log/dhcpdDamit die neue Logdatei /var/log/dhcpd mit der Zeit nicht zu groß wird, sollte man diese regelmäßig von Logrotate archivieren und löschen lassen. Am einfachsten ist es, wenn man die Logdatei in der Konfigurationsdatei /etc/logrotate.d/syslog hinzufügt. Dazu öffnen Sie die Datei /etc/logrotate.d/syslog mit einem Editor.
[root@centos5 ~]# vi /etc/logrotate.d/syslogFügen Sie hier wie folgt die Logdatei /var/log/dhcpd ein.
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/dhcpd { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true endscript }Wenn Sie die Logmeldungen des DHCP-Daemons nicht mit Logwatch auswerten wollen, sind Sie hier bereits mit der Arbeit fertig. Anderenfalls müssen Sie Logwatch über die neue Logdatei /var/log/dhcpd informieren.
Erstellen Sie deshalb die Datei /etc/logwatch/conf/logfiles/dhcpd.conf.
[root@centos5 ~]# vi /etc/logwatch/conf/logfiles/dhcpd.confFügen Sie die folgenden Zeilen in diese Datei ein.
# What actual file? Defaults to LogPath if not absolute path.... LogFile = dhcpd #*ApplyUSDate # vi: shiftwidth=3 tabstop=3 etDadurch wird Logwatch die Logdatei /var/log/dhcpd bekannt gemacht.
Anschließend kopieren Sie die Logwatch-Konfigurationsdatei für den DHCP-Daemon in das Verzeichnis /etc/logwatch/conf/services/ und öffnen diese mit einem Editor.
[root@centos5 ~]# cp /usr/share/logwatch/default.conf/services/dhcpd.conf /etc/logwatch/conf/services/ [root@centos5 ~]# vi /etc/logwatch/conf/services/dhcpd.confErweitern Sie den folgenden Abschnitt durch die dritte Zeile.
# Which logfile group...
LogFile = messages
LogFile = dhcpd
Mit dem folgenden Befehl können Sie überprüfen ob Logwatch die Logdateien /var/log/messages und /var/log/dhcpd nach Logmeldungen des DHCP-Daemons auswertet. Dazu sollten natürlich bereits einige Logmeldungen, welche Logrotate beachtet, in der Logdatei /var/log/dhcpd enthalten sein.
[root@centos5 ~]# logwatch --print --service dhcpd --range today --detail 1