User Tools

Site Tools


uls:agents:log_file_adapter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
uls:agents:log_file_adapter [2022-10-22 11:50]
uls [Configuration File]
uls:agents:log_file_adapter [2025-04-03 10:43] (current)
uls [Configuration File]
Line 50: Line 50:
 Für jede neu hinzukommende Zeile werden folgende Aktionen durchgeführt:​ Für jede neu hinzukommende Zeile werden folgende Aktionen durchgeführt:​
   * passt die Zeile zum regulären Ausdruck von vreg, dann diese Zeile ignorieren => auf nächste Zeile warten   * passt die Zeile zum regulären Ausdruck von vreg, dann diese Zeile ignorieren => auf nächste Zeile warten
-  * passt die Zeile zu einem regulären Ausdruck ​von reg0..reg99 ​oder reg0+..reg99+, dann die Zeile parsen mit iformat0..99 ​und entsprechende ​action0..action99 ​ausführen => wenn reg0+..reg99+, dann weiter vergleichen,​ sonst auf nächste Zeile warten +  * passt die Zeile zu einem regulären Ausdruck ​der reg oder reg+, dann die Zeile parsen mit iformat ​und entsprechende ​action, write oder syslog ​ausführen 
-  * ist ereg_all = 1, dann eaction ausführen => auf nächste Zeile warten +    ​=> wenn reg+, dann weiter vergleichen,​ sonst auf nächste Zeile warten
-  * passt die Zeile zum regulären Ausdruck von ereg, dann die Zeile parsen mit inputformat und eaction ausführen => auf nächste Zeile warten +
-  * ist wreg_all = 1, dann waction ausführen => auf nächste Zeile warten +
-  * passt die Zeile zum regulären Ausdruck von wreg, dann die Zeile parsen mit inputformat und waction ausführen => auf nächste Zeile warten+
   * ist lreg_all = 1, dann laction ausführen => auf nächste Zeile warten   * ist lreg_all = 1, dann laction ausführen => auf nächste Zeile warten
   * passt die Zeile zum regulären Ausdruck von lreg, dann die Zeile parsen mit inputformat und laction ausführen => auf nächste Zeile warten   * passt die Zeile zum regulären Ausdruck von lreg, dann die Zeile parsen mit inputformat und laction ausführen => auf nächste Zeile warten
   * wenn keine der obigen Bedingungen erfüllt sind, dann wird die Zeile ignoriert => auf nächste Zeile warten   * wenn keine der obigen Bedingungen erfüllt sind, dann wird die Zeile ignoriert => auf nächste Zeile warten
  
-Zu allen direkt eingetragenen regulären Ausdrücken reg?[+] kann auch eine Datei reg_file?[+] angegeben werden, die mehrere Zeilen mit jeweils einem regulären Ausdruck enthalten können. Die regulären Ausdrücke werden bei der Anwendung von reg_filelogisch ODER verknüpft. Es wird entweder regoder reg_fileverwendet, der letzte Eintrag in der Konfigurationsdatei entscheidet.+Zu allen direkt eingetragenen regulären Ausdrücken reg[+] kann auch eine Datei reg_file[+] angegeben werden, die mehrere Zeilen mit jeweils einem regulären Ausdruck enthalten können. Die regulären Ausdrücke werden bei der Anwendung von reg_file logisch ODER verknüpft. Es wird entweder reg oder reg_file verwendet, der letzte Eintrag in der Konfigurationsdatei entscheidet.
  
  
Line 235: Line 232:
  
 # es können bis zu 100 Dateien überwacht werden, die als feste Dateinamen oder Suchmuster angeben werden # es können bis zu 100 Dateien überwacht werden, die als feste Dateinamen oder Suchmuster angeben werden
-# d. h. inputfile ​und inputfilepattern ​darf mehrfach angegeben werden+# d. h. inputfile, inputfiles, ​inputfilepattern ​und inputfilepatterns dürfen ​mehrfach angegeben werden
  
 # feste Dateinamen # feste Dateinamen
Line 252: Line 249:
 # Es wird die erste Datei, die zum Muster passt überwacht. # Es wird die erste Datei, die zum Muster passt überwacht.
 # Wenn die Datei gelöscht oder komprimiert wird, dann wird erneut gesucht. # Wenn die Datei gelöscht oder komprimiert wird, dann wird erneut gesucht.
-+#
 inputfilepattern = /​var/​log/​prod/​logfile*.log inputfilepattern = /​var/​log/​prod/​logfile*.log
 +
 +# Dateien nach Muster in mehreren Pfaden
 +#
 +# Wenn der Name der Logdatei nicht feststeht. ​
 +# Es wird in allen Pfaden jeweils die erste Datei, die zum Muster passt überwacht.
 +# Wenn die Datei gelöscht oder komprimiert wird, dann wird erneut gesucht.
 +# Der letzte Wildcard gibt an, über welche Dateien die neueste gesucht werden soll.
 +# Wenn der veränderliche Teil nicht am Ende steht, dann muss der veränderliche Teil
 +# in {...} eingeschlossen werden.
 +#
 +inputfilepatterns = /​var/​log/​*/​logfile*.log ​ # jeweils die neueste Datei pro Ordner
 +inputfilepatterns = /​var/​log/​*_logfile*.log ​ # mehrere Logfiles in einem Ordner
 +inputfilepatterns = /​var/​log/​logfile_{*}_*.log ​ # mehrere Logfiles in einem Ordner, das Datum steht vorn
 +
  
 # Die Suchreihenfolge kann geändert werden: # Die Suchreihenfolge kann geändert werden:
Line 268: Line 279:
 #   ​unabhängig von inputfilepatternsort wird auf die neueste Datei gewechselt #   ​unabhängig von inputfilepatternsort wird auf die neueste Datei gewechselt
 inputfilepatternsearch = 60 inputfilepatternsearch = 60
 +
 +# inputfilereopen
 +# Bei Linux werden die Logdateien nicht geschlossen
 +inputfilereopen = 1    # Logdateien schließen, wenn nicht gelesen wird (ist bei Windows standard)
 +
 +# exit_on
 +# der lfa4uls kann beendet werden, wenn:
 +exit_on = EOF     # beenden, wenn Datei zu Ende gelesen wurde
 +exit_on = FNF     # wenn keine Datei gefunden wird, bzw. wenn es keine neue Datei gibt
  
  
Line 340: Line 360:
 %0 bis %9 - freie Variablen %0 bis %9 - freie Variablen
 # die Variablen %h, %q und %0 - %9 können global vorbelegt werden: # die Variablen %h, %q und %0 - %9 können global vorbelegt werden:
-set <​varname>​=<​value>​+set <​varname>​ = <​value>​
  
-# ----- DIRECTORY ----- 
-# Für die Directory-Funktionen wird I-Notify verwendet, das unter Windows nicht zur Verfügung steht. 
-# 
-# Zu überwachendes Verzeichnis (nicht zusammen mit inputfile oder inputfilepattern) 
-inputdir = /var/log 
  
-inputdir_num_subdirs wenn auf größer ​gesetzt, dann werden bis zu inputdir_num_subdirs Unterverzeichniss mit überwacht +----- date time ----- 
-inputdir_num_subdirs ​50+utcin = 1|0    # read timestamps in UTC or localtime 
 +utcout ​1|0   # write timestamps in UTC or localtime
  
-# inputdir_num_files:​ Anzahl gleichzeitig offener Dateien, die überwacht werden. 
-# std ist 300 
-inputdir_num_files = 100 
  
-# dirfilepattern legt die Dateien fest, die Zeilenweise ausgewertet werden. Hist und consolidate ist noch nicht möglich. +# ----- INPUT LINE FORMAT -----
-dirfilepattern = *.log +
- +
-# dirfilepipepattern:​ Dateien, die nach dem schließen an Kommando gesendet werden +
-# dirfilepipecmd:​ Dateien werden an STDIN des CMDs gesendet. +
-#                 Es können Parameter mit Codes verwendet werden. Die Codes %p, %P und Datumswerte sind gesezt, +
-#                 die anderen Codes sind nur gesetzt, wenn die Datei auch bei dirfilepattern ausgewählt ist. +
-dirfilepipepattern = *.dat +
-dirfilepipecmd = send_compressed_file %p %P +
- +
-# dirfileclosepattern ​ Das Schließen von Dateien überwachen +
-# dirfileclosecmd ​     CMD ausführen, Parameter siehe dirfilepipecmd +
-# dirfileclosewrite ​   angegebenen Text in Ausgabedatei schreiben, Codes wie bei dirfilepipecmd +
-dirfileclosepattern = *.info +
-dirfileclosecmd = echo "Datei %P wurde geschlossen"​ +
-dirfileclosewrite = V;%F %T;​%h;​LFA;​Dirmon;​Close;​%P;​_ +
- +
-# dirfilecreatepattern ​ Anlegen von Dateien monitoren +
-# dirfilecreatecmd +
-# dirfilecreatewrite +
- +
-# dirfiledeletepattern ​ Löschen von Dateien monitoren +
-# dirfiledeletecmd +
-# dirfiledeletewrite +
- +
-# dirfilemodifypattern ​ Ändern von Dateien monitoren +
-# dirfilemodifycmd +
-# dirfilemodifywrite +
- +
-# dirfilemovedfrompattern ​ Wegmoven von Dateien monitoren +
-# dirfilemovedfromcmd +
-# dirfilemovedfromwrite +
- +
-# dirfilemovedtopattern ​ Hinmoven von Dateien monitoren +
-#                       (Wird eine Datei umbenannt, gibt es ein movedfrom und ein movedto) +
-#                       (Wird eine Datei von einem Verzeichnis in ein anderes gemoved, dann +
-#                        werden movedfrom und movedto nur für überwachte Verzeichnisse generiert) +
-# dirfilemovedtocmd +
-# dirfilemovedtowrite +
- +
-# dirfileopenpattern ​ Öffnen von Dateien monitoren +
-# dirfileopencmd +
-# dirfileopenwrite +
- +
- +
-# ----- LINE FORMAT ----- +
-+
-# ----- INPUT FORMAT -----+
  
 inputformat = %t %h %q: %sValue1: %1, Value2: %2, %W inputformat = %t %h %q: %sValue1: %1, Value2: %2, %W
Line 411: Line 377:
  
 inputformat =| %t %h %q: %svalue1: %1, value2: %2, %W inputformat =| %t %h %q: %svalue1: %1, value2: %2, %W
- 
  
 # Folgende Codes koennen zum Parsen der Zeilen benutzt werden: # Folgende Codes koennen zum Parsen der Zeilen benutzt werden:
-%%      => % + 
-%[<​CHARS>​] => ein beliebiges Zeichen aus <​CHARS>​ +%%      => % 
-%s      => ein String (wird verworfen) +%[<​CHARS>​] => ein beliebiges Zeichen aus <​CHARS>​ 
-%.<​n>​s ​ => <n> Zeichen (werden verworfen) +%s      => ein String (wird verworfen) 
-%t      => Datum im Format: MMM TT hh:mm:ss (Monat Tag Stunde:​Minute:​Sekunde) +%.<​n>​s ​ => <n> Zeichen (werden verworfen) 
-#             oder im Format: YYYY-MM-DD[T ]hh:​mm:​ss[.ssssss][+-hh:​mm] +%t      => Datum im Format: MMM TT hh:mm:ss (Monat Tag Stunde:​Minute:​Sekunde) 
-%c      => ein Zeichen (wird verworfen) +            oder im Format: YYYY-MM-DD[T ]hh:​mm:​ss[.ssssss][+-hh:​mm] 
-%.<​n>​c ​ => <n> Zeichen (werden verworfen) +%c      => ein Zeichen (wird verworfen) 
-%h      => Host +%.<​n>​c ​ => <n> Zeichen (werden verworfen) 
-%q      => Quelle, Besonderheit bei %q: Ausdrücke, die in '​()',​ '​[]'​ oder '​{}'​ stehen gelten bei der Wiederarlarmierung als identisch. +%h      => Host 
-%W      => Meldung (gelesen wird bis zum Zeilenende) +%q      => Quelle, Besonderheit bei %q: Ausdrücke, die in '​()',​ '​[]'​ oder '​{}'​ stehen gelten bei der Wiederarlarmierung als identisch. 
-%D      => Datum im Format: DD.MM.YY oder DD.MM.YYYY +%W      => Meldung (gelesen wird bis zum Zeilenende) 
-%F      => Datum im Format: YYYY-MM-DD +%D      => Datum im Format: DD.MM.YY oder DD.MM.YYYY 
-%T      => Zeit im Format: hh:mm:ss +%F      => Datum im Format: YYYY-MM-DD 
-%d      => Tag +%T      => Zeit im Format: hh:mm:ss 
-%m      => Monat +%d      => Tag 
-%b      => Monatsname (erste drei Zeichen) +%m      => Monat 
-%y      => Jahr (zweistellig) +%b      => Monatsname (erste drei Zeichen) 
-%Y      => Jahr (vierstellig) +%y      => Jahr (zweistellig) 
-%H      => Stunde +%Y      => Jahr (vierstellig) 
-%M      => Minute +%H      => Stunde 
-%S      => Sekunde +%M      => Minute 
-%0      => Variable 0 +%S      => Sekunde 
-%.<​n>:​0 => <n> Zeichen in Variable 0 +%0      => Variable 0 
-# %1      => Variable 1 +%.<​n>:​0 => <n> Zeichen in Variable 0 
-%.<​n>:​1 => <n> Zeichen in Variable 1 +%#0     => Nur Zahlen (Float) nach Variable 0 
-... +%1      => Variable 1 
-%9      => Variable 9 +%.<​n>:​1 => <n> Zeichen in Variable 1 
-%.<​n>:​9 => <n> Zeichen in Variable 9 +... 
-%i<[schqW0-9]> => dieses Feld wird geparst, aber bei der Deduplizierung ignoriert +%9      => Variable 9 
-# +%.<​n>:​9 => <n> Zeichen in Variable 9 
-Leerzeichen zwischen den Codes ersetzen soviele white-spaces +%i<[hqVW0-9]> => dieses Feld wird geparst, aber bei der Deduplizierung ignoriert. %s und %c werden bei der Deduplizierung immer ignoriert. 
-wie moeglich. + 
-#+Leerzeichen zwischen den Codes ersetzen soviele white-spaces wie moeglich. 
 # Die meisten Codes stehen in den ?action und ?write fuer eine Ausgabe zur Verfuegung, # Die meisten Codes stehen in den ?action und ?write fuer eine Ausgabe zur Verfuegung,
 # siehe ACTION FORMAT. # siehe ACTION FORMAT.
Line 457: Line 423:
 # alle Codes des Inputfomates ohne %t, %s, %s* und %c # alle Codes des Inputfomates ohne %t, %s, %s* und %c
 # #
-%y => Jahr im Format YY + 
-%Y => Jahr im Format YYYY +%y => Jahr im Format YY 
-%b => Monatsname (erste drei Zeichen) +%Y => Jahr im Format YYYY 
-%d => Tag (01..31) +%b => Monatsname (erste drei Zeichen) 
-%m => Monat (01..12) +%d => Tag (01..31) 
-%N => Anzahl gleicher Zeilen bie (hist_secs > 0) oder Anzahl bei sum_hist +%m => Monat (01..12) 
-%F => Datum im Format: YYYY-MM-DD +%N => Anzahl gleicher Zeilen bie (hist_secs > 0) oder Anzahl bei sum_hist 
-%z => die ganze Zeile +%F => Datum im Format: YYYY-MM-DD 
-%l => Gesamtzahl bisher gelesener Zeilen +%z => die ganze Zeile 
-%L => gelesene Zeilen seit letzter Ausgabe mit %L +%l => Gesamtzahl bisher gelesener Zeilen 
-%C => Änderungsdatum der Datei im Format YYYY-MM-DD hh:mm:ss +%L => gelesene Zeilen seit letzter Ausgabe mit %L 
-%B => Größe der Datei in Bytes (wenn von CMD oder Stdin gelesen wird, dann 0) +%C => Änderungsdatum der Datei im Format YYYY-MM-DD hh:mm:ss 
-%p => Dateiname der überwachten Datei - Kann bei consolidate nicht genutzt werden +%B => Größe der Datei in Bytes (wenn von CMD oder Stdin gelesen wird, dann 0) 
-%{p,<​c>,<​start>​[,​[<​end>​][,<​str>​[,<​lstr>​]]]} => Dateiname nach Zeichen <c> trennen und Teil des Dateinamens +%p => Dateiname der überwachten Datei - Kann bei consolidate nicht genutzt werden 
-#                                            ​von <​start>​ bis <end> und ggf. <c> durch <str> ersetzen. +%{p,<​c>,<​start>​[,​[<​end>​][,<​str>​]]} => Dateiname nach Zeichen <c> trennen und Teil des Dateinamens 
-#                                            ​Ist nur <​start>​ angegeben, nur dieses Element des Dateinamens. +                                      von <​start>​ bis <end> und ggf. <c> durch <str> ersetzen. 
-#                                            ​0 als <end> ist bis zum Ende. +                                      Ist nur <​start>​ angegeben, nur dieses Element des Dateinamens. 
-#                                            ​-1 als <end> ist bis zum vorletzten +                                      0 als <end> ist bis zum Ende. 
-#                                            ist <​lstr>​ angegeben, wird das letzte <c> durch <​lstr>​ ersetzt. +                                      -1 als <end> ist bis zum vorletzten 
-#                                            (keine Funktion bei -1 als <​end>​) +                                      Kann bei consolidate nicht genutzt werden 
-#                                            ​Kann bei consolidate nicht genutzt werden +%P => kompletter Pfad der überwachten Datei - Kann bei consolidate nicht genutzt werden 
-%P => kompletter Pfad der überwachten Datei - Kann bei consolidate nicht genutzt werden +%{P,<​start>​[,​[<​end>​][,<​str>​]]} => Teil des Pfades von <​start>​ bis <end> und ggf. '/'​ durch <str> ersetzen. 
-%{P,<​start>​[,​[<​end>​][,<​str>​[,<​lstr>​]]]} => Teil des Pfades von <​start>​ bis <end> und ggf. '/'​ durch <str> ersetzen. +                                  Ist nur <​start>​ angegeben, nur dieses Element des Pfades. 
-#                                            ​Ist nur <​start>​ angegeben, nur dieses Element des Pfades. +                                  0 als <end> ist bis zum Ende. 
-#                                            ​0 als <end> ist bis zum Ende. +                                  -1 als <end> ist bis zum vorletzten 
-#                                            ​-1 als <end> ist bis zum vorletzten +                                  Kann bei consolidate nicht genutzt weden 
-#                                            0 als <​start>​ auch am Anfang des Pfades '/'​ bzw. <str> ausgeben +%O => kompletter Pfad der Ausgabedatei,​ wenn gesetzt 
-#                                            ist <​lstr>​ angegeben, wird der letzte '/'​ durch <​lstr>​ ersetzt. +%0 … %9 => Variablen 0-9 
-#                                            (keine Funktion bei -1 als <​end>​) +%{<​n>,​HASH[,<​len>​]} ​    ​=> gehaschte Variable 0-9 mit Länge <len> bzw. 8 wenn <len> nicht angegeben 
-#                                            ​Kann bei consolidate nicht genutzt weden +%{<​n>,​LOW[ER]} ​         => Variable 0-9 nach lowercase wandeln 
-%O => kompletter Pfad der Ausgabedatei,​ wenn gesetzt +%{<​n>,​UPP[ER]} ​         => Variable 0-9 nach uppercase wandeln 
-%0 … %9 => Variablen 0-9 + 
-%{<​n>,​HASH[,<​len>​]} ​      ​=> gehaschte Variable 0-9 mit Länge <len> bzw. 8 wenn <len> nicht angegeben +
-#+
 # ----- Wenn „consolidate“ gesetzt, dann ist ----- # ----- Wenn „consolidate“ gesetzt, dann ist -----
-# + 
-%N                     => Anzahl der Zeilen +%N                     => Anzahl der Zeilen 
-%{<​n>,​SUM[,<​fmt>​]} ​    => Summe über Variable <n> +%{<​n>,​SUM[,<​fmt>​]} ​    => Summe über Variable <n> 
-%{<​n>,​AVG[,<​fmt>​]} ​    => Mittelwert der Variable <n> +%{<​n>,​AVG[,<​fmt>​]} ​    => Mittelwert der Variable <n> 
-%{<​n>,​MIN[,<​fmt>​]} ​    => Minimum der Variable <n> +%{<​n>,​MIN[,<​fmt>​]} ​    => Minimum der Variable <n> 
-%{<​n>,​MAX[,<​fmt>​]} ​    => Maximum der Variable <n> +%{<​n>,​MAX[,<​fmt>​]} ​    => Maximum der Variable <n> 
-%{<​n>,​FIR[ST][,<​fmt>​]} => erster Wert der Variablen <n> +%{<​n>,​FIR[ST][,<​fmt>​]} => erster Wert der Variablen <n> 
-%{<​n>,​LAS[T][,<​fmt>​]} ​ => letzter Wert der Variablen <n> +%{<​n>,​LAS[T][,<​fmt>​]} ​ => letzter Wert der Variablen <n> 
-%{FIRSTDATE,<​datfmt>​} ​ => Datum der zuerst gelesenen Zeile +%{FIRSTDATE,<​datfmt>​} ​ => Datum der zuerst gelesenen Zeile 
-%{LASTDATE,<​datfmt>​} ​  => Datum der zuletzt gelesenen Zeile +%{LASTDATE,<​datfmt>​} ​  => Datum der zuletzt gelesenen Zeile 
-%{TIMERANGE} ​          => Sekunden von erster bis letzter Zeile +%{TIMERANGE} ​          => Sekunden von erster bis letzter Zeile 
-%{TIMEDIFF} ​           => Zeitdifferenz zur letzten Meldung in Sekunden +%{TIMEDIFF} ​           => Zeitdifferenz zur letzten Meldung in Sekunden 
-#                       <fmt> ist optionales Ausgabeformat im Format [<​a>​][.<​b>​]:​ Mindestbreite <a> und <b> Nachkommastellen +                      <fmt> ist optionales Ausgabeformat im Format [<​a>​][.<​b>​]:​ Mindestbreite <a> und <b> Nachkommastellen 
-#                       <​datfmt>​ Datumsformat wie bei Ausgabe mit %[abdDFHmMsSTwyY] z. B.: "​%Y-%m-%d %H:​%M:​%S"​+                      <​datfmt>​ Datumsformat wie bei Ausgabe mit %[abdDFHmMsSTwyY] z. B.: "​%Y-%m-%d %H:​%M:​%S"​
  
 # ----- IGNORE ----- # ----- IGNORE -----
Line 537: Line 502:
  
 # Jeder Block muss mit einem der folgenden Schlüsselwörter beginnen # Jeder Block muss mit einem der folgenden Schlüsselwörter beginnen
-reg        = zu suchende Reg-EXP + 
-reg+       = zu suchende Reg-EXP und weiter mit nächstem Block +reg        = zu suchende Reg-EXP 
-!reg       = nicht zu suchende Reg-EXP +reg+       = zu suchende Reg-EXP und weiter mit nächstem Block 
-!reg+      = nicht zu suchende Reg-EXP und weiter mit nächstem Block +!reg       = nicht zu suchende Reg-EXP 
-regsplit ​  = zu suchende Reg-EXP, mit Blöcken, nach denen getrennt wird +!reg+      = nicht zu suchende Reg-EXP und weiter mit nächstem Block 
-regsplit+ ​ = wie regsplit und weiter mit nächsten Block +regsplit ​  = zu suchende Reg-EXP, mit Blöcken, nach denen getrennt wird 
-reg_file ​  = zu suchende Reg-EXPs werden aus Datei gelesen +regsplit+ ​ = wie regsplit und weiter mit nächsten Block 
-reg_file+ ​ = ... und weiter mit nächstem Block +reg_file ​  = zu suchende Reg-EXPs werden aus Datei gelesen 
-!reg_file ​ = nicht zu suchende Reg-EXPs werden aus Datei gelesen +reg_file+ ​ = ... und weiter mit nächstem Block 
-!reg_file+ = ... und weiter mit nächstem Block+!reg_file ​ = nicht zu suchende Reg-EXPs werden aus Datei gelesen 
 +!reg_file+ = ... und weiter mit nächstem Block 
 +regall ​      es passt alles - folgende Inputformate oder Aktionen werden ignoriert. 
 +regignore ​ = zu suchende Reg-EXP, die ab hier ignoriert werden. Bei vreg wird die Zeile komplett ignoriert. 
 +!regignore = Reg-EXP, die nicht passen werden ab hier ignoriert. 
 +regignore_file ​ = wie regignore, nur die Reg-EXP werde aus Datei gelesen  
 +!regignore_file = wie !regignore, nur die Reg-EXP werden aus Datei gelesen
  
  
 # die folgenden Definitionen beziehen sich auf das Schlüsselwort am Beginn des Blockes # die folgenden Definitionen beziehen sich auf das Schlüsselwort am Beginn des Blockes
  
-iformat ​   = Inputformat wenn angegeben, sonst gilt globales inputformat (nicht bei regsplit) +iformat ​   = Inputformat wenn angegeben, sonst gilt globales inputformat (nicht bei regsplit) 
-splitvars ​ = Zuordnung der Variablen zum regsplit+splitvars ​ = Zuordnung der Variablen zum regsplit
  
 # hist_secs = <s> individuelle Einstellung für diesen Block # hist_secs = <s> individuelle Einstellung für diesen Block
 #                 ​gleiche Zeilen werden für <s> Sekunden unterdrückt. Die erste passende Zeile wird ausgegeben. #                 ​gleiche Zeilen werden für <s> Sekunden unterdrückt. Die erste passende Zeile wird ausgegeben.
-#                 Bei der Prüfung auf gleiche Zeilen werden alle Felder mit Ausnahme der Zeitstempelfelder herangezogen. +#                 Bei der Prüfung auf gleiche Zeilen werden alle Felder mit Ausnahme der Zeitstempelfelder herangezogen
-#                 Wenn ein Feld nicht beachtet werden soll, dann muss das Feld um ein '​i'​ erweitert werden: %-> %is, %1 -> %i1, ...+#                 die als Ausgabe genutzt werden können. Also nicht %s, %c (ab Version 5.5)
 +#                 Wenn ein Feld nicht beachtet werden soll, dann muss das Feld um ein '​i'​ erweitert werden: %-> %iq, %1 -> %i1, ...
 #                 ​Beispiel:​ #                 ​Beispiel:​
 +
 reg = \[ERROR\] reg = \[ERROR\]
 hist_secs = 300 hist_secs = 300
-iformat ​  = %F %T%is %q: %V+iformat ​  = %F %T%%iq: %V
 write     = V;%F %T;​%h;​Section;​Teststep;​%p;​%q - %V;_ write     = V;%F %T;​%h;​Section;​Teststep;​%p;​%q - %V;_
 # hinter der Uhrzeit stehen noch Millisekunden,​ die bei der Deduplizierung ignoriert werden sollen. # hinter der Uhrzeit stehen noch Millisekunden,​ die bei der Deduplizierung ignoriert werden sollen.
Line 572: Line 545:
 # Average über die Variablen ausgegeben werden kann. # Average über die Variablen ausgegeben werden kann.
 # <​CONSFMT>:​ # <​CONSFMT>:​
-#            <​n>/<​m>​[s|m|h]<​SFLE>: <n> 0-59+#            <​n>/<​m>​[s|m|h]<​SFLEN>: <n> 0-59
 #              <m> Anzahl s|m|h #              <m> Anzahl s|m|h
 #              s|m|h Sekunden, Minuten, Stunden, def. ist m #              s|m|h Sekunden, Minuten, Stunden, def. ist m
-#              <SFLE> Zeitstempelflag:​ S: Start, F: First, L: Last, E: End, def. ist E+#              <SFLEN> Zeitstempelflag:​ S: Start, F: First, L: Last, E: End, N: Now, def. ist E
 # Bedeutung: Beginnend mit <n> wird alle <m> s|m|h eine Zeile ausgegeben. # Bedeutung: Beginnend mit <n> wird alle <m> s|m|h eine Zeile ausgegeben.
 # Beispiele: # Beispiele:
-0/5m -> alle 5 Minuten eine Zeile + 
-3/10s -> alle 10 Sekunden (3, 13, 23, 33, 43, 53) eine Zeile+consoliate = 0/5m         ​-> alle 5 Minuten eine Zeile 
 +consolidate = 3/10s       ​-> alle 10 Sekunden (3, 13, 23, 33, 43, 53) eine Zeile
 # #
 # <​CONSFMT2>:​ # <​CONSFMT2>:​
-# <​m><​smh><​FL>: <smh> für Sekunden, Minute, Stunden, <m> Anzahl +# <​m><​smh><​FLN>: <smh> für Sekunden, Minute, Stunden, <m> Anzahl 
-              ​F|L first/last+               F|L|N first/last/now
 # Bedeutung: Es wird auf pasende Zeilen gewartet, dann wird alle # Bedeutung: Es wird auf pasende Zeilen gewartet, dann wird alle
 # <m> Sekunden/​Minuten/​Stunden ein konsolidierter Wert          # <m> Sekunden/​Minuten/​Stunden ein konsolidierter Wert         
Line 589: Line 563:
 # Zeile bei <FL> = F und der der letzten Zeile bei <FL> = L    ​ # Zeile bei <FL> = F und der der letzten Zeile bei <FL> = L    ​
 #   wenn consolidate gesetzt, dann wird Zeile erst nach Ablauf der Sekunden #   wenn consolidate gesetzt, dann wird Zeile erst nach Ablauf der Sekunden
-#   ​ausgegeben oder bei SIGHUP|SIGUSR1 ​   +#   ​ausgegeben oder bei SIGHUP|SIGUSR1 
 +
 +consolidatenull = 1      # Zeile auch ausgeben, wenn keine Zeilen konsolidiert wurden. 
 +consolidatedistinct = 1  # Es werden nur unterschiedliche Zeilen betrachtet. Z. B. unterschiedliche User zählen. 
 +consolidatedistinctinit = 100000 ​ # distinct lines Vorbelegung,​ wenn größer als 10000.
  
-# nread       = n Folgezeilen zusätzlich lesen 
-# nreadreg ​   = Folgezeilen,​ die Reg-EXP entsprechen lesen 
-# nread!reg ​  = Folgezeilen,​ die Reg-EXP nicht entsprechen lesen 
-# nreadtoreg ​ = Folgezeilen lesen, bis Reg-EXP gefunden 
-#               ​nreadtoreg liest die gefundene Zeile ein, nread!reg nicht 
-# nreadformat = Inputformat der Folgezeilen 
-# nreadaction = Auszuführende Aktion der Folgenzeilen 
-# nreadwrite ​ = Ausgabemuster der Folgezeilen für Ausgabedatei 
  
-# action ​     ​auszuführende Aktion +nread       n Folgezeilen zusätzlich lesen 
-# write       Ausgabemuster für Ausgabedatei. Wenn mehrere Zeilen geschrieben werden sollenist '​\n'​ der Zeilentrenner. +nreadreg ​   ​Folgezeilendie Reg-EXP entsprechen lesen 
-# syslog ​     ​an Syslog sendenFormat: <​priority>​<​Ausgabe>​ +nread!reg ​  Folgezeilendie Reg-EXP nicht entsprechen lesen 
-#                 <​priority>:​ LOG_DEBUG|LOG_INFO|LOG_NOTICE|LOG_WARNING|LOG_ERR|LOG_CRIT|LOG_ALERT|LOG_EMERG +nreadtoreg ​ = Folgezeilen lesenbis Reg-EXP gefunden 
-# store       Ausgabeformat beim Schreiben in Temp-Datei (unter storepath)+              ​nreadtoreg liest die gefundene Zeile ein, nread!reg nicht 
 +nreadformat ​Inputformat der Folgezeilen 
 +nreadaction = Auszuführende Aktion der Folgenzeilen 
 +nreadwrite ​ = Ausgabemuster der Folgezeilen für Ausgabedatei
  
-# storesecs ​   ​= <seconds- Sekundennach denen zwischengespeicherte Zeilen ​(storegesendet werden +test        ​= <Bedingung   # Die Ausgabeaktion wird nur ausgeführtwenn die <​Bedingung>​ wahr ist (!= 0
-storesendreg = <regexp - oder Regular-Expressionbei der die zwischengespeicherten Zeilen gesendet werden+                             ​Die Bedingung kann sich auch auf konsolidierte Variablen beziehen. 
 +                             # Ops: + - * / ~ % < > <= >= = != 
 +                             # genutzt werden kann %0-%9%N, 
 +                             # %{<​n>,​SUM},​ %{<​n>,​AVG},​ %{<​n>,​MIN},​ %{<​n>,​MAX},​ %{<​n>,​FIRST},​ %{<​n>,​LAST},​ %{<​n>,​DIST} 
 +                             # %{TIMERANGE},​ %{TIMEDIFF}
  
-# cancelreg ​   ​<​regexp> ​ - Regular-Expressionbei der zwischengespeicherte ​Zeilen ​gelöscht ​werden ​und +action ​     ​auszuführende Aktion 
-                           ​konsolidierte Zeilen zurückgesetzt werden+write       = Ausgabemuster für Ausgabedatei. Wenn mehrere Zeilen geschrieben werden sollenist '​\n' ​der Zeilentrenner. 
 +              Oder durch einschließen der write Zeile in '​...'​ können auch mehrere ​Zeilen ​ausgegeben ​werden: 
 +write  = 'V;%F %T;​%h;​Section;​Teststep;​%p;​%q - %1;_ 
 +V;%F %T;​%h;​Section;​Teststep;​%p-Anzahl;​%N;​# 
 +V;%F %T;​%h;​Section;​Teststep;​%p-Kennung;"​%1";​_'​
  
-# ----- Einschränkung der reg<​n> ​für verschiedene Logdateien -----+syslog ​     = an Syslog senden, Format: <​priority>,​ <​Ausgabe>​ 
 +                <​priority>:​ LOG_DEBUG|LOG_INFO|LOG_NOTICE|LOG_WARNING|LOG_ERR|LOG_CRIT|LOG_ALERT|LOG_EMERG 
 +store       = Ausgabeformat beim Schreiben in Temp-Datei (unter storepath) 
 +writetopath = Pfad festlegen für "​writeto"​ 
 +writeto ​    = Ausgabemuster für Datei, die mit writetopath festgelegt wird. 
 +exit        = <​exitcode> ​          # lfa4uls beenden mit Exitcode <​exitcode>​ (Der <​exitcode>​ kann auch eine Variable z. B. %3 sein) 
 + 
 + 
 +storesecs ​   = <​seconds>​ - Sekunden, nach denen zwischengespeicherte Zeilen (store) gesendet werden 
 +storesendreg = <​regexp> ​ - oder Regular-Expression,​ bei der die zwischengespeicherten Zeilen gesendet werden 
 +storesendaction = <​cmd> ​ - Befehl zum Senden der gespeicherten Daten 
 + 
 +cancelreg ​   = <​regexp> ​ - Regular-Expression,​ bei der zwischengespeicherte Zeilen gelöscht werden und 
 +                           ​konsolidierte Zeilen zurückgesetzt werden 
 + 
 +# ----- Einschränkung der reg für verschiedene Logdateien -----
 # #
-# Die anzuwendenden reg<​n> ​können pro "​inputfile"​ bzw. "​inputfilepattern"​ eingeschränkt werden.+# Die anzuwendenden reg können pro "​inputfile"​ bzw. "​inputfilepattern"​ eingeschränkt werden.
 # Dazu wird vor den entsprechenden "​inputfile"​ und "​inputfilepattern"​ Zeilen der Gültigkeitsbereich definiert: # Dazu wird vor den entsprechenden "​inputfile"​ und "​inputfilepattern"​ Zeilen der Gültigkeitsbereich definiert:
 # #
-# setregrange = <​start>​ - <end>+# setregrange = <​start>​ - <​end> ​   # Geht übersichtlicher durch die Bildung von Blöcken.
 # #
 # für die nun folgenden "​input*"​ Zeilen gelten nur die reg<​start>​ - reg<​end>​ # für die nun folgenden "​input*"​ Zeilen gelten nur die reg<​start>​ - reg<​end>​
 +#
 +# Sollte nicht mehr verwendet werden, denn das kann durch entsprechende Blöcke übersichtlicher abgebildet werden:
 +
 +inputfile = file1
 +reg =
 +write =
 +
 +reg = 
 +write = 
 +
 +# durch Angabe eines neuen "​inputfile*"​ wird ein neuer Block begonnen. Die vorherigen reg gelten nur für file1 und die folgenden nur für file2.
 +inputfile = file2
 +reg =
 +write =
 +
 +reg = 
 +write =
 +
 +
 +# ----- SYSLOG -----
 +# festlegen der Syslog Parameter
 +syslogpars = <​syslog-ident>,​ <​syslog-facility> ​          # Siehe "man openlog"​
  
  
 # ----- LOG ----- # ----- LOG -----
 # #
-Regulaeren ​Ausdruck und Aktion ​fuer "​Logging" ​(Info)+Regulären ​Ausdruck und Aktion ​für "​Logging"​ 
 +# ACHTUNG: lreg_all, lreg, laction und lwrite werden in einer der nächsten Versionen nicht mehr zur Verfügung stehen. 
 +# Die Kombination aus lreg_all = 1 und lwrite kann durch regall und write abgelöst werden.
  
 lreg_all ​   = 1 lreg_all ​   = 1
Line 650: Line 670:
 #            so dass zur Unterscheidung %p oder %P im Text enthalten sein sollte. #            so dass zur Unterscheidung %p oder %P im Text enthalten sein sollte.
  
 +
 +# ----- SET -----
 +set <var> = <​value> ​ # Die Variablen %0-%9, %h, %q mit Defaultwert vorbelegen
 +
 +
 +# ----- DIRECTORY -----
 +# Für die Directory-Funktionen wird I-Notify verwendet, das unter Windows nicht zur Verfügung steht.
 +# Da der Nutzen der Directory-Funktionen sehr beschränkt ist, kann es sein, dass die Funktionen in Zukunft entfallen.
 +#
 +# Zu überwachendes Verzeichnis (nicht zusammen mit inputfile oder inputfilepattern)
 +inputdir = /var/log
 +
 +# inputdir_num_subdirs wenn auf größer 1 gesetzt, dann werden bis zu inputdir_num_subdirs Unterverzeichniss mit überwacht
 +inputdir_num_subdirs = 50
 +
 +# inputdir_num_files:​ Anzahl gleichzeitig offener Dateien, die überwacht werden.
 +# std ist 300
 +inputdir_num_files = 100
 +
 +# dirfilepattern legt die Dateien fest, die Zeilenweise ausgewertet werden. Hist und consolidate ist noch nicht möglich.
 +dirfilepattern = *.log
 +
 +# dirfilepipepattern:​ Dateien, die nach dem schließen an Kommando gesendet werden
 +# dirfilepipecmd:​ Dateien werden an STDIN des CMDs gesendet.
 +#                 Es können Parameter mit Codes verwendet werden. Die Codes %p, %P und Datumswerte sind gesezt,
 +#                 die anderen Codes sind nur gesetzt, wenn die Datei auch bei dirfilepattern ausgewählt ist.
 +dirfilepipepattern = *.dat
 +dirfilepipecmd = send_compressed_file %p %P
 +
 +# dirfileclosepattern ​ Das Schließen von Dateien überwachen
 +# dirfileclosecmd ​     CMD ausführen, Parameter siehe dirfilepipecmd
 +# dirfileclosewrite ​   angegebenen Text in Ausgabedatei schreiben, Codes wie bei dirfilepipecmd
 +dirfileclosepattern = *.info
 +dirfileclosecmd = echo "Datei %P wurde geschlossen"​
 +dirfileclosewrite = V;%F %T;​%h;​LFA;​Dirmon;​Close;​%P;​_
 +
 +# dirfilecreatepattern ​ Anlegen von Dateien monitoren
 +# dirfilecreatecmd
 +# dirfilecreatewrite
 +
 +# dirfiledeletepattern ​ Löschen von Dateien monitoren
 +# dirfiledeletecmd
 +# dirfiledeletewrite
 +
 +# dirfilemodifypattern ​ Ändern von Dateien monitoren
 +# dirfilemodifycmd
 +# dirfilemodifywrite
 +
 +# dirfilemovedfrompattern ​ Wegmoven von Dateien monitoren
 +# dirfilemovedfromcmd
 +# dirfilemovedfromwrite
 +
 +# dirfilemovedtopattern ​ Hinmoven von Dateien monitoren
 +#                       (Wird eine Datei umbenannt, gibt es ein movedfrom und ein movedto)
 +#                       (Wird eine Datei von einem Verzeichnis in ein anderes gemoved, dann
 +#                        werden movedfrom und movedto nur für überwachte Verzeichnisse generiert)
 +# dirfilemovedtocmd
 +# dirfilemovedtowrite
 +
 +# dirfileopenpattern ​ Öffnen von Dateien monitoren
 +# dirfileopencmd
 +# dirfileopenwrite
 </​file>​ </​file>​
  
Line 663: Line 745:
 <​file>​ <​file>​
  
-# ----- FILE -----+# ----- logfile ​-----
 # #
 # file to search # file to search
-inputfile = /var/log/messages+inputfile = /var/log/sample.log
  
-# ----- LINE FORMAT ​-----+# ----- write quoting ​-----
 # #
-inputformat ​%t %h %q: %W+writequoting ​\"
  
-<​inputformat>​ defines the parsing rule for each line of the <​inputfile>​. +# ----- line format -----
-# Each line is eaten character by character and you cannot use regular  +
-# expressions,​ see '​reg'​ in the `Advanced Usage 1`_ below. +
- +
-# You may use the following special directives:​ +
-# %%      => % +
-# %s      => discard an expression up to the next white space +
-# %.<​n>​s ​ => discard <n> non white space characters +
-# %t      => Date in the format: MMM DD hh:mm:ss +
-#              or in the format: YYYY-MM-DD[T ]hh:​mm:​ss[.ssssss][+-hh:mm] +
-# %c      => discard one character +
-# %.<​n>​c ​ => discard <n> characters +
-# %h      => set %h to the expression from current position to last non white space character +
-# %q      => set %q to the expression from current position to last non white space character +
-# %W      => set %h to the expression from current position to end of line +
-# %D      => set %D to the date in the format: DD.MM.YY or DD.MM.YYYY +
-# %F      => set %F to the date in the format: YYYY-MM-DD +
-# %T      => set %T to the time in the format: hh:mm:ss +
-# %d      => set %d to the day +
-# %m      => set %m to the month +
-# %b      => set %b to the three character month name +
-# %y      => set %y to the year, two digits +
-# %Y      => set %Y to the year, four digits +
-# %H      => set %H to the hour +
-# %M      => set %M to the minute +
-# %S      => set %S to the seconds +
-# %0      => set %0 to the expression up to last non white space character +
-# %.<​n>:​0 => set %0 to the next <n> characters +
-# %1      => set %1 to the expression up to last non white space character +
-# %.<​n>:​1 => set %1 to the next <n> characters +
-# ... +
-# %9      => set %9 to the expression up to last non white space character +
-# %.<​n>:​9 => set %9 to the next <n> characters+
 # #
-# One white space in the <inputformat> will eat as many white spaces as possible.+inputformat ​= %F %T.%s %V
  
-FIXME +# ----- filter ​-----
- +
-# Die meisten Codes stehen in den ?action und ?write fuer eine Ausgabe zur Verfuegung,​ +
-# siehe ACTION FORMAT. +
- +
-# ----- ACTION und WRITE FORMAT ​----- +
-# In <?​action>,​ <​action?>,​ <?​write>​ und <​write?>​ koennen Ergebnisse des Parsens der +
-# Zeilen verwendet werden. Folgende Codes können dafuer verwendet werden: +
-# alle Codes des Inputfomates ohne %t, %s, %s* und %c+
 # #
-# %y => Jahr im Format JJ +reg     =| error|warning
-# %Y => Jahr im Format JJJJ +
-# %b => Monatsname (erste drei Zeichen) +
-# %d => Tag (01..31) +
-# %m => Monat (01..12) +
-# %n => Anzahl gleicher Zeilen, die nicht ausgegeben wurden (sum_hist_secs > 0) +
-# %N => wie %n, aber nur, wenn > 0 +
-# %F => Datum im Format: YYYY-MM-DD +
-# %z => die ganze Zeile +
-# %p => Dateiname der überwachten Datei +
-# %P => kompletter Pfad der überwachten Datei +
-# %0 … %9 => Variablen 0-9+
  
-# ----- IGNORE ​----- +# ----- output ​----- 
-# +write ULS file-format 
-# Regulaeren Ausdruck fuer Zeilen definieren, die verworfen werden. +write   = V;%F %T;​%h;​Sample;​Logfileadapter;​Log;​"%V";_
-+
-# vreg = INFO|MARK +
-+
-# Oder Datei mit regulaeren Ausdruecken angeben +
-+
-# vreg_file = ignore_regexps_list.txt +
- +
-# ----- ERROR ----+
-+
-# Regulaeren Ausdruck und Aktion fuer "​Fehler"​ +
- +
-# ereg_all ​   = 1 +
-# ereg        = error +
-# ereg_file ​  = +
-# eaction ​    = echo '​Error: ​%z' +
-# ewrite ​     = +
- +
-# ----- WARN ----- +
-+
-# Regulaeren Ausdruck und Aktion fuer "Warnung"​ +
- +
-# wreg_all ​   = 1 +
-# wreg        = warn +
-# wreg_file ​  = +
-# waction ​    = echo '​Warnung: ​%z' +
-# wwrite ​     = +
- +
-# ----- LOG ----- +
-+
-# Regulaeren Ausdruck und Aktion fuer "Logging"​ (Info) +
- +
-lreg_all ​   = 1 +
-# lreg        = log +
-# lreg_file ​  = +
-laction ​    = echo 'Info: %z' +
-# lwrite ​   =+
  
 </​file>​ </​file>​
Line 777: Line 772:
  
   - passt die Zeile zum regulären Ausdruck von vreg, dann diese Zeile ignorieren => auf nächste Zeile warten   - passt die Zeile zum regulären Ausdruck von vreg, dann diese Zeile ignorieren => auf nächste Zeile warten
-  - passt die Zeile zu einem regulären Ausdruck von reg0..reg99 oder reg0+..reg99+, dann die Zeile parsen mit iformat0..99 und entsprechende ​action0..action99 ​ausführen => wenn reg0+..reg99+, dann weiter vergleichen,​ sonst auf nächste Zeile warten +  - passt die Zeile zu einem regulären Ausdruck von reg[0]..reg[99] ​oder reg[0]+..reg[99]+, dann die Zeile parsen mit iformat[0..99und entsprechende ​action, write oder sylog ausführen => wenn reg+, dann weiter vergleichen,​ sonst auf nächste Zeile warten
-  - ist ereg_all = 1, dann eaction ausführen => auf nächste Zeile warten +
-  - passt die Zeile zum regulären Ausdruck von ereg, dann die Zeile parsen mit inputformat und eaction ausführen => auf nächste Zeile warten +
-  - ist wreg_all = 1, dann waction ausführen => auf nächste Zeile warten +
-  - passt die Zeile zum regulären Ausdruck von wreg, dann die Zeile parsen mit inputformat und waction ausführen => auf nächste Zeile warten+
   - ist lreg_all = 1, dann laction ausführen => auf nächste Zeile warten   - ist lreg_all = 1, dann laction ausführen => auf nächste Zeile warten
   - passt die Zeile zum regulären Ausdruck von lreg, dann die Zeile parsen mit inputformat und laction ausführen => auf nächste Zeile warten   - passt die Zeile zum regulären Ausdruck von lreg, dann die Zeile parsen mit inputformat und laction ausführen => auf nächste Zeile warten
   - wenn keine der obigen Bedingungen erfüllt sind, dann wird die Zeile ignoriert => auf nächste Zeile warten   - wenn keine der obigen Bedingungen erfüllt sind, dann wird die Zeile ignoriert => auf nächste Zeile warten
  
-Zu allen direkt eingetragenen regulären Ausdrücken reg?[+] kann auch eine Datei reg_file?[+] angegeben werden, ​+Zu allen direkt eingetragenen regulären Ausdrücken reg[+] kann auch eine Datei reg_file[+] angegeben werden, ​
 die mehrere Zeilen mit jeweils einem regulären Ausdruck enthalten können. die mehrere Zeilen mit jeweils einem regulären Ausdruck enthalten können.
-Die regulären Ausdrücke werden bei der Anwendung von reg_filelogisch ODER verknüpft.  +Die regulären Ausdrücke werden bei der Anwendung von reg_file logisch ODER verknüpft.  
-Es wird entweder regoder reg_fileverwendet, der letzte Eintrag in der Konfigurationsdatei entscheidet.+Es wird entweder reg oder reg_file verwendet, der letzte Eintrag in der Konfigurationsdatei entscheidet.
  
-Erklärung ​für Buchstaben, die verschiedenen Parametern voranstehen:​+Mit dieser (logischen) Unterscheidung können verschiedene Aktionen ​für verschiedene reguläre Ausdrücke ausgeführt werden.
  
-  * v = herausfiltern (wie egrep -v) und verwerfen 
-  * e = error 
-  * w = warning 
-  * l = logging 
  
-Mit dieser (logischen) Unterscheidung können verschiedene Aktionen ​für verschiedene reguläre Ausdrücke ausgeführt ​werden.+Über Signale kann das Verhalten eines laufenden lfa4uls beeinflusst werden: 
 +  - SIGTERM - Alle bis jetzt consolidierten oder historifizierten Zeilen ausgeben und lfa4uls beenden. 
 +  - SIGUSR1 - Alle bis jetzt consolidierten oder historifizierten Zeilen ausgeben. 
 +  - SIGHUP ​ - Alle bis jetzt consolidierten oder historifizierten Zeilen ausgeben und Konfiguration neu einlesen. 
 +  - SIGUSR2 - Alle offenen Dateien ​für 60 Sekunden schließen, damit z. B. das Dateisystem dismounted ​werden ​kann.
  
  
Line 839: Line 830:
  
 # Alle Zeilen, die ERR enthalten # Alle Zeilen, die ERR enthalten
-ereg = ERR+reg = ERR
  
 # Gebe die ganze Zeile auf stdout aus # Gebe die ganze Zeile auf stdout aus
-eaction ​= echo %z+action ​= echo %z
  
 </​file>​ </​file>​
Line 853: Line 844:
 <code bash> <code bash>
  
-lfa4uls ---c /​tmp/​lfa4uls_my.conf+lfa4uls ---c /​tmp/​lfa4uls_my.conf
  
 </​code>​ </​code>​
Line 884: Line 875:
 Es sind keine Leerzeichen in der Pfadangabe erlaubt! Es sind keine Leerzeichen in der Pfadangabe erlaubt!
  
-Und den lfa4uls ​neu starten::+Und den lfa4uls starten ​(Systeme mit systemd)::​ 
 + 
 +<code bash> 
 +systemctl enable lfa4uls@[my] 
 +systemctl start lfa4uls@[my] 
 +</​code>​ 
 + 
 +Bei Systemen ohne systemd::
  
 <code bash> <code bash>
uls/agents/log_file_adapter.1666432242.txt.gz · Last modified: 2022-10-22 11:50 by uls