Sie befinden sich hier: eisfair / Pack-Eis
News News News

Navigation

Content

Dateianzeige für rsyslogd (1.1.24)

usr/share/doc/rsyslogd/rsyslogd.txt
Das rsyslogd Paket Einleitung Der rsyslogd Server kann den Standard syslog Server ersetzen. RSYSLOGD ist ein ausgezeichnetes System, um Logs zu verarbeiten. Es bietet hohe Performance, hohe Sicherheit und ein modulares Design. Rsyslog ist in der Lage eine ganze Reihe von Eingabeformen zu empfangen, sie zu transformieren und das Ergebnis flexibel auf eine Reihe von Zielen zu verteilen. Zitat von der rsyslogd Webseite (übersetzt): RSYSLOGD kann über eine Millionen Meldungen pro Sekunde auf lokale Ziele ausgeben, wenn nur begrenzte Verarbeitungen angewandt werden (basierend auf Version 7, Dezember 2013). Sogar mit nicht lokalen Zielen und ausgefeilteren Verarbeitungen ist die Performance 'atemberaubend'. Die komplette Dokumentation ist unter [1]RSYSLOGD verfügbar. Vorbemerkung Bei den verschiedenen Beschreibungen zum Thema Logging werden die Begriffe Priority und auch Severity benutzt. RFC5427 definiert Severity. In dieser Dokumentation und im gesamten rsyslogd Paket werden die beiden Begriffe synonym genutzt. Voraussetzungen Dieses Paket benötigt folgende weitere Pakete libgcrypt, libestr, libfastjason und librelp. Es ist auch abhängig davon, dass eine aktuelle Version des Basissystems installiert ist. Installation Das rsyslogd Paket wird über das Setup-Menue im Untermenue 'Package administration' installiert. Das rsyslogd Paket kann nicht parallel zum syslog Server aus der Base Konfiguration aktiv genutzt werden. D.h. der syslog Server aus der Base Konfiguration muss ausgeschaltet werden. Dies geschieht über die Konfiguration 'Edit base configuration' und Setzen von START_SYSLOGD='no'. Danach kann über das Menue 'Create configuration using syslog(base)' die Konfiguration aus der Base Konfiguration übernommen werden. Erst jetzt kann über START_RSYSLOGD='yes' der rsyslogd Server genutzt werden. Ein automatisches Umschalten, z.B. durch das Installationsskript, ohne manuellen Eingriff in die Base Konfiguration ist derzeit nicht vorgesehen. Das Menue im Setup-Program Das rsyslogd Menue ist über den Menuepunkt 'Service administration' des Hauptmenues im zentralen Setup-Programm zu erreichen. Auswahl: 'rsyslogd daemon' Das Menue ist wie folgt aufgebaut: 1 View documentation 2 View changes 3 Edit configuration 4 Advanced configuration file handling 5 Start rsyslogd 6 Stop rsyslogd 7 Restart rsyslogd 8 Reload rsyslogd configuration 9 Show rsyslogd status 10 Test rsyslogd configuration 11 Force start of rsyslogd 12 Logfile view 1 View messages 2 View older messages 3 View log.eis-install 4 View older log.eis-install 0 Return 12 rsyslogd tools 1 Create configuration using syslog(base) 2 Create logging database 3 Grant full rights on logging database to a user 4 Grant read rights on logging database to a user 5 Drop logging database 6 Alter logging database for LogAnalyzer 7 Manual logfile rotate 8 Test log messages 9 Analyze log rules 10 List nftables filter table 11 List allowed sender 12 Test DBPurge expert configurations 0 Return 0 Return Das 'Logfile view' Untermenue kann je nach Konfiguration anders aussehen. Die meisten Menuepunkte dürften ohne weitere Erläuterung verständlich sein, da sie keinerlei weitere Eingaben erwarten, sondern nur den Status des Servers/Daemons abfragen und auf Wunsch ändern. Die Standard-Menuepunkte 1, 2 und 3 arbeiten wie bei allen anderen Eisfair-1 Paketen. Die weiteren Menuepunkte sind unten beschrieben. Aenderung der Konfiguration Die Konfiguration kann über den Menuepunkt 'Edit Configuration' geändert werden. Standardmäßig wird dabei der Editor genutzt, der über den Menuepunkt 'Set eisfair configuration editor' in der 'Base configuration' eingestellt ist. Nachdem der Editor beendet wurde wird die Konfiguration mit dem eischk-Programm automatisch auf syntaktische und teilweise auch auf semantische Fehler geprüft. Werden Fehler festgestellt, so werden diese gemeldet und der Benutzer zur Korrektur aufgefordert. Wird eine solche Korrektur nicht durchgeführt, so kann es zu unvorhersehbaren Fehlfunktionen bei dem Dienst kommen. Es wird zusätzlich gefragt, ob die Konfiguration angewendet (aktiviert) werden soll. Wird dieses verneint, so unterbleibt die Aktivierung. ACHTUNG Beim nächsten Boot-Vorgang kann es in diesem Fall zu unvorhersehbaren Fehlern kommen. Wird die Aktivierung bestätigt, werden über ein Skript die durchgeführten Änderungen wirksam gemacht. Dazu wird der rsyslogd gestoppt und neu gestartet. Die Konfigurationsdatei Die Konfigurationsdatei (/etc/config.d/rsyslogd) enthält in einer Reihe von Abschnitten die Parameter, die den Dienst parametrisieren bzw. festlegen, ob der Dienst überhaupt zur Verfügung gestellt wird oder nicht. rsyslogd syslog server (general settings) START_RSYSLOGD Legt fest, ob der rsyslogd-Server gestartet wird. Es dürfen nicht mehrere syslog Server gestartet sein. Um den rsyslogd-Server starten zu können, muss der syslog-Server aus der Base Konfiguration zunächst gestoppt werden. Gültige Werte: yes, no Standardeinstellung: START_RSYSLOGD='no' rsyslogd syslog server (configuration settings) RSYSLOGD_CONFIGURATION Art der Konfiguration bzw. Art der Generierung der Konfiguration. Derzeit sind nur 'manual' und ” erlaubt. Wird RSYSLOGD_CONFIGURATION='manual' gesetzt, so ist der Anwender für die Konfiguration verantwortlich, es wird keine Konfiguration generiert. Gültige Werte: 'manual', ” Standardeinstellung: RSYSLOGD_CONFIGURATION=” RSYSLOGD_DEFAULT_LINE_TEMPLATE Default Format der Zeilen im Log. Dieses Format wird genutzt, wenn bei den Formatvorgaben RSYSLOGD_RULE_x_LINE_TEMPLATE der Wert 'Default' steht. Gültige Werte: DebugFormat,FileFormat,ForwardFormat,SysklogdFileFormat, SyslogProtocol23Format,TraditionalFileFormat, TraditionalForwardFormat,TraditionalFormatWithPRI Standardeinstellung: RSYSLOGD_DEFAULT_LINE_TEMPLATE='TraditionalFileFormat' RSYSLOGD_LOG_FQDN Sollen Fully Qualified Domain Names (z.B. eismini.ap.de) im Log erscheinen, oder nur Hostnamen (z.B. eismini). Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_LOG_FQDN='no' RSYSLOGD_INTERNAL_MESSAGES Sollen rsyslogd interne Meldungen ausgegeben werden. Solche Meldungen sind z.B. Start- und Stopmeldungen des rsyslogd selbst. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_INTERNAL_MESSAGES='yes' RSYSLOGD_MSG_REDUCTION Legt fest, ob sich wiederholende Meldungen gekürzt werden sollen. Wird diese Konfigurationsvariable auf 'yes' gesetzt, so werden aufeinander folgende, gleiche Meldungen zusammengefasst und als 'message repeated x times: [msg]' ausgegeben. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_MSG_REDUCTION='no' RSYSLOGD_CONFIG_FILE Absoluter Pfadname der Konfigurationsdatei. Ist RSYSLOGD_CONFIG_FILE leer, so wird die Variable auf '/etc/rsyslog.conf' gesetzt. Standardeinstellung: RSYSLOGD_CONFIG_FILE='/etc/rsyslog.conf' RSYSLOGD_CONFIG_DIR Absoluter Pfad der Konfigurationsdateien. Wenn RSYSLOGD_CONFIG_DIR gesetzt ist, so zeigt RSYSLOGD_CONFIG_FILE auf RSYSLOGD_CONFIG_DIR durch Nutzung der $IncludeConfig Konfigurations Direktive. Im Verzeichnis aus RSYSLOGD_CONFIG_DIR werden derzeit bis zu vier Dateien erzeugt: 10_rsyslogd.conf Allgemeine Konfigurationsteile 15_rsyslogd.conf Konfiguration der 'Global Discard Filter' Konfiguration der 'Filter Rules' 20_rsyslogd.conf Konfiguration der 'Rule Settings' 25_rsyslogd.conf Konfiguration der 'File Input Definitions' Datei 15_rsyslogd.conf existiert nur wenn RSYSLOGD_GLOBAL_DISCARD_FILTER='yes' oder RSYSLOGD_FILTER='yes' gesetzt sind. Datei 25_rsyslogd.conf wird nur erzeugt, wenn RSYSLOGD_FILE_INPUT='yes' gesetzt ist. Da der rsyslogd die Dateien im Verzeichnis RSYSLOGD_CONFIG_DIR in alphabetischer Reihenfolge abarbeitet können manuell zusätzliche Konfigurationsteile ergänzt werden. Dies sollten nur erfahrene Anwender tun. Dabei ist zu beachten, dass einige Konfigurationselemente überschrieben (neu gesetzt) werden können, andere aber nur einmalig vorkommen dürfen. Wird RSYSLOGD_CONFIG_DIR=” gesetzt, so wird die gesamte Konfiguration in die Datei aus RSYSLOGD_CONFIG_FILE geschrieben. Standardeinstellung: RSYSLOGD_CONFIG_DIR='/etc/rsyslog.d' RSYSLOGD_MARK_INTERVAL Rsyslogd mark intervall in Sekunden. RSYSLOGD_MARK_INTERVAL='0' schaltet die Ausgabe der mark Zeile aus. Die mark Zeile enthält nur Datum und Uhrzeit sowie den Servernamen und die Zeichenfolge '--MARK--'. Achtung: Angabe in Sekunden! Der syslogd aus Base nutzt hier Angaben in Minuten. Standardeinstellung: RSYSLOGD_MARK_INTERVAL='600' RSYSLOGD_OPTIONS Zusätzliche Kommandozeilenargumente. Diese Option kann z.B. zum Debuggen des rsyslogd benutzt werden und sollte nur von erfahrenen Anwendern genutzt werden. Standardeinstellung: RSYSLOGD_OPTIONS=” rsyslogd syslog server (global discard filter) RSYSLOGD_GLOBAL_DISCARD_FILTER Legt fest ob sog. 'Global Discard Filter' genutzt werden sollen. Mittels 'global discard filter' können Meldungen über entsprechende Filterregeln verworfen werden. Dies kann dazu dienen überflüssige Meldungen auszufiltern um die Größe der Logfile zu minimieren. Siehe Kapitel 'Global Discard Filter' Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER='no' RSYSLOGD_GLOBAL_DISCARD_FILTER_DEBUG Soll die Debug Hilfe für 'Global Discard Filter' eingeschaltet werden, 'yes' oder 'no'. Wird die Debug Hilfe eingeschaltet, so werden alle Meldungen VOR der Nutzung der Filter in die Datei /var/log/before_filter geschrieben und alle Meldungen NACH der Nutzung der Filter in die Datei /var/log/after_filter geschrieben. Unter Nutzung des Befehls diff -y -W 200 /var/log/before_filter /var/log/after_filter kann dann kontrolliert werden, ob die Filter korrekt arbeiten und nicht zu viele Meldungen ausgefiltert werden. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_DEBUG='no' RSYSLOGD_GLOBAL_DISCARD_FILTER_N Anzahl der Filterdefinitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_N='0' RSYSLOGD_GLOBAL_DISCARD_FILTER_x_NAME Name bzw. Beschreibung des Filters. Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_x_NAME=” RSYSLOGD_GLOBAL_DISCARD_FILTER_x_ACTIVE Legt fest, ob der Filter aktiv ist. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_x_ACTIVE='yes' RSYSLOGD_GLOBAL_DISCARD_FILTER_x_PROPERTY Eigenschaft der Meldungen, die beim Filter genutzt werden soll. msg Meldungs Teil hostname Hostname wie www.ap.de fromhost Sendender Host, bei Meldungen von einem anderen Host fromhost-ip IP des sendenden Hosts, bei Meldungen von einem anderen Host syslogtag Tag wie sshd[2169] xinetd[1493] programname Programm name wie sshd xinetd Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_x_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_x_OPERATION Anzuwendende Operation (Suchfunktion). contains ist enthalten mit exakter Übereinstimmung isequal ist gleich mit exakter Übereinstimmung startswith beginnt mit exakter Übereinstimmung regex POSIX BRE regulärer Ausdruck ereregex POSIX ERE regulärer Ausdruck !contains Negation von contains !isequal Negation von isequal !startswith Negation von startswith !regex Negation von regex !ereregex Negation von ereregex Vorsicht bei der Anwendung von Negationen. Hier können höchst unerwünschte Ergebnisse erzielt werden. Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_x_OPERATION='contains' RSYSLOGD_GLOBAL_DISCARD_FILTER_x_VALUE Suchstring für den Filter. Standardeinstellung: RSYSLOGD_GLOBAL_DISCARD_FILTER_x_VALUE=” rsyslogd syslog server (filter rules) RSYSLOGD_FILTER Legt fest ob sog. 'Filter Rules' genutzt werden sollen. Mittels 'filter rules' können Meldungen über entsprechende Filterregeln direkt in einzelne Logdateien protokolliert werden. Dies kann dazu dienen Meldungen z.B. zu einem bestimmten Programm oder aber von einem bestimmten Host direkt in eine Logdatei zu schreiben. Siehe Kapitel 'Filter Rules' Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_FILTER='no' RSYSLOGD_FILTER_N Anzahl der Filterdefinitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_FILTER_N='0' RSYSLOGD_FILTER_x_NAME Name bzw. Beschreibung des Filters. Standardeinstellung: RSYSLOGD_FILTER_x_NAME=” RSYSLOGD_FILTER_x_ACTIVE Legt fest, ob der Filter aktiv ist. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_FILTER_x_ACTIVE='yes' RSYSLOGD_FILTER_x_LOGFILE Absoluter Pfadname der zu nutzenden Logdatei. Gültige Werte: absoluter Pfad Standardeinstellung: RSYSLOGD_FILTER_x_LOGFILE='/var/log/filter.log' RSYSLOGD_FILTER_x_LINE_TEMPLATE Format der Zeilen in der Logdatei. Gültige Werte: Default,MySQLInsert,DebugFormat,FileFormat, ForwardFormat,SysklogdFileFormat,MySQLInsertProgname, SyslogProtocol23Format,TraditionalFileFormat, TraditionalForwardFormat,TraditionalFormatWithPRI Wird RSYSLOGD_FILTER_x_LINE_TEMPLATE auf 'Default' gesetzt, so wird RSYSLOGD_DEFAULT_LINE_TEMPLATE genutzt. Standardeinstellung: RSYSLOGD_FILTER_x_LINE_TEMPLATE='Default' RSYSLOGD_FILTER_x_STOP Legt fest, ob die aktuelle Logzeile (message) nach dem Speichern in der Logdatei verworfen (discarded) werden soll. Wird die aktuelle Logzeile verworfen, so endet die Verarbeitung nach dem Speichern in der Logdatei. Wird die Zeile nicht verworfen, so wird sie an die nächste Regel weitergegeben. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_FILTER_x_STOP='yes' RSYSLOGD_FILTER_x_PROPERTY Eigenschaft der Meldungen, die beim Filter genutzt werden soll. msg Meldungs Teil hostname Hostname wie www.ap.de fromhost Sendender Host, bei Meldungen von einem anderen Host fromhost-ip IP des sendenden Hosts, bei Meldungen von einem anderen Host syslogtag Tag wie sshd[2169] xinetd[1493] programname Programm name wie sshd xinetd Standardeinstellung: RSYSLOGD_FILTER_x_PROPERTY='hostname' RSYSLOGD_FILTER_x_OPERATION Anzuwendende Operation. == ist gleich != ist ungleich <> ist ungleich < ist kleiner > ist größer <= ist kleiner oder gleich >= ist größer oder gleich contains ist enthalten mit exakter Übereinstimmung startswith beginnt mit exakter Übereinstimmung Standardeinstellung: RSYSLOGD_FILTER_x_OPERATION RSYSLOGD_FILTER_x_VALUE Vergleichswert für die Filterregel. Standardeinstellung: RSYSLOGD_FILTER_x_VALUE='myhostname' rsyslogd syslog server (database settings) RSYSLOGD_MYSQL_DB_USE Legt fest, ob Datenbank Aktionen genutzt werden. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_MYSQL_DB_USE='no' RSYSLOGD_MYSQL_DB_PACKAGE MySQL/Maria DB Database Package, welches genutzt werden soll. Z.B. mysql5173, mariadb55, mariadb100 oder Remote. Remote: es gibt keine lokale Datenbank. Die Logmeldungen sollen in eine remote Datenbank geschrieben werden. Dazu wird das Package libmysql benötigt. Die remote Datenbank muss entsprechend vorbereitet und konfiguriert sein! Standardeinstellung: RSYSLOGD_MYSQL_DB_PACKAGE=” RSYSLOGD_MYSQL_DB_NAME MySQL/Maria DB Database Name für Aktionen, die eine Datenbank nutzen. Diese Variable wird bei den Skripten im Menue 'rsyslogd tools' genutzt. Achtung: In der Regel selbst muss der Name als String eingegeben werden, dort wird NICHT der Inhalt RSYSLOGD_MYSQL_DB_NAME genutzt. Standardeinstellung: RSYSLOGD_MYSQL_DB_NAME='Syslog' RSYSLOGD_MYSQL_DB_REMOTE_PORT Port, der für den Zugriff auf die remote Database genutzt werden soll. Wird kein Port angegeben, so wird der Standardport 3306 genutzt. Gültige Werte: leer oder 1..65535 Standardeinstellung: RSYSLOGD_MYSQL_DB_REMOTE_PORT=” rsyslogd syslog server (rule settings) RSYSLOGD_RULE_N Anzahl der Regeln. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_RULE_N='2' RSYSLOGD_RULE_x_NAME Name bzw. Beschreibung der Regel. Gültige Werte: Text Standardeinstellung: RSYSLOGD_RULE_x_NAME=” RSYSLOGD_RULE_x_ACTIVE Legt fest, ob die Regel aktiv ist. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_RULE_x_ACTIVE='yes' RSYSLOGD_RULE_x_SELECTOR_N Anzahl der Selektoren. Derzeit werden nur sog. Multiselektorlisten, die durch ein Semikolon (';') getrennt werden, unterstützt. Wenn Multiselektorlisten, die durch ein Komma (',') getrennt werden genutzt werden sollen, so muss dies über RSYSLOGD_CONFIGURATION='manual' realisiert werden. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_RULE_x_SELECTOR_N='2' RSYSLOGD_RULE_x_SELECTOR_x_NAME Name bzw. Beschreibung des Selektors. Gültige Werte: Text Standardeinstellung: RSYSLOGD_RULE_x_SELECTOR_x_NAME=” RSYSLOGD_RULE_x_SELECTOR_x_ACTIVE Legt fest, ob der Selektor aktiv ist. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_RULE_x_SELECTOR_x_ACTIVE='yes' RSYSLOGD_RULE_x_SELECTOR_x Selektorfeld der Regel (z.B. kern.info oder mail.=info). Gültige Werte: Selektor Standardeinstellung: RSYSLOGD_RULE_x_SELECTOR_x='*.*' RSYSLOGD_RULE_x_ACTION Aktion für die Regel. Regular File: /filename oder -/filename (- kein sync nach jedem logging) Dynamic filenames: ?/filename oder -?/filename filename mit properties (- kein sync nach jedem logging) Named Pipes: |filename Terminal and Console: /dev/ttyname Remote Machine: @host[:Port] / @IP-Adresse[:Port] über UDP oder Remote Machine: @@host[:Port] / @@IP-Adresse[:Port] über TCP User or List of Users: willi oder root,willi Everyone logged on: * Discard: ~ Shell execute: ^program-to-execute Database: >host,database,user,password Remote RELP Protokoll: :omrelp:IP-address:port oder :omrelp:host:port Zu properties siehe Kapitel 'properties'. Zur Logrotate Konfiguration siehe Kapitel 'Logrotate Konfiguration fuer Dynamic Files'. Diese Version des Paketes unterstützt nur die MySQL bzw. Maria DB Datenbank. Sollen die Logzeilen in zwei Ziele, also z.B. sowohl in eine Datei, als auch in eine Datenbank ausgegeben werden, so muss die gesamte Regel doppelt, aber mit den verschiedenen ACTION-Angaben, erzeugt werden. ACHTUNG: Wird das Output Modul omrelp genutzt, so muss das Package ”libgnutls” installiert sein. Das Package ”libgnutls” wurde nicht als required in die Package Datei des rsyslogd aufgenommen, da es zusammen mit den für ”libgnutls” selbst notwendigen Packages sehr umfangreich ist. Gültige Werte: siehe oben Standardeinstellung: RSYSLOGD_RULE_x_ACTION='/var/log/messages' RSYSLOGD_RULE_x_LINE_TEMPLATE Format der Zeilen im Log. Gültige Werte: Default,MySQLInsert,DebugFormat,FileFormat, ForwardFormat,SysklogdFileFormat,MySQLInsertProgname, SyslogProtocol23Format,TraditionalFileFormat, TraditionalForwardFormat,TraditionalFormatWithPRI Wird RSYSLOGD_RULE_x_LINE_TEMPLATE auf 'Default' gesetzt, so wird RSYSLOGD_DEFAULT_LINE_TEMPLATE genutzt. Werden die Logzeilen in eine Datenbank geschrieben, so wird standardmäßig 'MySQLInsert' genutzt, es sein denn, es wird explizit 'MySQLInsertProgname' gesetzt. MySQLInsertProgname benutzt '%programname%' statt '%syslogtag%'. Standardeinstellung: RSYSLOGD_RULE_x_LINE_TEMPLATE='Default' RSYSLOGD_RULE_x_ROTATE Legt fest, ob der für diese Regel (Ziel der Regel) eine Logrotate Konfiguration generiert werden soll. Gültige Werte: yes, no Achtung: Nicht alle Ziele (ACTION-Angaben) können rotieren. Kann eine ACTION-Angabe nicht rotieren, so wird de Angabe ggf. ignoriert und eine entsprechende Warnung ausgegeben. Standardeinstellung: RSYSLOGD_RULE_x_ROTATE='yes' RSYSLOGD_RULE_x_ROTATE_MODE Legt fest, welcher Modus für das Logrotate genutzt werden soll. std : es wird der Standard Modus (logrotate über cron) genutzt size: es wird über eine einstellbare Größe der Datei unter Nutzung sog. outchannel rotiert Gültige Werte: std, size Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_MODE='std' RSYSLOGD_RULE_x_ROTATE_PRE_CMD Pre rotate Kommando der Logrotate Konfiguration. Bei Nutzung von RSYSLOGD_RULE_x_ROTATE_MODE='std' Gültige Werte: Text Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_PRE_CMD=” RSYSLOGD_RULE_x_ROTATE_POST_CMD Post rotate Kommando der Logrotate Konfiguration. Bei Nutzung von RSYSLOGD_RULE_x_ROTATE_MODE='std' Gültige Werte: Text Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_POST_CMD='/etc/init.d/rsyslogd ––quiet restart' RSYSLOGD_RULE_x_ROTATE_LOG_INTERVAL Logrotate interval. Bei Nutzung von RSYSLOGD_RULE_x_ROTATE_MODE='std' Gültige Werte: daily, weekly, monthly Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_LOG_INTERVAL='daily' RSYSLOGD_RULE_x_ROTATE_LOG_COUNT Anzahl der Logfiles, die behalten werden sollen. Bei Nutzung von RSYSLOGD_RULE_x_ROTATE_MODE='std' und RSYSLOGD_RULE_x_ROTATE_MODE='size' Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_LOG_COUNT='10' RSYSLOGD_RULE_x_ROTATE_SIZE Maximale Dateigröße in Bytes. Bei Nutzung von RSYSLOGD_RULE_x_ROTATE_MODE='size' Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_RULE_x_ROTATE_SIZE='2085181488' rsyslogd syslog server (listener settings) RSYSLOGD_LISTEN Legt fest, auf welchen Adressen der rsyslogd 'lauschen' soll. ipv4-only nur IPv4 Adressen werden genutzt. ipv6-only nur IPv6 Adressen werden genutzt. Ist RSYSLOGD_LISTEN=” gesetzt, so nutzt der rsyslogd alle Adressen des Systems, also IPv4 Adressen und IPv6 Adressen. Gültige Werte: leer, ipv4-only, ipv6-only Standardeinstellung: RSYSLOGD_LISTEN=” RSYSLOGD_IMUDP Legt fest, ob das Input Modul imudp genutzt wird (yes) oder (no). Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMUDP='no' RSYSLOGD_IMUDP_N Anzahl der Port Definitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_IMUDP_N='0' RSYSLOGD_IMUDP_x_PORT Zu benutzender Port. Gültige Werte: 1..65535 Standardeinstellung: RSYSLOGD_IMUDP_x_PORT='514' RSYSLOGD_IMTCP Legt fest, ob das Input Modul imtcp genutzt wird (yes) oder (no). Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMTCP='no' RSYSLOGD_IMTCP_N Anzahl der Port Definitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_IMTCP_N='0' RSYSLOGD_IMTCP_x_PORT Zu benutzender Port. Gültige Werte: 1..65535 Standardeinstellung: RSYSLOGD_IMTCP_x_PORT='514' rsyslogd syslog server (allowed sender list) Die Konfiguration der RSYSLOGD_ALLOWED_SENDER wird ab der Paketversion 1.1.6 nicht mehr auf die rsyslog Direktiven $AllowedSender abgebildet. Statt dessen werden Filterregeln für die Kernel NFtables erzeugt. Siehe Kapitel 'List nftables filter table' RSYSLOGD_ALLOWED_SENDER_N Anzahl der authorisierten Sender. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_ALLOWED_SENDER_N='0' RSYSLOGD_ALLOWED_SENDER_x_ACTIVE Legt fest, ob Konfigurationselement aktiv ist oder nicht. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_ALLOWED_SENDER_x_ACTIVE='yes' RSYSLOGD_ALLOWED_SENDER_x_PROT Protokoll, das genutzt wird. Gültige Werte: UDP, TCP oder RELP Standardeinstellung: RSYSLOGD_ALLOWED_SENDER_x_PROT='RELP' RSYSLOGD_ALLOWED_SENDER_x_PORT Port, der genutzt wird. Gültige Werte: numerische Portnummer Standardeinstellung: RSYSLOGD_ALLOWED_SENDER_x_PORT='20514' RSYSLOGD_ALLOWED_SENDER_x Authorisierten Sender. IP-Adresse (z.B. 192.168.1.6) oder Hostname (z.B. eisnodev) oder FQDN (z.B. eisnodev.ap.de) oder Netzwerk (z.B. *.ap.de oder 192.168.1.0/24) Vorsicht bei Hostnamen, FQDN und Netzwerknamen. Es muss eine entsprechende Namensauflösung möglich sein. Gültige Werte: siehe oben Standardeinstellung: RSYSLOGD_ALLOWED_SENDER_x='127.0.0.1' rsyslogd syslog server (impstats settings) RSYSLOGD_IMPSTAT Lade das impstats Satistik-Modul, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMPSTAT='no' RSYSLOGD_IMPSTATS_INTERVAL Statistik Interval in Sekunden. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_IMPSTATS_INTERVAL='300' RSYSLOGD_IMPSTATS_FACILITY Facility für die Statistik (numerisch 0-23). Facility 5 ist syslog. Gültige Werte: Facility (numerisch) 0..23 Standardeinstellung: RSYSLOGD_IMPSTATS_FACILITY='5' RSYSLOGD_IMPSTATS_SEVERITY Severity für die Statistik (numerisch 0-7). Severity 6 ist info. Gültige Werte: Severity (numerisch) 0..7 Standardeinstellung: RSYSLOGD_IMPSTATS_SEVERITY='6' RSYSLOGD_IMPSTATS_BRACKETING Benutze bracketing, ja oder nein. Beim bracketing werden die Statistikblöcke in zwei Zeile (BEGIN und END) eingeschlossen. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMPSTATS_BRACKETING='no' RSYSLOGD_IMPSTATS_SYSLOG Sende die Statistikzeilen in den Syslog Stream, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMPSTATS_SYSLOG='yes' RSYSLOGD_IMPSTATS_FILE Wenn nicht leer, schreibe die Statistik in eine Datei. Gültige Werte: absoluter Dateiname (z.B. /var/log/impstat.log) Standardeinstellung: RSYSLOGD_IMPSTATS_FILE=” RSYSLOGD_IMPSTATS_FILE_ROTATE Rotiere die Statistikdatei mittels logrotate, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMPSTATS_FILE_ROTATE='no' rsyslogd syslog server (imrelp port list) RSYSLOGD_IMRELP Legt fest, ob das Input Modul imrelp genutzt wird (yes) oder (no). ACHTUNG: Wird das Input Modul imrelp genutzt, so muss das Package ”libgnutls” installiert sein. Das Package ”libgnutls” wurde nicht als required in die Package Datei des rsyslogd aufgenommen, da es zusammen mit den für ”libgnutls” selbst notwendigen Packages sehr umfangreich ist. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_IMRELP='no' RSYSLOGD_IMRELP_N Anzahl der Port Definitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_IMRELP_N='0' RSYSLOGD_IMRELP_x_PORT Zu benutzender Port. Gültige Werte: 1..65535 Standardeinstellung: RSYSLOGD_IMRELP_x_PORT='20514' rsyslogd cron job to purge DB table RSYSLOGD_DBPURGE Bereinigung der Tabelle SystemEvents unter Nutzung eines cron jobs. Es wird durch das Skript, welches der cron job startet, ein Protokolleintrag der folgenden Form erzeugt: Mar 28 00:10:01 eiskernel root: rsyslogd: table SystemEvents total 4170 rows / 58 will be deleted Eine Bereinigung findet nur statt, wenn die 'will be deleted' Angabe einen Wert größer 0 anzeigt. Achtung: bei RSYSLOGD_DBPURGE='no' kann die Tabelle SystemEvents und damit die Datenbank enorm wachsen. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_DBPURGE='no' RSYSLOGD_DBPURGE_SCHEDULE Konfiguration des cron jobs. Der Default '10 0 * * *' bedeutet, dass der cron job jeden Tag um 00:10 Uhr ausgeführt werden soll. Gültige Werte: Konfigurationsstring für cron jobs Standardeinstellung: RSYSLOGD_DBPURGE_SCHEDULE='10 0 * * *' RSYSLOGD_DBPURGE_KEEP_DAYS Anzahl Tage, für die die Logeinträge in der Tabelle SystemEvents erhalten bleiben sollen. Der Default '7' bedeutet 7 Tage bzw. eine Woche. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_DBPURGE_KEEP_DAYS='7' rsyslogd expert cron job(s) to purge DB table RSYSLOGD_DBPURGE_EXPERT Soll expert purge genutzt werden, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_DBPURGE_EXPERT='no' RSYSLOGD_DBPURGE_N Anzahl der Definitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_DBPURGE_N='1' RSYSLOGD_DBPURGE_x_NAME Name bzw. Beschreibung der Definition. Gültige Werte: Text Standardeinstellung: RSYSLOGD_DBPURGE_x_NAME=” RSYSLOGD_DBPURGE_x_ACTIVE Ist die Definition aktiv, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_DBPURGE_x_ACTIVE='yes' RSYSLOGD_DBPURGE_x_SCHEDULE Konfiguration des cron jobs. Der Default '10 0 * * *' bedeutet, dass der cron job jeden Tag um 00:10 Uhr ausgeführt werden soll. Gültige Werte: Konfigurationsstring für cron jobs Standardeinstellung: RSYSLOGD_DBPURGE_x_SCHEDULE='10 0 * * *' RSYSLOGD_DBPURGE_x_KEEP_DAYS Anzahl Tage, für die die Logeinträge in der Tabelle SystemEvents erhalten bleiben sollen. Der Default '7' bedeutet 7 Tage bzw. eine Woche. Wird hier eine Angabe gemacht, so wird zusätzlich zu der Bedingung aus COLUMN, OPERATOR und VALUE (siehe unten) eine Bedingung auf die Column ReceivedAt erzeugt. Gültige Werte: Zahl / leer Standardeinstellung: RSYSLOGD_DBPURGE_x_KEEP_DAYS='7' RSYSLOGD_DBPURGE_x_COLUMN Column aus der Tabelle SystemEvents. Gültige Werte: ID, ReceivedAt, DeviceReportedTime, Facility, Priority, FromHost, Message, InfoUnitID, SysLogTag, ProcessID Standardeinstellung: RSYSLOGD_DBPURGE_x_COLUMN='FromHost' RSYSLOGD_DBPURGE_x_OPERATION Operation, die genutzt werden soll. Gültige Werte: >, >=, <, <=, =, !=, like Standardeinstellung: RSYSLOGD_DBPURGE_x_OPERATION='like' RSYSLOGD_DBPURGE_x_VALUE Wert, der genutzt werden soll. Bei like steht % für mehrere Zeichen, _ für ein Zeichen. Gültige Werte: Text Standardeinstellung: RSYSLOGD_DBPURGE_x_VALUE='eistest%' rsyslogd syslog server (file input definitions) RSYSLOGD_FILE_INPUT Soll File Input genutzt werden, ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_FILE_INPUT='no' RSYSLOGD_FILE_INPUT_N Anzahl der Definitionen. Gültige Werte: Zahl Standardeinstellung: RSYSLOGD_FILE_INPUT_N='0' RSYSLOGD_FILE_INPUT_x_NAME Name bzw. Beschreibung der Definition. Gültige Werte: Text Standardeinstellung: RSYSLOGD_FILE_INPUT_x_NAME=” RSYSLOGD_FILE_INPUT_x_ACTIVE Ist die Definition aktiv ja oder nein. Gültige Werte: yes, no Standardeinstellung: RSYSLOGD_FILE_INPUT_x_ACTIVE='yes' RSYSLOGD_FILE_INPUT_x_FILENAME Absoluter Pfadname der Input Datei. Gültige Werte: absoluter Pfad Standardeinstellung: RSYSLOGD_FILE_INPUT_x_FILENAME='/var/log/log.url-error' RSYSLOGD_FILE_INPUT_x_TAG Zu nutzender Tag für die Logmeldungen. Es ist sinnvoll den Tag mit einem Doppelpunkt als letztes Zeichen einzugeben. Gültige Werte: nicht leer Standardeinstellung: RSYSLOGD_FILE_INPUT_x_TAG='url-error:' RSYSLOGD_FILE_INPUT_x_FACILITY Zu nutzende Facility für die Logmeldungen. Z.B. news, user, local0, local1, local2, local3, local4, local5, local6, local7. Gültige Werte: facility Standardeinstellung: RSYSLOGD_FILE_INPUT_x_FACILITY='local7' RSYSLOGD_FILE_INPUT_x_SEVERITY Zu nutzende Severity für die Logmeldungen. Gültige Werte: debug, info, notice, warning, err, crit, alert, emerg Standardeinstellung: RSYSLOGD_FILE_INPUT_x_SEVERITY='err' Spezielle Menuepunkte Menue: Test rsyslogd configuration Über diesen Menuepunkt kann die rsyslogd Konfiguration durch den Daemon selbst geprüft werden. Dazu wird er intern mit dem Parameter '-N 10' aufgerufen. Die Prüfung kann von der Kommandozeile auch über /etc/init.d/rsyslogd test ausgeführt werden. Im Erfolgsfall wird eine Meldung wie folgt ausgegeben: Test rsyslogd configuration /etc/init.d/rsyslogd test rsyslogd: version 8.7.0, config validation run (level 10), master config /etc/rsyslog.conf rsyslogd: End of config validation run. Bye. Press ENTER to continue Die Fehlermeldungen sind leider (manchmal) etwas kryptisch: Test rsyslogd configuration /etc/init.d/rsyslogd test rsyslogd: version 8.7.0, config validation run (level 10), master config /etc/rsyslog.conf rsyslogd: action 'local9' treated as ':omusrmsg:local9' - please change syntax, 'local9' will not be supported in the future [try http://www.rsyslog.com/e/2184 ] rsyslogd: error during parsing file /etc/rsyslog.d/20_rsyslogd.conf, on or before line 8: warnings occured in file '/etc/rsyslog.d/20_rsyslogd.conf' around line 8 [try http://www.rsyslog.com/e/2207 ] rsyslogd: invalid character in selector line - ';template' expected rsyslogd: error during parsing file /etc/rsyslog.d/20_rsyslogd.conf, on or before line 8: errors occured in file '/etc/rsyslog.d/20_rsyslogd.conf' around line 8 try http://www.rsyslog.com/e/2207 ] rsyslogd: End of config validation run. Bye. Press ENTER to continue Hier wurde z.B. local9.=info /var/log/log.eis-install;TraditionalFormat statt local5.=info /var/log/log.eis-install;TraditionalFormat bei einer manuellen Konfiguration genutzt. Menue: rsyslogd tools Über ein Untermenue werden folgende Werkzeuge zur Verfügung gestellt. Create configuration using syslog(base) Unter Nutzung der aktuellen Konfiguration für den syslogd aus der base Konfiguration wird eine Konfiguration für den rsyslogd erzeugt. Die globalen Angaben SYSLOGD_LOG_COUNT SYSLOGD_LOG_INTERVAL werden für alle einzelnen Rules als RSYSLOGD_RULE_x_ROTATE_LOG_COUNT und RSYSLOGD_RULE_x_ROTATE_LOG_INTERVAL übernommen. Nutzung einer Datenbank Soll eine MySQL oder Maria DB Datenbank genutzt werden, um Logzeilen in die Datenbank zu schreiben, so ist wie folgt vorzugehen: Schritt 1.) Installation, Konfiguration und Start von MySQL oder Maria DB falls nicht bereits geschehen. Schritt 2.) Erzeugen der notwendigen Logging Datenbank über das Menue 'Create logging database'. Schritt 3.) Anlegen eines entsprechenden Users, um in die Tabellen der Logging Datenbank schreiben zu können. Dies geschieht über das Menue 'Grant full rights on logging database to a user'. Schritt 4.) Erzeugen einer RULE, die als Ziel die Datenbank hat. Bei den Schritten 1 bis 3 wird der Inhalt der Variablen RSYSLOGD_MYSQL_DB_NAME genutzt. In der Regel selbst muss der Name der Datenbank als als String eingegeben werden, dort wird nicht RSYSLOGD_MYSQL_DB_NAME genutzt. Create logging database Es wird die Datenbank aus RSYSLOGD_MYSQL_DB_NAME (Achtung: Groß- und Kleinschreibung beachten) in der lokalen MySQL- oder Maria DB-Instanz erzeugt. Skripts siehe /usr/lib/rsyslog/createDB.sql /usr/lib/rsyslog/alterDB_add_ProcessID.sql und /usr/lib/rsyslog/alterDB_addon_LogAnalyzer.sql Das Skript alterDB_addon_LogAnalyzer.sql enthält Erweiterungen, die für den Adiscon's Log Analyzer (Copyright Adiscon) benötigt werden. Das Skript /usr/lib/rsyslog/alterDB_addon_LogAnalyzer.sql wird über den Menuepunkt ”Alter logging database for LogAnalyzer” ausgeführt. Grant full rights on logging database to a user Den während des Aufrufs einzugebenden User mit den einzugebenden Passwort werden alle Rechte auf die Tabellen der Datenbank aus RSYSLOGD_MYSQL_DB_NAME gegeben. Damit wird implizit auch der User angelegt. Die RSYSLOGD_RULE_x_ACTION muss für MySQL wie folgt angegeben werden: >localhost,Name der logging database,Username,Passwort Das Zeichen > definiert, daß eine Datenbank genutzt werden soll. Username und Passwort müssen (natürlich) mit den Angaben bei 'Grant full rights on logging database to a user' übereinstimmen. Grant read rights on logging database to a user Den während des Aufrufs einzugebenden User mit den einzugebenden Passwort werden ausschließlich Lese-Rechte auf die Tabellen der Datenbank aus RSYSLOGD_MYSQL_DB_NAME gegeben. Damit wird implizit auch der User angelegt. Dieser User kann z.B. zur Auswertung der Tabellen genutzt werden. Über mysql -u -p select * from SystemEvents order by ID; kann danach z.B. die Tabelle SystemEvents ausgewertet werden. Drop logging database Über diesen Menuepunkt kann die komplette logging database gelöscht werden. Zur Sicherheit erfolgt eine entsprechende Rückfrage: Do you really want to drop database xxxxxx ? (y/n) [n]? mit Default n wie no. Bei xxxxxx wird er Name aus RSYSLOGD_MYSQL_DB_NAME ausgegeben. Alter logging database for LogAnalyzer Bei Erzeugen der logging database wird bei der Tabelle SystemEvents die Column ProcessID ergänzt. Über diesen Menuepunkt werden die Tabellen ProcessID und SystemEvents erweitert, um das Tool LogAnalyzer nutzen zu können. Manual logfile rotate Unter Umständen ist es sinnvoll ein Logfile unabhängig von der Größe und insbesondere unabhängig vom Aufruf von logrotate via cron zu rotieren. Dies ist über das Tool 'Manual logfile rotate' möglich. Beim Aufruf wird ein Untermenü mit den Namen der Logfiles angeboten, die rotiert werden können. Beispiel: 1 Rotate file messages 2 Rotate file log.eis-install Wird z.B. 1 Rotate file messages ausgewählt, so wird hier folgendes ausgegeben: rsyslogd: Rotate logfile manually File to rotate: messages Probably loss of log information when rotating an outchannel logfile Empty RSYSLOGD_RULE_%_ROTATE_POST_CMD set to '/etc/init.d/rsyslogd --quiet reload' Logrotate finished with return code 0 Press ENTER to continue Achtung: Zeilenumbruch zur Lesbarkeit eingebaut. Die beiden Warnungen erscheinen, weil hier bem Logfile messages RSYSLOGD_RULE_1_ROTATE_MODE='size' genutzt wird und damit das sog. outchannel Modul aktiv ist. Bei der gemischten Nutzung von outchannel Modul und logrotate kann es zum Verlust von Loginformation kommen. Außerdem wurde bei RSYSLOGD_RULE_1_ROTATE_POST_CMD keine Angabe gemacht. Es wird daher beim manuellen Logrotate der oben aufgeführte Befehl genutzt. Der Logrotate-Befehl wird mit der Option -f (force) ausgeführt. Test log messages Über den Befehl logger werden Testmessages an den rsyslogd geschickt. Dabei sind die Facility (FACILITY), die Priorität (PRIORITY), die Anzahl der Durchläufe (Count) und eine Wartezeit (Sleep (seconds)) auswählbar. Ergebnis sind dann z.B. Zeilen der Form Dec 13 16:13:49 eis2 root: Testmessage from eis4 (local7:warning) Dec 13 16:13:49 eis2 root: Testmessage from eis4 (local7:err) Dec 13 16:13:49 eis2 root: Testmessage from eis4 (local7:crit) Dec 13 16:13:49 eis2 root: Testmessage from eis4 (local7:alert) Dec 13 16:13:49 eis2 root: Testmessage from eis4 (local7:emerg) in einer Log-Datei. Analyze log rules Hier wird analysiert, welche Rules welches Tupel FACILITY/PRIORITY loggen. ACHTUNG: Dieses Analysetool ist ggf. noch fehlerhaft und muss ggf. noch korrigiert werden. Beispiel: rsyslogd logger analyze script analyzing rule 1 ... analyzing rule 2 ... Result: debug info notice warning err crit alert emerg auth #1# #1# #1# #1# #1# #1# #1# #1# authpriv #1# #1# #1# #1# #1# #1# #1# #1# cron #1# #1# #1# #1# #1# #1# #1# #1# daemon #1# #1# #1# #1# #1# #1# #1# #1# kern #1# #1# #1# #1# #1# #1# #1# #1# lpr #1# #1# #1# #1# #1# #1# #1# #1# mail #1# #1# #1# #1# #1# #1# #1# #1# mark #1# #1# #1# #1# #1# #1# #1# #1# news #1# #1# #1# #1# #1# #1# #1# #1# syslog #1# #1# #1# #1# #1# #1# #1# #1# user #1# #1# #1# #1# #1# #1# #1# #1# uucp #1# #1# #1# #1# #1# #1# #1# #1# local0 #1# #1# #1# #1# #1# #1# #1# #1# local1 #1# #1# #1# #1# #1# #1# #1# #1# local2 #1# #1# #1# #1# #1# #1# #1# #1# local3 #1# #1# #1# #1# #1# #1# #1# #1# local4 #1# #1# #1# #1# #1# #1# #1# #1# local5 #1# #2# #1# #1# #1# #1# #1# #1# local6 #1# #1# #1# #1# #1# #1# #1# #1# local7 #1# #1# #1# #1# #1# #1# #1# #1# Press ENTER to continue Hier existieren nur zwei Rules. Alle Tupel FACILITY/PRIORITY bis auf local5/info werden über die Rule 1 (#1#) erfaßt. Nur das Tupel local5/info wird über Rule 2 (#2#) erfaßt. Eine andere Konfiguration zeigt: rsyslogd logger analyze script analyzing rule 1 ... analyzing rule 2 ... Result: debug info notice warning err crit alert emerg auth #1# #1# #1# #1# #1# #1# #1# #1# authpriv #1# #1# #1# #1# #1# #1# #1# #1# cron #1# #1# #1# #1# #1# #1# #1# #1# daemon #1# #1# #1# #1# #1# #1# #1# #1# kern #1# #1# #1# #1# #1# #1# #1# #1# lpr #1# #1# #1# #1# #1# #1# #1# #1# mail #1# #1# #1# #1# #1# #1# #1# #1# mark #1# #1# #1# #1# #1# #1# #1# #1# news #1# #1# #1# #1# #1# #1# #1# #1# syslog #1# #1# #1# #1# #1# #1# #1# #1# user #1# #1# #1# #1# #1# #1# #1# #1# uucp #1# #1# #1# #1# #1# #1# #1# #1# local0 #1# #1# #1# #1# #1# #1# #1# #1# local1 #1# #1# #1# #1# #1# #1# #1# #1# local2 #1# #1# #1# #1# #1# #1# #1# #1# local3 #1# #1# #1# #1# #1# #1# #1# #1# local4 #1# #1# #1# #1# #1# #1# #1# #1# local5 #1# #2# #1#2# #1#2# #1#2# #1#2# #1#2# #1#2# local6 #1# #1# #1# #1# #1# #1# #1# #1# local7 #1# #1# #1# #1# #1# #1# #1# #1# Press ENTER to continue Hier wird local5/notice und höher durch zwei Rules #1#2# erfaßt. List nftables filter table Hier können die aus der Konfiguration der RSYSLOGD_ALLOWED_SENDER erzeugten NFtables angezeigt werden. Beispiel: RSYSLOGD_ALLOWED_SENDER_N='3' RSYSLOGD_ALLOWED_SENDER_1_ACTIVE='yes' RSYSLOGD_ALLOWED_SENDER_1_PROT='TCP' RSYSLOGD_ALLOWED_SENDER_1_PORT='517' RSYSLOGD_ALLOWED_SENDER_1='192.168.178.0/24' RSYSLOGD_ALLOWED_SENDER_2_ACTIVE='yes' RSYSLOGD_ALLOWED_SENDER_2_PROT='UDP' RSYSLOGD_ALLOWED_SENDER_2_PORT='518' RSYSLOGD_ALLOWED_SENDER_2='192.168.178.103' RSYSLOGD_ALLOWED_SENDER_3_ACTIVE='yes' RSYSLOGD_ALLOWED_SENDER_3_PROT='RELP' RSYSLOGD_ALLOWED_SENDER_3_PORT='20514' RSYSLOGD_ALLOWED_SENDER_3='192.168.178.103' Das gesamte Netzwerk '192.168.178.0/24' darf üeber UDP Port 517 Meldungen an den rsyslogd senden. Nur der Server 192.168.178.103 darf auch über TCP Port 518 Meldungen an den rsyslogd senden. Der Server 192.168.178.103 darf auch über das RELP Protokoll über Port 20514 Meldungen an den rsyslogd senden. Dies führt zu folgender NFtable Filtertabelle: table ip rsyslogd_filter { # handle 0 chain INPUT { # handle 1 ip saddr 192.168.178.0/24 tcp dport 517 counter packets 0 bytes 0 accept # handle 4 ip saddr 192.168.178.103 udp dport 518 counter packets 0 bytes 0 accept # handle 5 ip saddr 192.168.178.103 tcp dport 20514 counter packets 0 bytes 0 accept # handle 6 tcp dport 20514 counter packets 0 bytes 0 drop # handle 7 tcp dport 517 counter packets 0 bytes 0 drop # handle 8 udp dport 518 counter packets 0 bytes 0 drop # handle 9 } chain FORWARD { # handle 2 } chain OUTPUT { # handle 3 } } Zur besseren Lesbarkeit wurden die Zeilen bei ip saddr ... umgebrochen. Die drei Regeln, die auf accept und einen Kommentar mit der sog. Handle-Nummer enden, erteilen die entsprechenden Erlaubnis. Die drei Regeln, die auf drop und einen Kommentar mit der sog. Handle-Nummer enden, ist zu erkennen, daß Pakete die von anderen Quelladressen (saddr) stammen verworfen werden. List allowed sender Hier kann eine Übersicht zu den Konfigurationen von RSYSLOGD_IMUDP RSYSLOGD_IMUDP_N RSYSLOGD_IMUDP_%_PORT RSYSLOGD_IMTCP RSYSLOGD_IMTCP_N RSYSLOGD_IMTCP_%_PORT RSYSLOGD_IMRELP RSYSLOGD_IMRELP_N RSYSLOGD_IMRELP_%_PORT RSYSLOGD_ALLOWED_SENDER_N RSYSLOGD_ALLOWED_SENDER_%_ACTIVE RSYSLOGD_ALLOWED_SENDER_%_PROT RSYSLOGD_ALLOWED_SENDER_%_PORT RSYSLOGD_ALLOWED_SENDER_% erzeugt werden. Im Wesentlichen können damit Lücken beim Schutz vor beliebigen Sendern erkannt werden. Beispiel: Protocol Port Allowed Sender UDP 514 192.168.178.10 192.168.178.103 UDP 515 All sender allowed UDP 518 192.168.178.103 TCP 517 192.168.178.0/24 RELP 20514 192.168.178.103 RELP 20515 All sender allowed Beim Input Modul imudp wurden zwar Regeln für die Ports 514 (2 Regeln) und 518 erstellt, aber über den Port 515 können beliebige Sender Daten anliefern. Beim Input Modul imtcp wurde eine Regel für den Port 517 erstellt. Beim Input Modul imrelp wurde der Port 20515 für beliebige Sender offen gelassen. Fehlt ein Schutz, so kann der rsyslogd ggf. mit Meldungen überflutet werden! Datenfluss im rsyslog daemon Es gibt verschiedene Inputs im Datenfluss des rsyslog daemon. Die ersten beiden Inputs werden immer konfiguriert. Alle weiteren Inputs nur bei entsprechender Konfiguration durch die Eisfair Konfigurationsvariablen. Inputs sind: Standard syslog messages: Von Anwendungen, die auf dem lokalen System laufen Kernel messages: Meldungen des Kernels (kernel log) Internal rsyslogd messages: Start- und Stopmeldungen des rsyslog daemon Siehe RSYSLOGD_INTERNAL_MESSAGES Internal messages: Die --MARK-- message wird intern erzeugt Siehe RSYSLOGD_MARK_INTERVAL Statistik messages: Spezielle Meldungen des impstat Moduls Siehe RSYSLOGD_IMPSTATS UDP input messages: Meldungen, die ueber UDP von anderen Systemen angeliefert werden Siehe RSYSLOGD_LISTEN und RSYSLOGD_IMUDP TCP input messages: Meldungen, die ueber TCP von anderen Systemen angeliefert werden Siehe RSYSLOGD_LISTEN und RSYSLOGD_IMTCP RELP input messages: Meldungen, die ueber das spezielle RELP Protokoll von anderen Systemen angeliefert werden Siehe RSYSLOGD_IMRELP File input messages: Meldungen, die aus Textdateien ausgelesen werden Siehe RSYSLOGD_FILE_INPUT Die Meldungen werden zur Abarbeitung an die angegebenen Regeln übergeben. Dabei ist die textuelle Reihenfolge der Regeln in der erzeugten Konfiguration wichtig. Diese Reihenfolge spiegelt auch die Reihenfolge in der Eisfair Konfigurationsdatei wider. Die Reihenfolge ist: 'Global Discard Filter' 'Filter Rules' 'Rule Settings' Innerhalb der drei Regelgruppen ist die entsprechende Nummer wichtig. Bei der Gruppe 'Global Discard Filter' werden die Filterregeln ausgewertet und, falls die Regel zutrifft, die Meldung verworfen. Trifft die Regel nicht zu, so wird die nächste Regel ausgewertet. Nach der Gruppe 'Global Discard Filter' wird für die nicht verworfenen Meldungen in der Gruppe 'Filter Rules' weiter gemacht. Hier gilt: trifft eine Filterregel zu, so wird die Meldung in die konfigurierte Datei geschrieben und anschließend abhängig von RSYSLOGD_FILTER_x_STOP verworfen ('yes') oder bei ('no') die nächste Regel ausgewertet. Nach der Gruppe 'Filter Rules' findet die Auswertung durch die 'Rule Settings' statt. Hier wird die Meldung jeweils ausgewertet, die entsprechende Aktion (RSYSLOGD_RULE_x_ACTION) ausgeführt und an die nächste Regel weitergegeben. Klare Ausnahme ist hier die Discard Aktion. Hier besteht die gewünschte Aktion ja gerade im Verwerfen der Meldung. Trifft eine Regel für mehrere Meldungen zu, so werden ggf. mehrere Aktionen durchgeführt. Um z.B. alle Meldungen in die Datei /var/log/messages und in die Datenbanktabelle der MySQL-Datenbank zu schreiben wäre also z.B.: RSYSLOGD_RULE_N='2' RSYSLOGD_RULE_1_ACTIVE='yes' RSYSLOGD_RULE_1_SELECTOR_N='1' RSYSLOGD_RULE_1_SELECTOR_1_ACTIVE='yes' RSYSLOGD_RULE_1_SELECTOR_1='*.*' RSYSLOGD_RULE_1_ACTION='/var/log/messages' RSYSLOGD_RULE_2_ACTIVE='yes' RSYSLOGD_RULE_2_SELECTOR_N='1' RSYSLOGD_RULE_2_SELECTOR_1_ACTIVE='yes' RSYSLOGD_RULE_2_SELECTOR_1='*.*' RSYSLOGD_RULE_2_ACTION='>mydbhost,Syslog,loguser,secret' zu konfigurieren (Konfiguration leicht gekürzt). Global Discard Filter Einige Module / Programme etc. erzeugen zyklisch Syslog-Nachrichten, die die rsyslogd Ziele unnötig aufblähen. Diese Syslog-Meldungen lassen sich ggf. nicht über facility / priority Angaben ausfiltern sondern nur über den Inhalt der Meldungen. Dies kann über 'Global Discard Filter' geschehen. Beispiel 1 (von Jürgen Edner): Das USBIP-Modul generiert beispielhaft zyklisch folgende Meldungen: Apr 17 13:09:04 farragut kernel: vhci\_hcd: dequeue a urb ed71d900 Apr 17 13:09:04 farragut kernel: vhci\_hcd: device ed7e7910 seems to be still connected Apr 17 13:09:04 farragut kernel: vhci\_hcd: unlink->seqnum 679095 Apr 17 13:09:04 farragut kernel: vhci\_hcd: urb->status -104 Achtung: Zeilenumbruch zur Lesbarkeit eingebaut. Andere kernel Meldungen und andere Meldungen von vhci_hcd sollen natürlich NICHT ausgefiltert werden! Die obigen Meldungen lassen sich leicht über folgende 'Global Discard Filter' unterdrücken. RSYSLOGD_GLOBAL_DISCARD_FILTER_N='4' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_OPERATION='contains' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_VALUE='vhci_hcd: dequeue a urb' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_OPERATION='regex' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_VALUE='vhci_hcd: device.*seems to be still connected' RSYSLOGD_GLOBAL_DISCARD_FILTER_3_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_3_OPERATION='contains' RSYSLOGD_GLOBAL_DISCARD_FILTER_3_VALUE='vhci_hcd: unlink-\>seqnum' RSYSLOGD_GLOBAL_DISCARD_FILTER_4_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_4_OPERATION='contains' RSYSLOGD_GLOBAL_DISCARD_FILTER_4_VALUE='vhci_hcd: urb->status -104' Achtung: Zeilenumbruch zur Lesbarkeit eingebaut. Beispiel 2: Wegen einer PAM Konfiguration, die die Installation des Samba-Paket nicht beachtet, werden ggf. folgende Meldungen ausgegeben: Mar 26 10:26:37 eis350 login[1367]: PAM unable to dlopen(/lib/security/ pam_smbpass.so): /lib/security/pam_smbpass.so: cannot open shared object file: No such file or directory Mar 26 10:26:37 eis350 login[1367]: PAM adding faulty module: /lib/ security/pam_smbpass.so bzw. Apr 29 19:46:12 eismini sshd[9746]: PAM unable to dlopen(/lib/security/ pam_smbpass.so): /lib/security/pam_smbpass.so: cannot open shared object file: No such file or directory Apr 29 19:46:12 eismini sshd[9746]: PAM adding faulty module: /lib/ security/pam_smbpass.so Achtung: Zeilenumbrüche zur Lesbarkeit eingebaut. Hier sollen auf keinen Fall alle authpriv.err Meldungen oder gar alle Meldungen der Programme login oder sshd ausgefiltert werden. Diese beiden speziellen Meldungen lassen sich aber beispielsweise leicht über folgende 'Global Discard Filter' unterdrücken. RSYSLOGD_GLOBAL_DISCARD_FILTER_N='2' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_OPERATION='contains' RSYSLOGD_GLOBAL_DISCARD_FILTER_1_VALUE='PAM unable to dlopen(/lib/security/ pam_smbpass.so)' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_PROPERTY='msg' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_OPERATION='regex' RSYSLOGD_GLOBAL_DISCARD_FILTER_2_VALUE='PAM .* faulty module.*' Achtung: Zeilenumbruch zur Lesbarkeit eingebaut. ACHTUNG: Vorsicht bei der Anwendung von Negationen. Hier können höchst unerwünschte Ergebnisse erzielt werden. Filter Rules Beispiele: A.) Meldungen von dem System mit dem Namen dbhost sollen in die Datei /var/log/dbhost.log geschrieben werden. Die Meldungen sollen auch von den folgenden Regeln bearbeitet werden. RSYSLOGD_FILTER_1_NAME='Hostname-filter' RSYSLOGD_FILTER_1_ACTIVE='yes' RSYSLOGD_FILTER_1_LOGFILE='/var/log/dbhost.log' RSYSLOGD_FILTER_1_LINE_TEMPLATE='Default' RSYSLOGD_FILTER_1_STOP='no' RSYSLOGD_FILTER_1_PROPERTY='hostname' RSYSLOGD_FILTER_1_OPERATION='startswith' RSYSLOGD_FILTER_1_VALUE='dbhost' Hier wird startswith genutzt, da unabhängig von RSYSLOGD_LOG_FQDN sowohl der Hostname dbhost als auch der FQDN (hier dbhost.ap.de) erkannt werden soll. B.) Alle Meldungen des Programms fcron sollen in die Datei /var/log/fcron.log geschrieben werden. Sie sollen nicht an die folgenden Regeln weitergegeben werden. RSYSLOGD_FILTER_2_NAME=” RSYSLOGD_FILTER_2_ACTIVE='yes' RSYSLOGD_FILTER_2_LOGFILE='/var/log/fcron.log' RSYSLOGD_FILTER_2_LINE_TEMPLATE='Default' RSYSLOGD_FILTER_2_STOP='yes' RSYSLOGD_FILTER_2_PROPERTY='programname' RSYSLOGD_FILTER_2_OPERATION='==' RSYSLOGD_FILTER_2_VALUE='fcron' Für alle Logfiles (RSYSLOGD_FILTER_%_LOGFILE) von aktiven Filtern wird automatisch eine gemeinsame Logrotate Konfiguration in der Datei /etc/logrotate.d/rsyslogd_filter erzeugt. Beispiel für Filter Rules mit zwei Dateien: #------------------------------------------------------------------------------- # /etc/logrotate.d/rsyslogd_filter file generated by /var/install/config.d/rsysl ogd.sh # # Do not edit this file, edit /etc/config.d/rsyslogd # Creation date: Wed Nov 21 17:10:58 CET 2018 #------------------------------------------------------------------------------- /var/log/dbhost.log /var/log/fcron.log { daily missingok rotate 10 compress notifempty postrotate /etc/init.d/rsyslogd --quiet reload endscript } In einer späteren Version des rsyslogd Paketes wird es ggf. Optionen für einzelne spezielle Konfigurationen geben. expert cron job(s) to purge DB table Mit Hilfe der Definitionen aus dieser Konfigurationsgruppe können eine Reihe von cron Jobs definiert werden, bei deren Ausfürung jeweils defnierte Zeilen aus der Tabelle SystemEvents gelöscht werden können. Ist RSYSLOGD_DBPURGE_x_KEEP_DAYS nicht leer, so wird eine Bedingung (ReceivedAt < date_add(current_date, interval -$RSYSLOGD_DBPURGE_x_KEEP_DAYS day)) and mit der Bedingung aus COLUMN, OPERATOR und VALUE mittels and verknüpft. Achtung: Zeilenumbruch zur besseren Lesbarkeit eingefügt. Aus RSYSLOGD_DBPURGE_x_COLUMN, RSYSLOGD_DBPURGE_x_OPERATION und RSYSLOGD_DBPURGE_x_VALUE wird ebenfalls eine Bedingung generiert. Beispiel: (FromHost like 'eistest%') Die generierten SQL-Befehle können im Menue ”rsyslogd tools” Untermenue ”Test DBPurge expert configurations” getestet werden: Beispiel: rsyslogd Test DBPurge expert configurations. No. Name Active Keep Column Op Value 1 ... yes 7 FromHost like eistest% Select configuration (1-1, ENTER=Return, 0=Exit)?1 Generated select file: /* file generated by /var/install/config.d/rsyslogd.sh v0.6.10 */ select 'total', count(*) from SystemEvents union select 'old', count(*) FROM SystemEvents WHERE (ReceivedAt < date_add(current_date, interval -7 day)) and (FromHost like 'eistest%'); Press ENTER to continue Select file output: +-------+------+ | total | 4741 | | old | 102 | +-------+------+ The Delete file will delete 102 rows! Press ENTER to continue Die Ausgabe ... unter Name bedeutet, daß RSYSLOGD_DBPURGE_x_NAME leer ist. File Input Definitions Mit Hilfe der File Input Definitions kann der rsyslogd veranlasst werden Standard-Text-Dateien in syslog Meldungen zu konvertieren. Diese können dann auch über entsprechende Regeln auf einen Remote Host übertragen und dort zentral ausgewertet werden. Beispiel: Ein Shell-Skript schreibt Fehlermeldungen direkt in eine Datei. Diese Fehlermeldungen sind nur direkt auf dem Host, auf dem das Shell-Skript abläuft, verfügbar. Eine entsprechende File Input Definition ermöglicht es diese Meldungen in syslog Meldungen zu konvertieren und auf einen anderen Host zu übertragen. Hier wird (zufällig) Regel 5 genutzt. RSYSLOGD_RULE_5_NAME=” RSYSLOGD_RULE_5_ACTIVE='yes' RSYSLOGD_RULE_5_SELECTOR_N='1' RSYSLOGD_RULE_5_SELECTOR_1_NAME='Übergabe log.url-error' RSYSLOGD_RULE_5_SELECTOR_1_ACTIVE='yes' RSYSLOGD_RULE_5_SELECTOR_1='local7.=err' RSYSLOGD_RULE_5_ACTION='@eis350.fritz.box' RSYSLOGD_RULE_5_LINE_TEMPLATE='Default' RSYSLOGD_RULE_5_ROTATE='no' RSYSLOGD_FILE_INPUT='yes' RSYSLOGD_FILE_INPUT_N='1' RSYSLOGD_FILE_INPUT_1_NAME='Übergabe log.url-error' RSYSLOGD_FILE_INPUT_1_ACTIVE='yes' RSYSLOGD_FILE_INPUT_1_FILENAME='/var/log/log.url-error' RSYSLOGD_FILE_INPUT_1_TAG='url-error:' RSYSLOGD_FILE_INPUT_1_FACILITY='local7' RSYSLOGD_FILE_INPUT_1_SEVERITY='err' Der Inhalt der Datei /var/log/log.url-error wird auf dem Host eis350.fritz.box übertragen. Inhalt: eismini # cat log.url-error 2016-09-06 10:30:45 url-fail: http://download.eisfair.org/packages/eis-list.txt erscheint als: Sep 6 10:30:46 eismini eismini url-error: 2016-09-06 10:30:45 url-fail: http://download.eisfair.org/packages/eis-list.txt im Log von eis350.fritz.box. Achtung: Zeilenumbruch zur Lesbarkeit eingebaut. Es werden jeweils nur 'neue' Zeilen übertragen. Eine ggf. konfigurierte Logrotate Aktion für die betroffene Datei wird abgehandelt. Der Status der Datei wird im Verzeichnis /usr/lib/rsyslog/workdir in der Datei imfile-state:-var-log-log.url-error gehalten. Wird diese Statusdatei gelöscht, so wird erneut der gesamte Inhalt der Datei übertragen. properties Alle Properties sind unter https://www.rsyslog.com/doc/v8-stable/configuration/properties.html aufgelistet Die Property $programname enthaelt leider eine "Überraschung", gerade für den rsyslogd Hier werden Programmnamen wie rsyslogd-2007, rsyslogd-2291, rsyslogd-2353, rsyslogd-2359 und rsyslogd0 erzeugt. Um diese Programmnamen auf ein einheitliches rsyslogd zu mappen, wurde die konfigurationsinterne Property $!data!modprogramname eingeführt. $!data!modprogramname korrigiert die "überraschenden" Programmnamen. Logrotate Konfiguration fuer Dynamic Files Die Eisfair Konfigurationsskripte koennen für Dynafiles nicht automatisch logrotate Konfigurationen in /etc/logrotate.d anlegen. Aus der ACTION ist ja nur ein Teil der Dateinamen fix, ein Teil entsteht ja durch die Anwendung der properties in der ACTION (ggf. im Laufe der Zeit). logrotate Konfigurationen in /etc/logrotate.d müssen daher manuell angelegt werden. Ein Hilfsskript /var/install/bin/rsyslogd-tools-create-rotate-conf unterstützt hierbei. rsyslogd-tools-create-rotate-conf benötigt drei Parameter $1 RSYSLOGD_RULE_N $2 Pfadangabe $3 Dateiname oder ALL Es wird bei der Ausführung eine Datei /etc/logrotate.d/rsyslogd_dyn_xx angelegt. xx wird aus Parameter $1 des Skripts gesetzt. Die automatisch generierten logrotate Konfigurationen in /etc/logrotate.d folgen der Syntax rsyslogd_dyn_xx. Dabei ist xx die RSYSLOGD_RULE_N. Beispiele: Beispiel 1: *********** ACTION: RSYSLOGD_RULE_4_ACTION='?/var/log/hosts/%HOSTNAME%/messages' Verzeichnis: /var/log/hosts /var/log/hosts/eistestvirt.fritz.box /var/log/hosts/eistestvirt.fritz.box/messages /var/log/hosts/logserv.fritz.box /var/log/hosts/logserv.fritz.box/messages Aufruf: sh rsyslogd-tools-create-rotate-conf 4 /var/log/hosts messages Erzeugt Datei rsyslogd_dyn_04 .... /var/log/hosts/eistestvirt.fritz.box/messages /var/log/hosts/logserv.fritz.box/messages { daily missingok .... Beispiel 2: *********** ACTION: RSYSLOGD_RULE_5_ACTION='?/var/log/modprog/%$!data!modprogramname%/messages' Verzeichnis: /var/log/modprog /var/log/modprog/eis-deinstall /var/log/modprog/eis-deinstall/messages /var/log/modprog/eis-update /var/log/modprog/eis-update/messages /var/log/modprog/eis_install /var/log/modprog/eis_install/messages /var/log/modprog/fcron /var/log/modprog/fcron/messages /var/log/modprog/fcrontab /var/log/modprog/fcrontab/messages /var/log/modprog/haveged /var/log/modprog/haveged/messages /var/log/modprog/init /var/log/modprog/init/messages /var/log/modprog/kernel /var/log/modprog/kernel/messages /var/log/modprog/rsyslogd /var/log/modprog/rsyslogd/messages /var/log/modprog/shutdown /var/log/modprog/shutdown/messages /var/log/modprog/sshd /var/log/modprog/sshd/messages /var/log/modprog/su /var/log/modprog/su/messages /var/log/modprog/usermod /var/log/modprog/usermod/messages /var/log/modprog/xinetd /var/log/modprog/xinetd/messages Aufruf: sh rsyslogd-tools-create-rotate-conf 5 /var/log/modprog messages Erzeugt Datei rsyslogd_dyn_05 ... /var/log/modprog/eis-deinstall/messages /var/log/modprog/eis-update/messages /var/log/modprog/eis_install/messages /var/log/modprog/fcron/messages /var/log/modprog/fcrontab/messages /var/log/modprog/haveged/messages /var/log/modprog/init/messages /var/log/modprog/kernel/messages /var/log/modprog/rsyslogd/messages /var/log/modprog/shutdown/messages /var/log/modprog/sshd/messages /var/log/modprog/su/messages /var/log/modprog/usermod/messages /var/log/modprog/xinetd/messages { daily missingok ... Beispiel 3: *********** Zwei miteinander verbundene Regeln RSYSLOGD_RULE_7_NAME='messages_per_host' RSYSLOGD_RULE_7_SELECTOR_N='2' RSYSLOGD_RULE_7_SELECTOR_1_NAME='messages' RSYSLOGD_RULE_7_SELECTOR_1='*.*' RSYSLOGD_RULE_7_SELECTOR_2_NAME='eis-install' RSYSLOGD_RULE_7_SELECTOR_2='local5.!=info' RSYSLOGD_RULE_7_ACTION='?/var/log/all_hosts/%HOSTNAME%/messages' RSYSLOGD_RULE_8_NAME='eis-install_per_host' RSYSLOGD_RULE_8_SELECTOR_N='1' RSYSLOGD_RULE_8_SELECTOR_1_NAME='eis-install' RSYSLOGD_RULE_8_SELECTOR_1='local5.=info' RSYSLOGD_RULE_8_ACTION='?/var/log/all_hosts/%HOSTNAME%/eis-install' Verzeichnis: /var/log/all_hosts /var/log/all_hosts/eistestvirt.fritz.box /var/log/all_hosts/eistestvirt.fritz.box/eis-install /var/log/all_hosts/eistestvirt.fritz.box/messages /var/log/all_hosts/logserv.fritz.box /var/log/all_hosts/logserv.fritz.box/eis-install /var/log/all_hosts/logserv.fritz.box/messages Aufruf: sh rsyslogd-tools-create-rotate-conf 78 /var/log/all_hosts ALL Hier wurde als RSYSLOGD_RULE_N einfach die 78 gew"ahlt. Da es unterschiedliche Dateinamen gibt wirde als dritter Parameter ALL genutzt. Erzeugt Datei rsyslogd_dyn_78 ... /var/log/all_hosts/eistestvirt.fritz.box/eis-install /var/log/all_hosts/eistestvirt.fritz.box/messages /var/log/all_hosts/logserv.fritz.box/eis-install /var/log/all_hosts/logserv.fritz.box/messages { daily missingok ... Einstellungen beim Uebersetzen der Packages Mit folgenden Einstellungen wurde der rsyslogd übersetzt (eigentlich konfiguriert): --prefix=/usr --disable-generate-man-pages --enable-imfile --enable-mysql --enable-relp --enable-impstats --enable-omprog __________________________________________________________________ References 1. http://www.rsyslog.com/