<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wikimirror.piraten.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=NRW%3AArbeitsgruppe%2FTechnik%2FDokumentation%2FMonitoring%2FSyslog</id>
	<title>NRW:Arbeitsgruppe/Technik/Dokumentation/Monitoring/Syslog - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wikimirror.piraten.tools/wiki/index.php?action=history&amp;feed=atom&amp;title=NRW%3AArbeitsgruppe%2FTechnik%2FDokumentation%2FMonitoring%2FSyslog"/>
	<link rel="alternate" type="text/html" href="https://wikimirror.piraten.tools/wiki/index.php?title=NRW:Arbeitsgruppe/Technik/Dokumentation/Monitoring/Syslog&amp;action=history"/>
	<updated>2026-04-27T10:01:16Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Piratenwiki Mirror</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikimirror.piraten.tools/wiki/index.php?title=NRW:Arbeitsgruppe/Technik/Dokumentation/Monitoring/Syslog&amp;diff=55838379&amp;oldid=prev</id>
		<title>imported&gt;Mbraun: /* Logging Übersicht */</title>
		<link rel="alternate" type="text/html" href="https://wikimirror.piraten.tools/wiki/index.php?title=NRW:Arbeitsgruppe/Technik/Dokumentation/Monitoring/Syslog&amp;diff=55838379&amp;oldid=prev"/>
		<updated>2012-08-20T19:30:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Logging Übersicht&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:Skin:NRWBP]]&lt;br /&gt;
{{Navigationsleiste_Technik}}&lt;br /&gt;
&lt;br /&gt;
== zentrales Syslog ==&lt;br /&gt;
&lt;br /&gt;
=== Einführung === &lt;br /&gt;
Zur einer einfachen Fehlersuche kann ein zentrales Log-File maßgeblich dazu beitragen. Mögliche Fehler schnell zu erkennen und diese eingrenzen zu können erhöht indirekt die Qualität, sowie die Verfügbarkeit. &lt;br /&gt;
&lt;br /&gt;
[http://de.wikipedia.org/wiki/Syslog| Syslog] ist ein standardisiertes Protokoll zur Übermittlung von Nachrichten (auch als Events bezeichnet) an ein File oder an einen zentralen Syslog-Host. Dazu wird am Syslog-Server der TCP Port 514 angesprochen, während der Client mit einem beliebigen High-Port seine Nachricht sendet.&lt;br /&gt;
&lt;br /&gt;
== Aufbau in der LV NRW == &lt;br /&gt;
&lt;br /&gt;
=== Syslog-Server ===&lt;br /&gt;
&lt;br /&gt;
Der zentrale Host, der möglichst alle Syslog Meldungen einsammlt ist derzeit über den Host '''access''' realisiert. Dort wurde die Software syslog-ng aus den OS Repository installiert. Im Verzeichnis ''/var/log/central/'' finden sich weitere Unterverzeichnise, nach IP oder Funktion benannt. Um schnell in das Verzeichnis wechseln zu können, kann ein alias definiert werden, &lt;br /&gt;
&amp;lt;pre&amp;gt; alias cd.log='cd /var/log/central/'&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Aufbau der Konfigurations Datei syslog-ng.conf ====&lt;br /&gt;
===== Source =====&lt;br /&gt;
Mit dieser Definition wird die Quelle angegeben. In unserem Fall wird auf die lokale IP und dem UDP Port 514 der Eingang des Syslog-Servers beschränkt.&lt;br /&gt;
===== Filter =====&lt;br /&gt;
Mit Filter läst sich ein umfangreiches Regelwerk erstellen, das zwischen den einzelnen Meldungen unterscheiden kann. &lt;br /&gt;
===== Destination =====&lt;br /&gt;
Als Destination wird überlicherweise eine Datei oder eine Dateistruktur über Variablen abgebildet. Es kann auch auch hier ein entfernter Server als Destination angegeben werden. So könnte damit ein Syslog-Forwarding erstellt werden. &lt;br /&gt;
===== Log =====&lt;br /&gt;
Der wichtigste Eintrag ist die LOG-Zeile. Sie bringt nun Source, Filter und Destination zusammen. Und definiert somit ein Syslog-Szenario. &lt;br /&gt;
&lt;br /&gt;
Der Server selbst soll nur über sein lokales Interface auf UDP Syslog Meldungen hören. Dies wird mit folgender Konfiguration erreicht.&lt;br /&gt;
&lt;br /&gt;
Auszug aus  /etc/syslog-ng/syslog-ng.conf &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source s_udp {&lt;br /&gt;
        udp(ip(192.168.1.7) port(514));&lt;br /&gt;
};&lt;br /&gt;
destination d_centraldir {&lt;br /&gt;
        file(&amp;quot;/var/log/central/$HOST/messages-$YEAR-$MONTH-$DAY.log&amp;quot;&lt;br /&gt;
        owner(&amp;quot;root&amp;quot;) group(&amp;quot;users&amp;quot;) perm(0664)&lt;br /&gt;
        dir_perm(0775) create_dirs(yes));&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
log { source(s_udp); destination(d_centraldir); };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Client Konfiguration === &lt;br /&gt;
Auf jedem Unix/Linux Host befindet sich meist die Syslog-Konfiguration in der Datei ''/etc/syslog.conf'', ''/etc/rsyslog.conf'' oder auch ''/etc/syslog-ng/syslog-ng.conf''. Darin wird der zentrale Syslog-Host mit seinem Hostnamen oder IP eingetragen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soll nur die authentifizierung an den centralen Syslog gesendet werden, dann werden folgende Zeilen eingetragen.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user.debug      @192.168.1.7&lt;br /&gt;
auth.debug      @192.168.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sollen jedoch alle alle Meldungen gesendet werden, dann sieht dies wie folgt aus :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*.*             @192.168.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In unserem Fall kommt auf dem Host rsyslog zum Einsatz, somit kann im Verzeichnis /etc/rsyslog.d/ eine centrallog.conf Datei abgelegt werden, mit diesem Inhalt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*.*             @192.168.1.7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logrotation == &lt;br /&gt;
Um nicht in kürze eine volle Festplatte zu haben, ist ein funktionierendes Logrotation ein wichtiger bestandteil.  Dazu werden wenige Config-Files und Shell-Scripte eingesetzt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===== logrotation-hourly.conf =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/log/central/*/messages-*.log {&lt;br /&gt;
        size=10M&lt;br /&gt;
        create 664 root users&lt;br /&gt;
        missingok&lt;br /&gt;
        notifempty&lt;br /&gt;
        compress&lt;br /&gt;
        rotate 50&lt;br /&gt;
        sharedscripts&lt;br /&gt;
        postrotate&lt;br /&gt;
                /etc/init.d/syslog-ng restart &amp;gt; /dev/null || :&lt;br /&gt;
        endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== logrotation-hourly.sh ===== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/usr/sbin/logrotate /etc/logrotate-hourly.conf&lt;br /&gt;
EXITVALUE=$?&lt;br /&gt;
if [ $EXITVALUE != 0 ]; then&lt;br /&gt;
    /usr/bin/logger -t logrotate &amp;quot;ALERT hourly exited abnormally with [$EXITVALUE]&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===== logrotation-daily.conf =====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/log/central/*/messages-*.log {&lt;br /&gt;
        daily&lt;br /&gt;
        nocreate&lt;br /&gt;
        missingok&lt;br /&gt;
        notifempty&lt;br /&gt;
        compress&lt;br /&gt;
        rotate 50&lt;br /&gt;
        sharedscripts&lt;br /&gt;
        postrotate&lt;br /&gt;
                /etc/init.d/syslog-ng restart &amp;gt; /dev/null || :&lt;br /&gt;
        endscript&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== logrotation-daily.sh ===== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/usr/sbin/logrotate -d /etc/logrotate-daily.conf &amp;gt; /var/log/logrotate-daily.log 2&amp;gt;&amp;amp;1&lt;br /&gt;
EXITVALUE=$?&lt;br /&gt;
if [ $EXITVALUE != 0 ]; then&lt;br /&gt;
    /usr/bin/logger -t logrotate &amp;quot;ALERT daily exited abnormally with [$EXITVALUE]&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== centrallog-remove.sh als täglichen Cronjob ===== &lt;br /&gt;
&lt;br /&gt;
Da die zentralen Messages-Files nur für den Fehlerfall gedacht sind, reicht es aus am Syslog-Server die Files für den jeweiligen Tag nach 14-Tage wieder zu löschen. &lt;br /&gt;
&lt;br /&gt;
Dazu wird im Cron Verzeichnis ''/etc/cron.daily'' folgendes Script hinterlegt &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#Config&lt;br /&gt;
LOG=/var/log/centrallog-remove.log&lt;br /&gt;
DAYS=14&lt;br /&gt;
/bin/echo &amp;gt; $LOG &amp;quot;------------------------------------------------------------&amp;quot;&lt;br /&gt;
/bin/date &amp;gt;&amp;gt; $LOG&lt;br /&gt;
#removing empty log directories&lt;br /&gt;
/bin/echo &amp;gt;&amp;gt; $LOG &amp;quot;removing empty directories ...&amp;quot;&lt;br /&gt;
/bin/rmdir /var/log/central/* &amp;gt;&amp;gt; $LOG&lt;br /&gt;
#removing after default age&lt;br /&gt;
/bin/echo &amp;gt;&amp;gt; $LOG &amp;quot;removing old files ...&amp;quot;&lt;br /&gt;
/usr/bin/find /var/log/central -xdev -depth -mindepth 1 -maxdepth 2 -mtime +${DAYS} -type f -exec rm {} \; 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; $LOG&lt;br /&gt;
/bin/echo &amp;gt;&amp;gt; $LOG &amp;quot;done.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und dann mit einem ''chmod 755 centrallog-remove.sh'' die Datei ausführbar machen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Das Kommando logger == &lt;br /&gt;
Sofern eigene Scripte am Server zum Einsatz kommen, macht es Sinn mit dem Kommando ''logger'' schnell und direkt Meldungen in das Syslog Logfile schreiben zu lassen. Dadurch kann jeder Admin am zentralen Logfile leicht erkennen, was fehlgeschlagen ist. Und somit entsprechend reagieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel &lt;br /&gt;
...&lt;br /&gt;
  logger -i -p warn -t meincheck &amp;quot;$var hat die maximale Speicherplatz erreicht&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Logging Übersicht ==&lt;br /&gt;
Nicht jedes Programm oder Anwendung sendet Log-Meldungen an ein systemweites oder eigenes Logfile. In dieser Übersicht werden die typischen variationen aufgelistet.&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+Speicherorte der Logfiles&lt;br /&gt;
!Anwendung&lt;br /&gt;
!lokaler Speicherort&lt;br /&gt;
!Zusätzlich im Central-Log &lt;br /&gt;
|- style=&amp;quot;font-style:italic;color:darkorange;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|System Meldungen&lt;br /&gt;
|-&lt;br /&gt;
|Kernel&lt;br /&gt;
|/var/log/kern.log&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Multipath&lt;br /&gt;
|/var/log/&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Crond&lt;br /&gt;
|/var/log/cron.log&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|SSH&lt;br /&gt;
|&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|rsyslogd&lt;br /&gt;
|/var/log/?&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Auth/Login&lt;br /&gt;
|/var/log/auth.*&lt;br /&gt;
|Ja&lt;br /&gt;
|- style=&amp;quot;font-style:italic;color:darkorange;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|Services&lt;br /&gt;
|-&lt;br /&gt;
|Postfix&lt;br /&gt;
|/var/log/mail&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Apache&lt;br /&gt;
|/var/log/apache2/access oder error&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Pound&lt;br /&gt;
|/var/log/?&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Postfix&lt;br /&gt;
|/var/log/mail.*&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Nullmailer&lt;br /&gt;
|/var/log/mail.*&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Dovecot&lt;br /&gt;
|/var/log/mail.*&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Amavis&lt;br /&gt;
|/var/log/mail.*&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Postgrey&lt;br /&gt;
|/var/log/mail.*&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Bacula&lt;br /&gt;
|/var/log/?&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|Munin&lt;br /&gt;
|/var/log/munin/munin-node.log&lt;br /&gt;
|Nein&lt;br /&gt;
|- style=&amp;quot;font-style:italic;color:darkorange;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot;|Anwendungen&lt;br /&gt;
|-&lt;br /&gt;
|Wordpress&lt;br /&gt;
|über Apache&lt;br /&gt;
|über Apache&lt;br /&gt;
|-&lt;br /&gt;
|Request Tracker&lt;br /&gt;
|/var/log/?&lt;br /&gt;
|Ja, als &amp;quot;RT:&amp;quot; erkennbar&lt;br /&gt;
|-&lt;br /&gt;
|Kalender&lt;br /&gt;
|über Apache&lt;br /&gt;
|über Apache&lt;br /&gt;
|-&lt;br /&gt;
|Mumble&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|-&lt;br /&gt;
|Open-Xchange&lt;br /&gt;
|/var/log/open-xchange/*&lt;br /&gt;
|Nein&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links == &lt;br /&gt;
* http://wiki.ubuntuusers.de/syslog-ng (Zusammenfasende Erklärung von syslog-NG)&lt;br /&gt;
* http://de.wikipedia.org/wiki/Syslog&lt;br /&gt;
* http://www.aboutdebian.com/syslog.htm&lt;/div&gt;</summary>
		<author><name>imported&gt;Mbraun</name></author>
	</entry>
</feed>