Rsyslog Anwenden: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „rsyslog Beispiel: Logdaten von einem Rechner auf den nächsten übertragen Zielrechner: Zielrechner netzwerkfähig machen: Passende Nachrichten in Datei /var/…“)
 
 
Zeile 1: Zeile 1:
rsyslog
+
= rsyslog =
Beispiel: Logdaten von einem Rechner auf den nächsten übertragen
 
  
Zielrechner:
+
== Beispiel: Logdaten von einem Rechner auf den nächsten übertragen ==
 +
 
 +
=== Zielrechner: ===
 
Zielrechner netzwerkfähig machen: Passende Nachrichten in Datei /var/log/beispiel schreiben:
 
Zielrechner netzwerkfähig machen: Passende Nachrichten in Datei /var/log/beispiel schreiben:
  
Debian, CentOS
+
==== Debian, CentOS ====
/etc/rsyslog.conf: ( debian 5.0, centos 6.0, ubuntu 18.04 )
+
'''/etc/rsyslog.conf: (debian 5.0, centos 6.0, ubuntu 18.04)'''
 
+
<pre>
 
$ModLoad imudp
 
$ModLoad imudp
 
$UDPServerRun 514
 
$UDPServerRun 514
Zeile 13: Zeile 14:
  
 
local5.info ?RemoteHost
 
local5.info ?RemoteHost
 +
</pre>
 +
 
Syntax der Konfigurationsdatei überprüfen:
 
Syntax der Konfigurationsdatei überprüfen:
 
+
<pre>
 
rsyslogd -N1
 
rsyslogd -N1
1)
+
</pre>
  
 
Syslog neu starten:
 
Syslog neu starten:
 +
<pre>
 +
service rsyslog restart
 +
</pre>
  
service rsyslog restart
+
==== SuSE ====
SuSE
+
'''/etc/rsyslog.d/remote.conf: (sles 11 SP 1)'''
/etc/rsyslog.d/remote.conf: ( sles 11 SP 1 )
+
<pre>
 +
$ModLoad imudp
 +
$UDPServerRun 514
 +
</pre>
  
  $ModLoad imudp
+
'''/etc/rsyslog.conf: (debian 5.0)'''
  $UDPServerRun 514
+
<pre>
/etc/rsyslog.conf: ( debian 5.0 )
+
local5.info    -/var/log/beispiel
 +
</pre>
  
  local5.info    -/var/log/beispiel
 
 
Syslog neu starten:
 
Syslog neu starten:
 +
<pre>
 +
/etc/init.d/syslog restart
 +
</pre>
  
/etc/init.d/syslog restart
+
=== Absender-Rechner: ===
Absender-Rechner:
+
'''/etc/rsyslog.d/local5.conf:'''
/etc/rsyslog.d/local5.conf :
+
<pre>
 +
local5.info    @zielrechner
 +
</pre>
  
  local5.info    @zielrechner
 
 
Syslog neu einlesen:
 
Syslog neu einlesen:
 +
<pre>
 +
service rsyslog restart
 +
</pre>
  
service rsyslog restart
 
 
Testen: Meldung abschicken:
 
Testen: Meldung abschicken:
 +
<pre>
 +
logger -p local5.info "Testmeldung"
 +
</pre>
  
logger -p local5.info "Testmeldung"
 
 
Über's Netz direkt an syslog-Server:
 
Über's Netz direkt an syslog-Server:
 +
<pre>
 +
logger -p local5.info -n notebook03 --tcp --port 514 "tcp test"
 +
</pre>
  
logger -p local5.info -n notebook03 --tcp --port 514 "tcp test"
+
=== Property based filter ===
property based filter
 
 
Auf dem Zielrechner:
 
Auf dem Zielrechner:
 
+
<pre>
 
:syslogtag, isequal, "ingo:"          /var/log/ingo.log
 
:syslogtag, isequal, "ingo:"          /var/log/ingo.log
 
&                                    ~ # in der vorherigen Zeile ausgegebene Meldungen nicht erneut ausgeben
 
&                                    ~ # in der vorherigen Zeile ausgegebene Meldungen nicht erneut ausgeben
 
:source , !isequal , "notebook02"    ~
 
:source , !isequal , "notebook02"    ~
syslog-ng
+
</pre>
Beispiel: Eine eigene log-Regel schreiben:
 
  
/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)
+
= syslog-ng =
  
/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)
+
== Beispiel: Eine eigene log-Regel schreiben ==
  
 +
'''/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)'''
 +
'''/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)'''
 +
<pre>
 
filter f_ingo {  
 
filter f_ingo {  
 
   level(warn) and program(logger);  
 
   level(warn) and program(logger);  
Zeile 69: Zeile 90:
 
   destination(ingo_log);  
 
   destination(ingo_log);  
 
};
 
};
 +
</pre>
 +
 
Configdatei überprüfen:
 
Configdatei überprüfen:
 
+
<pre>
 
syslog-ng -s
 
syslog-ng -s
Dienst neu starten und evtl. SuSEconfig glücklich machen
+
</pre>
  
 +
Dienst neu starten und evtl. SuSEconfig glücklich machen:
 +
<pre>
 
/sbin/conf.d/SuSEconfig.syslog-ng
 
/sbin/conf.d/SuSEconfig.syslog-ng
 
/etc/init.d/syslog restart
 
/etc/init.d/syslog restart
 +
</pre>
 +
 
Testen:
 
Testen:
 
+
<pre>
 
logger -p local1.warn -t logger "Dies ist eine Testmeldung"
 
logger -p local1.warn -t logger "Dies ist eine Testmeldung"
Beispiel: Logdaten von einem Rechner auf den nächsten übertragen
+
</pre>
  
Zielrechner:
+
== Beispiel: Logdaten von einem Rechner auf den nächsten übertragen ==
Zielrechner netzwerkfähig machen :
 
 
 
/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)
 
 
 
/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)
 
  
 +
=== Zielrechner: ===
 +
Zielrechner netzwerkfähig machen:
 +
'''/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)'''
 +
'''/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)'''
 +
<pre>
 
source src{
 
source src{
  
Zeile 95: Zeile 122:
  
 
};   
 
};   
Meldungen bestimmter Log-Facilities und Log-Priorities werden durch Filter und Destination definiert
+
</pre>
  
 +
Meldungen bestimmter Log-Facilities und Log-Priorities werden durch Filter und Destination definiert:
 +
<pre>
 
filter f_local5 {  
 
filter f_local5 {  
 
   level(info) and facility(local5);  
 
   level(info) and facility(local5);  
Zeile 110: Zeile 139:
 
   destination(d_local5);  
 
   destination(d_local5);  
 
};   
 
};   
Danach SuSEconfig oder /sbin/conf.d/SuSEconfig.syslog-ng aufrufen um die Änderungen permanent zu übertragen und syslog-ng reloaden.
+
</pre>
  
 +
Danach SuSEconfig oder /sbin/conf.d/SuSEconfig.syslog-ng aufrufen um die Änderungen permanent zu übertragen und syslog-ng reloaden:
 +
<pre>
 
rcsyslog reload
 
rcsyslog reload
Absender-Rechner
+
</pre>
/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)
 
 
 
/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)
 
  
 +
=== Absender-Rechner ===
 +
'''/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1)'''
 +
'''/etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)'''
 +
<pre>
 
destination d_ziel { udp( "Zielrechner" port(514) ); };
 
destination d_ziel { udp( "Zielrechner" port(514) ); };
  
 
log { source(src); destination(d_ziel);  };
 
log { source(src); destination(d_ziel);  };
SuSEconfig aufrufen zum Ändern der Konfigdatei und syslog reloaden
+
</pre>
  
 +
SuSEconfig aufrufen zum Ändern der Konfigdatei und syslog reloaden:
 +
<pre>
 
rcsyslog reload
 
rcsyslog reload
 +
</pre>
  
Doku
+
== Doku ==
Jede Logmeldung besitzt eine priority
+
 
die sich zusammensetzt aus einer facility und einem level:
+
Jede Logmeldung besitzt eine priority die sich zusammensetzt aus einer facility und einem level:
 +
<pre>
 
prio=fac.level
 
prio=fac.level
 +
</pre>
  
Facility
+
=== Facility ===
 
Nicht jedes Linux/Unix hat alle Facilities:
 
Nicht jedes Linux/Unix hat alle Facilities:
 
+
<pre>
 
   Facility        Description               
 
   Facility        Description               
 
   ----------------------------                                                         
 
   ----------------------------                                                         
Zeile 151: Zeile 188:
 
   user            Regular user processes                                                           
 
   user            Regular user processes                                                           
 
   uucp            UUCP subsystem       
 
   uucp            UUCP subsystem       
Level (Severity)
+
</pre>
 +
 
 +
=== Level (Severity) ===
 +
<pre>
 
0 emerg    Emergency condition, such as an imminent system crash, usually broadcast to all users
 
0 emerg    Emergency condition, such as an imminent system crash, usually broadcast to all users
 
1 alert    Condition that should be corrected immediately, such as a corrupted system database
 
1 alert    Condition that should be corrected immediately, such as a corrupted system database
Zeile 162: Zeile 202:
 
   none    Pseudo level used to specify not to log messages.
 
   none    Pseudo level used to specify not to log messages.
 
debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg)
 
debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg)
 +
</pre>
 +
 +
== Syslog ==
 +
[http://de.linwiki.org/wiki/Linuxfibel_-_System-Administration_-_Protokollierung http://de.linwiki.org/wiki/Linuxfibel_-_System-Administration_-_Protokollierung]
 +
 +
== Syslog-NG ==
 +
[http://www.linux-magazin.de/Artikel/ausgabe/2003/11/tagebuch/tagebuch.html http://www.linux-magazin.de/Artikel/ausgabe/2003/11/tagebuch/tagebuch.html]
  
2)
+
[http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNGEinfuehrung http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNGEinfuehrung]
  
Syslog
+
[http://www.balabit.com/products/syslog_ng/reference-1.6/syslog-ng.html/book1.html http://www.balabit.com/products/syslog_ng/reference-1.6/syslog-ng.html/book1.html]
http://de.linwiki.org/wiki/Linuxfibel_-_System-Administration_-_Protokollierung
 
Syslog-NG
 
http://www.linux-magazin.de/Artikel/ausgabe/2003/11/tagebuch/tagebuch.html
 
http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNGEinfuehrung
 
http://www.balabit.com/products/syslog_ng/reference-1.6/syslog-ng.html/book1.html
 

Aktuelle Version vom 18. Juli 2024, 05:54 Uhr

rsyslog

Beispiel: Logdaten von einem Rechner auf den nächsten übertragen

Zielrechner:

Zielrechner netzwerkfähig machen: Passende Nachrichten in Datei /var/log/beispiel schreiben:

Debian, CentOS

/etc/rsyslog.conf: (debian 5.0, centos 6.0, ubuntu 18.04)

$ModLoad imudp
$UDPServerRun 514
$template RemoteHost,"/var/log/remote/%HOSTNAME%.log"

local5.info ?RemoteHost

Syntax der Konfigurationsdatei überprüfen:

rsyslogd -N1

Syslog neu starten:

service rsyslog restart

SuSE

/etc/rsyslog.d/remote.conf: (sles 11 SP 1)

$ModLoad imudp
$UDPServerRun 514

/etc/rsyslog.conf: (debian 5.0)

local5.info     -/var/log/beispiel

Syslog neu starten:

/etc/init.d/syslog restart

Absender-Rechner:

/etc/rsyslog.d/local5.conf:

local5.info     @zielrechner

Syslog neu einlesen:

service rsyslog restart

Testen: Meldung abschicken:

logger -p local5.info "Testmeldung"

Über's Netz direkt an syslog-Server:

logger -p local5.info -n notebook03 --tcp --port 514 "tcp test"

Property based filter

Auf dem Zielrechner:

:syslogtag, isequal, "ingo:"          /var/log/ingo.log
&                                     ~ # in der vorherigen Zeile ausgegebene Meldungen nicht erneut ausgeben
:source , !isequal , "notebook02"     ~

syslog-ng

Beispiel: Eine eigene log-Regel schreiben

/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1) /etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)

filter f_ingo { 
  level(warn) and program(logger); 
};
destination ingo_log { 
  file("/var/log/ingo.log"); 
};
log { 
  source(src); 
  filter(f_ingo); 
  destination(ingo_log); 
};

Configdatei überprüfen:

syslog-ng -s

Dienst neu starten und evtl. SuSEconfig glücklich machen:

/sbin/conf.d/SuSEconfig.syslog-ng
/etc/init.d/syslog restart

Testen:

logger -p local1.warn -t logger "Dies ist eine Testmeldung"

Beispiel: Logdaten von einem Rechner auf den nächsten übertragen

Zielrechner:

Zielrechner netzwerkfähig machen: /etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1) /etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)

source src{

  ...

  udp(ip("0.0.0.0") port(514));

};  

Meldungen bestimmter Log-Facilities und Log-Priorities werden durch Filter und Destination definiert:

filter f_local5 { 
  level(info) and facility(local5); 
}; 

destination d_local5 { 
  file("/var/log/beispiel"); 
};

log { 
  source(src) ; 
  filter(f_local5) ; 
  destination(d_local5); 
};  

Danach SuSEconfig oder /sbin/conf.d/SuSEconfig.syslog-ng aufrufen um die Änderungen permanent zu übertragen und syslog-ng reloaden:

rcsyslog reload

Absender-Rechner

/etc/syslog-ng/syslog-ng.conf.in: (SuSE bis 10.1) /etc/syslog-ng/syslog-ng.conf: (SuSE ab 10.2)

destination d_ziel { udp( "Zielrechner" port(514) ); };

log { source(src); destination(d_ziel);  };

SuSEconfig aufrufen zum Ändern der Konfigdatei und syslog reloaden:

rcsyslog reload

Doku

Jede Logmeldung besitzt eine priority die sich zusammensetzt aus einer facility und einem level:

prio=fac.level

Facility

Nicht jedes Linux/Unix hat alle Facilities:

  Facility        Description              
  ----------------------------                                                        
  auth/security   Activity related to requesting name and password (getty, su, login)              
  authpriv        Same as auth but logged to a file that can only be read by selected users        
  console         Used to capture messages that would generally be directed to the system console  
  cron            Messages from the cron system scheduler                                          
  daemon          System daemon catch-all                                                          
  ftp             Messages relating to the ftp daemon                                              
  kern            Kernel messages                                                                  
  local0.local7   <Local facilities defined per site                                               
  lpr             Messages from the line printing system                                           
  mail            Messages relating to the mail system                                             
  mark            Pseudo event used to generate timestamps in log files                            
  news            Messages relating to network news protocol (nntp)                                
  ntp             Messages relating to network time protocol                                       
  syslog          Syslog service
  user            Regular user processes                                                           
  uucp            UUCP subsystem      

Level (Severity)

0 emerg    Emergency condition, such as an imminent system crash, usually broadcast to all users
1 alert    Condition that should be corrected immediately, such as a corrupted system database
2 crit     Critical condition, such as a hardware error
3 err      Ordinary error
4 warning  Warning
5 notice   Condition that is not an error, but possibly should be handled in a special way
6 info     Informational message
7 debug    Messages that are used when debugging programs
  none     Pseudo level used to specify not to log messages.
debug, info, notice, warning, warn (same as warning), err, error (same as err), crit, alert, emerg, panic (same as emerg)

Syslog

http://de.linwiki.org/wiki/Linuxfibel_-_System-Administration_-_Protokollierung

Syslog-NG

http://www.linux-magazin.de/Artikel/ausgabe/2003/11/tagebuch/tagebuch.html

http://www.wikidorf.de/reintechnisch/Inhalt/SyslogNGEinfuehrung

http://www.balabit.com/products/syslog_ng/reference-1.6/syslog-ng.html/book1.html