<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Hello there,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I’ve started playing around with syslog-ng 3.3.4 ose a few days ago but I’m still experiencing some trouble. First of all we want to use syslog-ng to send all of our logs via udp to a central syslog server. This includes of course syslogs, apache logs and custom generated applogs. These logs are generated from 400 clients and produces a minimum of 300 mio. log lines a day. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>The problem is really simple: I’m losing log lines :P Most of the time everything goes well but when the logs are peaking high 1-5% logs are getting lost. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Last night the stats of the server and a client said 0 drops but when I counted the lines I found lost lines. The server has 24g ram & 8 cores and I can rule out a network problem for sure. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>So now to my questions, has anyone else an idea where I can tweak my cfg or where I have to look to find more clues? Is tcp the only way to get around it?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I’ve attached my syslog server cfg. The so_rcvbuf buffer is the same size as the os net.core.rmem settings. And as described in the various balabit blog posts I played around with log_fetch_limit and flush_lines already.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>syslog-ng.conf:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>@version: 3.3<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>options {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> threaded(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> owner("root");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> group("root");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> perm(0660);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US> dir_owner("root");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> dir_group("root");<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> dir_perm(0770);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> create_dirs(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US> stats_freq(600);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> stats_level(2);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> chain_hostnames(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> normalize_hostnames(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> check_hostname(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US> dns_cache(yes);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> dns_cache_size(16384);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> dns_cache_expire(3600);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> dns_cache_expire_failed(60);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US> log_msg_size(16384);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> log_fifo_size(100000);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US> use_fqdn(yes); <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>#disabled 4 debugging<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US># flush_lines(200);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>source s_src { <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> unix-dgram("/dev/log"); <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> internal();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> file("/proc/kmsg" program_override("kernel"));<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>source s_net {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>udp(<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> log_fetch_limit(400)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> so_rcvbuf(51200000)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> keep_hostname(yes)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> keep_timestamp(no) <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ip("10.8.4.10") <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> port(514) <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>tcp(<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> so_rcvbuf(51200000)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> so_keepalive(yes)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> keep_hostname(no)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> keep_timestamp(no)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> ip("10.8.4.10")<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> port(514)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>syslog();<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>filter f_syslog {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> not program(access.log) and<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> not program(error.log) and<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> not program(beetle.log) and<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> not program(edge.log);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>filter f_apache {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> program(access.log) or<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> program(error.log);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>filter f_applogs {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> program(beetle.log)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> or program(edge.log);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>template t_plain { <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> template("$MSG\n"); template_escape(no); <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>}; <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>destination d_messages { file("/var/log/messages"); };<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>destination d_remote { file("/log/syslog/${R_YEAR}/${R_MONTH}/${R_DAY}/$HOST"); };<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>destination d_apache { file("/log/apache/${R_YEAR}/${R_MONTH}/${R_DAY}/$HOST/$PROGRAM" template(t_plain)); };<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>destination d_applogs { file("/log/applogs/${R_YEAR}/${R_MONTH}/${R_DAY}/$HOST/$PROGRAM" template(t_plain)); };<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>log {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> source(s_src);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> destination(d_messages);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>log {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> source(s_net);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> filter(f_syslog);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> destination(d_remote);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>log {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> source(s_net);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> filter(f_apache);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> destination(d_apache);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>};<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>log {<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> source(s_net);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span>filter(f_applogs);<o:p></o:p></p><p class=MsoNormal> destination(d_applogs);<o:p></o:p></p><p class=MsoNormal>};<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks<o:p></o:p></p><p class=MsoNormal>Daniel Neubacher<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>