Hello Community, Thank you all for your help regarding this issue reported. We finally concluded that Cisco devide is sending the log in two different lines. Now we have a new situation regarding the syslog-ng configuration file: - A patch had to be created in order to concat the log. - The logs that arrive to the server with syslog-ng come like this: Mar 13 10:33:14 PE06PVAL01 1182434: Mar 13 10:33:13: %BGP-3-INVALID_MPLS: Invalid MPLS label (1) Mar 13 10:33:14 PE06PVAL01 1182435: received in update for prefix XXX:XXX:XX.X.XXX.0/24 from A.B.C.D - The patch concats the log and generates a new line that is inserted into the same cisco log file: Mar 13 10:33:14 PE06PVAL01 1182434: Mar 13 10:33:13: %BGP-3-INVALID_MPLS: Invalid MPLS label (1) received in update for prefix XXX:XXX:XX.X.XXX.0/24 from A.B.C.D - This new line that has the whole log line is sent to another server (let us call it Server X) with a syslog-ng tool running - On server X, i get these two log lines: Mar 13 10:33:14 PE06PVAL01 1182434: Mar 13 10:33:13: %BGP-3-INVALID_MPLS: Invalid MPLS label (1) Mar 13 10:33:14 PE06PVAL01 1182434: Mar 13 10:33:13: %BGP-3-INVALID_MPLS: Invalid MPLS label (1) received in update for prefix XXX:XXX:XX.X.XXX.0/24 from A.B.C.D The question is: Is there a way to configure the syslog-ng in Server X so that: - Discards the log line that contains "BGP-3-INVALID_MPLS: Invalid MPLS label (1)" - Accepts the log line that contains "BGP-3-INVALID_MPLS: Invalid MPLS label (1) received in update for prefix" - Accepts all other logs The syslog-ng configuration file on Server X is the following:
cat /etc/syslog-ng.conf #@version: 3.0 # syslog-ng configuration file for the server. # # See syslog-ng(8) and syslog-ng.conf(8) for more information. #
options { flush_lines (0); time_reopen (10); log_fifo_size (10000); long_hostnames (off); use_dns (yes); create_dirs (yes); keep_hostname (yes); }; # Client Source source s_local { internal(); }; source s_syslog_udp { udp(port(514)); }; # Server Source source s_juniper_tcp { tcp(port(1001) keep-alive(yes)); }; source s_cisco_tcp { tcp(port(1002) keep-alive(yes)); }; # Client Destination destination d_local { file("/var/adm/syslog/syslog-ng.log"); }; destination d_juniper_tcp { file("/var/adm/syslog/juniper.log"); }; destination d_cisco_tcp { file("/var/adm/syslog/cisco.log"); }; # Server Destination destination d_syslog { file("/var/adm/syslog/syslog.log"); }; destination d_mail { file("/var/adm/syslog/mail.log"); }; # Server Filter filter f_mail { facility(mail) and level(debug .. emerg); }; filter f_syslog { level(info .. emerg) and not facility(mail) and not program(syslog-ng); }; filter f_syslog-ng { program(syslog-ng); }; # Client Log log { source(s_local); destination(d_local); destination(d_syslog); }; log { source(s_syslog_udp); destination(d_syslog); }; # Server Log log { source(s_local); filter(f_syslog-ng); destination(d_syslog); }; log { source(s_local); filter(f_mail); destination(d_mail); }; log { source(s_local); filter(f_syslog); destination(d_syslog); }; log { source(s_juniper_tcp); destination(d_juniper_tcp); }; log { source(s_cisco_tcp); destination(d_cisco_tcp); }; Thank you so much for your help. Best regards, Alan On Fri, May 8, 2015 at 5:37 AM, PÁSZTOR György < pasztor@linux.gyakg.u-szeged.hu> wrote:
Hi,
"Sandor Geller" <sandor.geller@ericsson.com> írta 2015-05-08 09:32-kor:
Wow, it was really 'low resolution'. Zooming in showed that there isn't any kind of UDP packet fragmentation happening (not surprising, the
That's what, why I asked a pcap file. It would required smaller attached file, and would gave us more info. I found a new theory, based on: 1 pic ~= 1 Mword 1 pcap ~= 1000 pic!
kernel would reassembele fragments transparently to syslog-ng) but the sender device actually splits the logs into multiple packets so syslog-ng does exactly what it should do. Yet another broken syslog implementation on Cisco's side :(
As basically all of their syslog implementation.
I'm not aware of how such logs could get concatenated without writing an app which postprocesses the logs.
That's another thing, I asked a pcap file. I gave up. Maybe there is a chance to do that with some patterndb magic, where we can "process" and "correlate", etc.
Kind regards, Gyu
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq