Inhaltsverzeichnis

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

1)

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)

2)

Syslog

Syslog-NG

2)
Testskript für Alles
for fac in auth authpriv cron daemon ftp kern lpr mail mark news syslog user uucp local0 local1 local2 local3 local4 local5 local6 local7; do 
  for lev in debug info notice warning err crit alert emerg; do 
    logger -p "${fac}.${lev}" "${fac}.${lev}"
  done
done