[syslog-ng] syslog-ng 2.0.5 dropped messages - totally confused

Balazs Scheidler bazsi at balabit.hu
Wed Mar 12 11:14:05 CET 2008


On Wed, 2008-03-05 at 11:50 -0800, Evan Rempel wrote:
> Please bear with me. This is a little involved.
> 
> We have a bunch of servers, but I am only focusing on one today.
> It logs everything to two syslog-ng central servers.
> A really simple config file
> 
> ---------
> options { sync(0); log_fifo_size(50000); use_fqdn(yes); keep_hostname(no);
>            chain_hostnames(yes); time_reap(60); time_reopen(5); };
> 
> source local { unix-stream("/dev/log" max-connections(200));
>                 file("/proc/kmsg" log_prefix("kernel: "));
>                 internal();
>               };
> 
> template standard_file	{ template("$ISODATE $FULLHOST $FACILITY.$LEVEL $MESSAGE\n"); template_escape(no); };
> 
> destination syslog 	{ file("/var/log/syslog.$YEAR$MONTH$DAY.000000"
> 			owner("root") group("syslogs") perm(0640) template(standard_file)); };
> 
> destination syslogServer1 { tcp("server1" log_fifo_size(50000) ); };
> destination syslogServer2 { tcp("server2" log_fifo_size(50000) ); };
> 
> log { source(local); destination(syslog); destination(syslogServer1); destination(syslogServer2); };
> -----------------
> 
> 
> Anyhow. On the two central servers, I different numbers of records in the files, and the statistics
> on the sender show
> 
> 2008-03-04T23:26:38-08:00 local at caribou.comp.uvic.ca syslog.info syslog-ng[3391]: Log statistics; 
> dropped='tcp(AF_INET(server2:514))=0',
> dropped='tcp(AF_INET(server1:514))=14690649',
> processed='center(queued)=53993217',
> processed='center(received)=17997739',
> processed='destination(syslogServer2)=17997739',
> processed='destination(syslogServer1)=17997739',
> processed='destination(syslog)=17997739',
> processed='source(local)=17997739'
> 
> 
> The problem is that the files on disk show
> 
> caribou	16257954
> server1	1742054
> server2	965475
> 
> 
> and that just doesn't add up. Neither server shows any dropped messages.
> I know that the statistics miss some time at the beginning of the day
> and at the end of the day, but the numbers don't even come close.
> Caribou stats show that no messages are dropped to server2, and lots dropped
> to server1, however, server2 actually wrote more messages to disk. Server 1
> is also about 30% faster than server2.
> 
> I am willing to listen to any explanation, but I am beginning to think that
> the statistics that are logged are wrong.

I know about one possible bug that might explain this: as long as the
_first_ connection to a TCP destination is not established, dropped
messages are not counted.

E.g. the dropped counter is allocated for a destination when the first
connection is established.

So if server2 was down when syslog-ng started and server1 was up,
syslog-ng might not count dropped messages towards server2 in the
initial period.

Does that sound possible?

-- 
Bazsi



More information about the syslog-ng mailing list