Centralisatie van logs heeft een aantal voordelen, met name natuurlijk met betrekking tot de monitoring, analyse en rapportering. Met veel verschillende hosts heeft het vrijwel geen nut de systemen ieder voor zich de logs te laten verwerken. Daarbij zal een system administrator alle hosts af moeten om te zien wat er gebeurd.
<h2><span id="De_syslog_server_configureren" class="mw-headline">De syslog server configureren</span></h2>
De syslog server configureren is erg gemakkelijk. In het bestand <code>/etc/sysconfig/syslog</code> moet worden vervangen:
<blockquote>
<pre># /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-m 0"
</pre>
</blockquote>
voor:
<blockquote>
<pre># /etc/sysconfig/syslog
SYSLOGD_OPTIONS="-r -m 0"
</pre>
</blockquote>
waar de optie <code>-r</code> staat voor ‘remote’. Hiermee geef je aan, dat je syslog server ook geschikt moet zijn voor remote messages.
Herstart nu de syslog server:
<blockquote>
<pre># service syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
#
</pre>
</blockquote>
<h3><span id="Firewall_regels_van_toepassing_op_syslog_servers" class="mw-headline">Firewall regels van toepassing op syslog servers</span></h3>
syslog gebruikt poort 514 over het TCP/IP protocol UDP:
<blockquote>
<pre># grep syslog /etc/services
syslog 514/udp
</pre>
</blockquote>
Deze zal dus door je firewall moeten worden toegelaten!
<h2><span id="De_syslog_client_configureren" class="mw-headline">De syslog client configureren</span></h2>
Ook de syslog client is erg gemakkelijk te configureren. In het bestand <code>/etc/syslog.conf</code> staan (ongeveer) de volgende regels:
<blockquote>
<pre># /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don’t log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
</pre>
</blockquote>
Hier staat bijvoorbeeld, dat alle logging met betrekking tot de kernel (<code>kern</code>) moet worden gelogged naar /dev/console. We gaat ervoor zorgen dat deze logging ook naar de syslog server (syslog.kanarip.com) wordt verstuurd:
<pre>*.* @syslog.kanarip.com
</pre>
Herstart de syslog server (op de client!):
<blockquote>
<pre># service syslog restart
Shutting down kernel logger: [ OK ]
Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
Starting kernel logger: [ OK ]
</pre>
</blockquote>
en zie op de server waar nu log messages binnen zouden moeten komen, of dit ook gebeurd:
<blockquote>
<pre># tail -f /var/log/messages
</pre>
</blockquote>
Heb je geen zin om te wachten? Geef dan het volgende commando op de syslog client:
<blockquote>
<pre># /usr/bin/logger -t test -i Wij houden allemaal van Fedora-Linux.nl!
</pre>
</blockquote>