You&#39;re right Matthew and this is why I won&#39;t use that solution (2 UDP sources). It was just a test. :-)<br>Instead, I&#39;ll use only one UDP source with the flag &quot;no-parse&quot; and a patterndb.<br><br>Regards,<br>


<br>Yann<br><br><br><div class="gmail_quote">2010/11/17 Matthew Hall <span dir="ltr">&lt;<a href="mailto:mhall@mhcomputing.net" target="_blank">mhall@mhcomputing.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


As a connectionless protocol UDP cannot always detect existing listeners on all platforms. However if you think about it it&#39;s clear why this wouldn&#39;t work. How would it know which messages should be parse or noparse? It can&#39;t read your mind! ;)<br>



<br>
Matthew.<br>
<br>
Sent from my mobile device<br>
<div><div></div><div><br>
&quot;Yann I.&quot; &lt;<a href="mailto:yann.frm@gmail.com" target="_blank">yann.frm@gmail.com</a>&gt; wrote:<br>
<br>
&gt;&gt;<br>
&gt;&gt; Does this work?<br>
&gt;&gt;<br>
&gt;&gt; source s_udp_not_parsed { udp(port(514) flags(no-parse)); };<br>
&gt;&gt; source s_udp { udp(port(514)); };<br>
&gt;&gt;<br>
&gt;&gt; (...)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;I tried that solution few days ago and it didn&#39;t work. Two processes<br>
&gt;&quot;syslog-ng&quot; listened on port UDP/514 : the messages are not handled<br>
&gt;correctly. They would be handled by &quot;s_udp_not_parsed&quot; or &quot;s_udp&quot;.<br>
&gt;<br>
&gt;nb : it&#39;s strange that two processes can listen on the same port (for the<br>
&gt;protocol UDP) isn&#39;t it ? This is the same behaviour with &quot;netcat&quot;. I tried<br>
&gt;with netcat (example : nc -l -u 1234) and I have two processes which listen<br>
&gt;the port UDP/1234. Messages send by &quot;nc&quot; on the port 1234 are received by<br>
&gt;the last &quot;netcat&quot; which has been started.<br>
&gt;<br>
&gt;<br>
&gt;For passing yourself back the reparsed message I would recommend<br>
&gt;&gt; unix-dgram. AF_UNIX is usually better than pipes for me at least.<br>
&gt;&gt;<br>
&gt;<br>
&gt;Thank you ! I&#39;ll use AF_UNIX.<br>
&gt;<br>
&gt;Regards,<br>
&gt;<br>
&gt;Yann I.<br>
&gt;<br>
&gt;<br>
&gt;2010/11/16 Matthew Hall &lt;<a href="mailto:mhall@mhcomputing.net" target="_blank">mhall@mhcomputing.net</a>&gt;<br>
&gt;<br>
&gt;&gt; For passing yourself back the reparsed message I would recommend<br>
&gt;&gt; unix-dgram. AF_UNIX is usually better than pipes for me at least.<br>
&gt;&gt;<br>
&gt;&gt; Matthew.<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Nov 16, 2010 at 12:14:53PM -0600, Martin Holste wrote:<br>
&gt;&gt; &gt; Does this work?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; source s_udp_not_parsed { udp(port(514) flags(no-parse)); };<br>
&gt;&gt; &gt; source s_udp { udp(port(514)); };<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; log {<br>
&gt;&gt; &gt;   source(s_udp);<br>
&gt;&gt; &gt;   parser(db-parser());<br>
&gt;&gt; &gt;   destination(d_parsed);<br>
&gt;&gt; &gt; };<br>
&gt;&gt; &gt; log {<br>
&gt;&gt; &gt;   source(s_udp_not_parsed);<br>
&gt;&gt; &gt;   destination(d_not_parsed);<br>
&gt;&gt; &gt; };<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Otherwise, try reassembling a no-parse like message with a different<br>
&gt;&gt; &gt; output template.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Tue, Nov 16, 2010 at 11:13 AM, Yann I. &lt;<a href="mailto:yann.frm@gmail.com" target="_blank">yann.frm@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; &gt; Well I&#39;m not sure because of the flag I used for the UDP source which<br>
&gt;&gt; is set<br>
&gt;&gt; &gt; &gt; to &quot;no-parse&quot;.<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; Here is my problem. From the UDP source, I may receive logs which are<br>
&gt;&gt; not<br>
&gt;&gt; &gt; &gt; &quot;syslog compliance&quot;. So I&#39;m using the flag &#39;no-parse&#39; then I rewrite<br>
&gt;&gt; the<br>
&gt;&gt; &gt; &gt; message. After that rewrite, I forward the new message to the same<br>
&gt;&gt; syslog-ng<br>
&gt;&gt; &gt; &gt; server.<br>
&gt;&gt; &gt; &gt; Then... I can apply filter, parser, etc on that new message which is<br>
&gt;&gt; now<br>
&gt;&gt; &gt; &gt; &quot;syslog compliance&quot; :-)<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; So, I think I can&#39;t use log statement. I need to use that mecanism...<br>
&gt;&gt; &gt; &gt; There might be another solution but this one seems to be a good<br>
&gt;&gt; solution.<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt;<br>
&gt;&gt; &gt; &gt; 2010/11/16 Martin Holste &lt;<a href="mailto:mcholste@gmail.com" target="_blank">mcholste@gmail.com</a>&gt;<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; Ok, then this should be accomplished with a standard log statement<br>
&gt;&gt; &gt; &gt;&gt; like you&#39;ve already begun to write.  What do your destinations look<br>
&gt;&gt; &gt; &gt;&gt; like?<br>
&gt;&gt; &gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; On Tue, Nov 16, 2010 at 10:58 AM, Yann I. &lt;<a href="mailto:yann.frm@gmail.com" target="_blank">yann.frm@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; &gt;&gt; &gt; In fact, this is the same process... There is only one process.<br>
&gt;&gt; &gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt; 2010/11/16 Martin Holste &lt;<a href="mailto:mcholste@gmail.com" target="_blank">mcholste@gmail.com</a>&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; Why do you need separate syslog-ng processes running?<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; On Tue, Nov 16, 2010 at 10:49 AM, Yann I. &lt;<a href="mailto:yann.frm@gmail.com" target="_blank">yann.frm@gmail.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Hi !<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I have a question about the use of udp, unix-stream or pipe. I<br>
&gt;&gt; would<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; like to<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; forward a syslog message to the same syslog server like this :<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |  log {<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     source (s_r_udp);    (&lt;-- listen on UDP/514)<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     filter (....);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     filter (....);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     parser (...);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     destination (d_local_syslog);  (&lt;-- send the message to a<br>
&gt;&gt; local<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; syslog<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; by using unix-stream, udp or pipe mecanism)<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |  };<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; (...)<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |  log {<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     source (s_local_syslog);    (&lt;--- here I receive the<br>
&gt;&gt; messages<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; sent<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; by<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; the &quot;d_syslog_loop&quot;)<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     filter (...);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     filter (...);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     parser (...);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; |     destination (d_remote_syslog);<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I&#39;m looking for the better way to send syslog message to the same<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; syslog<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; server : which mecanism provides the better performances : pipe,<br>
&gt;&gt; udp<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; (by<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; using network) or unix-stream ?<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Maybe the &quot;pipe&quot; is the better solution ?...<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; I&#39;m using the syslog-ng OSE 3.1.2 on CentOS.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt; Yann I.<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt; &gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt;<br>
</div></div></blockquote></div><br>