[syslog-ng] a log message is output in the two line
Hirose, Shinsaku
hirose.shinsaku at jp.fujitsu.com
Fri Jun 24 17:40:57 CEST 2016
Dear Sandor
Thank you for your quick responce.
> UDP transport limits datagram size to 64k
OK. Thanks!
I raised log_msg_size to higer value.
But the behavior did not changed.
I added ' log_msg_size (16384);' in options on the two hosts.
------------------------------------------------------------
options {
flush_lines (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
log_msg_size (16384);
};
------------------------------------------------------------
And I did restarting service.
But the behavior did not changed.
Do you know this reason?
Best regards,
-----Original Message-----
From: syslog-ng-bounces at lists.balabit.hu [mailto:syslog-ng-bounces at lists.balabit.hu] On Behalf Of Sandor Geller
Sent: Friday, June 24, 2016 11:32 PM
To: syslog-ng at lists.balabit.hu
Subject: Re: [syslog-ng] a log message is output in the two line
Hi,
On 06/24/2016 04:10 PM, Hirose, Shinsaku wrote:
> Hello, all,
>
> I use syslog-ng-3.2.5-4.el6.x86_64 on Centos6.
> I got it from eple epel repository.
>
> I am troubled in how to use the source file driver.
> The touble is that a log message is output in the two lines on remote syslog server.
>
> How to reproduce is followings.
>
> 1. Prepare two hosts running syslog-ng.
>
> Host_A configuration is followings.
> ----------------------------------------
> source test {
> file("/tmp/a.log");
> };
> destination d_remote { udp("192.168.0.2"); };
> log { source(test); destination(d_remote); };
> ----------------------------------------
UDP transport limits datagram size to 64k
> Host_B(192.168.0.2) configuration is defaults.
>
> 2.Execute following command on Host_A.
>
> $ seq 8193 | (xargs -i echo -n "a";echo "") >> /tmp/a.log
>
> 3.Check the log on Host_B.
>
> As the result, a log message is output in the two lines on Host_B.
>
> One line is following. The num of "a" is 8192.
> aaaaaaaaaaaaa.......
>
> The other line is following. The num of "a" is 1.
> a
>
> I hope a log message is output in the one line on Host_B.
> Is my hope readily achievable?
syslog isn't rsync so the syslog standards must get taken into account.
Original syslog was designed to work with single-line, small messages (up to 1k) fitting into a single UDP packet to avoid fragmentating the datagram.
IIRC the maximal message size in syslog-ng defaults to 8192 bytes, so from stream-like sources input will be splitted when this length is reached.
> Please advise me.
You can raise log_msg_size to higer value but don't expect that values larger than 64k will work with the udp() transport. You should switch to another transport driver like tcp() or even better to syslog()
Regards,
Sandor
______________________________________________________________________________
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
More information about the syslog-ng
mailing list