Syslog ng Filter Konfiguration

Dieses Thema im Forum "Linux OS" wurde erstellt von Prefix, 17.06.2008.

  1. Prefix

    Prefix Grünschnabel

    Dabei seit:
    17.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    hallo zusammen,

    ich habe hier ein kleines Problem, denn ich soll eine vorhandene syslog.conf so anpassen, dass bestimmte Meldungen eines Proxies herausgefiltert und verworfen werden.
    Hintergrund ist, dass die Nachrichten in eine Datenbank geschrieben werden und dieser Proxy ungefähr 200k Einträge am Tag mit Fehlermeldungen (die keine sind) vollbläst. Bevor jetzt jemand sagt, dass man sich damit an den Hersteller des Proxies wenden soll, der kennt den Support von Bluecoat nicht ;-)

    Momentan sieht das Ganze so aus:

    Code:
    Code:
    source s_sys { sun-streams ("/dev/log" door("/etc/.syslog_door")); internal(); };
    
    filter f_rasproxy1_deny { host("123.123.123.123") and match(".*290006.Assertion.failed.*");};
    
    log { source(s_sys); filter(f_rasproxy1_deny); flags(final); };
    
    Es ist keine Destination angegeben, weil laut Manual ein "flags(final)" das Ganze sowieso verwirft. Mal davon abgesehen hab ich´s auf die Art auch schonmal probiert:

    Code:
    Code:
    source s_sys { sun-streams ("/dev/log" door("/etc/.syslog_door")); internal(); };
    
    destination d_devnull {file("/dev/null"); }; 
    
    filter f_rasproxy1_deny { host("123.123.123.123") and match(".*290006.Assertion.failed.*");};
    
    log { source(s_sys); filter(f_rasproxy1_deny); destination(d_devnull); };
    
    
    Die Fehlermeldung die gefiltert werden soll lautet exakt:
    ProxySG: 290006 Assertion failed: "false" ""(2686982) SEVERE_ERROR ../TE_Transaction.cpp 808

    Kann mir jemand erklären, warum der Filter nicht zieht?

    Danke schonmal
    Grüße
    Roland
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    syslogd neu gestartet?
    Die regexpr mal abgewandelt?
    Funktioniert dein Ausdruck bei einem grep auf die /var/log/massages?
     
  4. #3 iced.empire, 17.06.2008
    Zuletzt bearbeitet: 17.06.2008
    iced.empire

    iced.empire !/bin/bash the world

    Dabei seit:
    17.02.2008
    Beiträge:
    34
    Zustimmungen:
    0
    Ort:
    Rösrath
    Eine Frage:

    Müßte nicht, wenn ich aus einem Netzwerk filtern will, dieses Netzwerk unter source stehen? Und nicht in den Filtern??

    Weil ich dachte immer das die Filter bei syslog-ng immer nach Faciltity oder Priotrity (level) arbeiten. Und ein host müsste man dort glaube ich selber definieren? Da nicht als Grundeinstellung mit dabei ist.

    Oder ist das nur bei SUSE so??
     
  5. Prefix

    Prefix Grünschnabel

    Dabei seit:
    17.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Hier mal das ganze File:

    Code:
    # syslog-ng configuration file.
    #
    # This should behave pretty much like the original syslog on SunOS. But
    # it could be configured a lot smarter.
    #
    # See syslog-ng(8) and syslog-ng.conf(5) for more information.
    #
    # 20000925 gb@sysfive.com
    
    options { sync (0);
              time_reopen (10);
              log_fifo_size (1000);
              long_hostnames (off);
              use_dns (no);
              use_fqdn (no);
              create_dirs (no);
              keep_hostname (yes);
              perm(0644);
            };
    
    ####################################
    source s_udp_514 { udp( ); };
    ####################################
    
    source s_sys { sun-streams ("/dev/log" door("/etc/.syslog_door")); internal(); };
    
    ### DARUM GEHTS ######################
    #destination d_devnull {file("/dev/null"); }; 
    ####################################
    
    destination d_cons { file("/dev/console"); };
    destination d_mesg { file("/var/adm/messages"); };
    destination d_mail { file("/var/log/syslog"); };
    destination d_s-msg1 { file("/vol1/syslog-files/messages.log" perm(0644) ); };
    destination d_auth { file("/var/log/authlog"); };
    
    ...
    
    destination d_mysql {
    pipe("/tmp/mysql.pipe"
    template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
    VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL','$TAG',
    '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes));
    };
    
    ### DARUM GEHTS ##########################
    filter f_rasproxy1_deny { match("ProxySG: 290006 Assertion failed:");};
    filter f_rasproxy2_deny { match(".*290006.Assertion.failed.*");};
    #######################################
    
    filter f_filter1   { level(err) or
    		     (level(notice) and facility (auth, kern)); };
    filter f_filter2   { level(err) or
                         (facility(kern) and level(notice)) or
                         (facility(daemon) and level(notice)) or
                         (facility(mail) and level(crit)); };
    filter f_filter3   { level(alert) or
                         (facility(kern) and level(err)) or
                         (facility(daemon) and level(err)); };
    filter f_filter4   { level(alert); };
    filter f_filter5   { level(emerg); };
    filter f_filter6   { facility(kern) and level(notice); };
    filter f_filter7   { facility(mail) and level(debug); };
    filter f_filter8   { facility(user) and level(err); };
    filter f_filter9   { facility(user) and level(alert); };
    
    #### DARUM GEHT GEHTS ####
    log { source(s_sys); filter(f_rasproxy1_deny); flags(final); };
    log { source(s_sys); filter(f_rasproxy2_deny); flags(final); };
    #######################
    
    log { source(s_sys); filter(f_filter1); destination(d_cons); };
    log { source(s_sys); filter(f_filter2); destination(d_s-msg1); };
    log { source(s_sys); filter(f_filter3); destination(d_mlop); };
    log { source(s_sys); filter(f_filter4); destination(d_mlrt); };
    log { source(s_sys); filter(f_filter5); destination(d_mlal); };
    log { source(s_sys); filter(f_filter6); destination(d_auth); };
    log { source(s_sys); filter(f_filter7); destination(d_mail); };
    log { source(s_sys); filter(f_filter8); destination(d_cons);
    	                                destination(d_s-msg1); };
    log { source(s_sys); filter(f_filter9); destination(d_mlop);
                                            destination(d_mlrt); };
    # (tb 071121) Eintrag in Datenbank:
    log { source(s_udp_514); destination(d_mysql); };
    #
    
    

    Quote NoXqs:
    syslogd neu gestartet?

    Das Problem ist, dass ich keinen direkten Zugriff auf den Server habe. Ich ändere nur die .conf ab und geb es dann dem Zuständigen. Allerdings geh ich davon aus, dass der syslog jedes mal neu startet, da er mir auch schon Fehler geschickt hat, falls die Regex fehlerhaft war.

    Die regexpr mal abgewandelt?

    Ich hab schon verschiedene Versionen probiert, unter anderem auch die Suche nach nur einem Begriff wie "Assertion".

    Funktioniert dein Ausdruck bei einem grep auf die /var/log/massages?
    Das kann ich nicht probieren, da ich ja wie oben erwähnt keinen Zugriff auf den Server habe.


    @iced.empire:
    Danke für den Hinweis, ich werde das mal nachlesen und probieren.
    Allerdings habe ich es auch schon ohne das Host-Feld probiert, wie man oben sieht :-/
     
  6. Prefix

    Prefix Grünschnabel

    Dabei seit:
    17.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Ich habe noch ein bisschen rumprobiert und stelle mir jetzt die Frage, wie Syslog eigentlich genau vorgeht.

    Sagt mir, wenn ich falsch liege:

    Alle Nachrichten des Netzwerks kommen über diese Quelle:
    source s_udp_514 { udp( ); };
    Also alles über Port 514...

    Als Zielobjekt wird das hier genommen:
    destination d_mysql {
    pipe("/tmp/mysql.pipe"
    template("INSERT INTO logs (host, facility, priority, level, tag, datetime, program, msg)
    VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL','$TAG',
    '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC', '$PROGRAM', '$MSG' );\n") template-escape(yes));
    };


    und der definierte Filter ist:
    filter f_rasproxy_deny {not match("ProxySG: 290006 Assertion failed:");};

    -------------
    Das waren die Definitionen. Ausgeführt wird erst mit log().

    Ich nehme also alle Meldungen aus der Quelle s_udp_514 auf die der Filter f_rasproxy_deny zutrifft und sende sie an die Destination d_mysql.

    Folglich müsste es so aussehen:
    log { source(s_udp_514); filter (f_rasproxy_deny); destination(d_mysql); };


    Was mache ich falsch, dass ich immer noch diese Meldungen in meiner Datenbank finde?
     
  7. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  8. Prefix

    Prefix Grünschnabel

    Dabei seit:
    17.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Na, keiner nen Tipp oder Hinweis darauf, was ich falsch mache?

    *schieb*
     
  9. Prefix

    Prefix Grünschnabel

    Dabei seit:
    17.06.2008
    Beiträge:
    5
    Zustimmungen:
    0
    Nur zur Info, falls es irgendjemanden interessiert. Auf diese Art funktionierts:

    filter f_rasproxy2_deny { not match(".*290006.Assertion.failed.*"); };

    log { source(s_udp_514); filter (f_rasproxy2_deny); destination(d_mysql); };
     
Thema:

Syslog ng Filter Konfiguration

Die Seite wird geladen...

Syslog ng Filter Konfiguration - Ähnliche Themen

  1. Reihenfolge der crond Syslog einträge

    Reihenfolge der crond Syslog einträge: Hallo, bin an einer Fehlersuche dran und stell mir gerade folgende Frage. Was ist eigentlich zuerst da? Ein cron Logeintrag unter /var/log/cron...
  2. rsyslog 7.4 unterstützt Systemd-Journal

    rsyslog 7.4 unterstützt Systemd-Journal: Das rsyslog-Projekt hat Version 7.4 des Logging-Daemons freigegeben. Die neue Version kann Logdateien signieren und verschlüsseln und unterstützt...
  3. List von syslogs?

    List von syslogs?: Ich bin gerade auf der Suche nach einem neuen Syslogs. Möchte etwas vom syslog-ng weg. Ich hab mich schon mit graylog etwas beschäftig, sah bisher...
  4. Syslog-NG auf SLES11.2 compilen

    Syslog-NG auf SLES11.2 compilen: Hallo, ich versuche Syslog-NG auf SLES zu Kompilieren. Hat sich bei den ganzen Abhängigkeiten die es nicht gibt auch etwas hingezogen. Jetzt hab...
  5. Syslog-NG

    Syslog-NG: Hallo, Is es möglich das bestimmte Crons nicht an den Syslog-NG gesendet werden ? . Ich hab es mal mit einem Regulären ausdruck versucht aber...