<div dir="ltr"><div class="gmail_extra"><div>Thanks for the response, it really helped me see how syslog-ng
 can break apart an input stream and re-assemble it. Seems very 
powerful!<br><br></div>With regard to filtering/pattern matching: do I 
need to know the patterns to be matched in advance? In my case, 
unfortunately, I do not. Some of these apps were written by people I&#39;ve 
never met, and the SLOC count for all apps taken together is well over 1
 million lines of code. I suppose I could run the app hundreds of times under various loads, collect representative log files, and build the pattern database from those?<br><br><br><div class="gmail_quote">On Thu, May 22, 2014 at 2:58 PM, Fabien Wernli <span dir="ltr">&lt;<a href="mailto:wernli@in2p3.fr" target="_blank">wernli@in2p3.fr</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<div><br>
On Thu, May 22, 2014 at 01:55:58PM -0400, Evade Flow wrote:<br>
&gt; Does syslog-ng support suppression of almost-but-not-quite identical<br>
&gt; messages? It would be nice to see something like this in the logs:<br>
<br>
</div>Here&#39;s the way I&#39;d try doing it, based on your example:<br>
<br>
1) Use filters to separate the &quot;myapp: Battery voltage is N volts&quot; message<br>
   flow from all other messages.<br>
2) Tag the &quot;Regular flow&quot; of messages using e.g. the tag &quot;keep&quot;<br>
   Optionally tag the other stream using &quot;drop&quot;<br>
3) Parse the &quot;myapp&quot; messages using a patterndb parser, correlating all<br>
   messages from the same host, then trigger an action upon timeout or<br>
   reaching threshold (use context-length macro). The generated message can<br>
   contain useful information from the context, e.g. number of similar<br>
   messages (CONTEXT_LENGTH), average of voltages (would probably need some<br>
   template function acrobatics), etc.<br>
4) Tag the action generated message using &quot;keep&quot;<br>
5) Filter out all messages not having the tag &quot;keep&quot;. This way the<br>
   individual &quot;myapp&quot; messages won&#39;t be logged. Only the &quot;regular flow&quot; of<br>
   messages and the triggered messages will.<br>
<div><div><br>
______________________________________________________________________________<br>
Member info: <a href="https://lists.balabit.hu/mailman/listinfo/syslog-ng" target="_blank">https://lists.balabit.hu/mailman/listinfo/syslog-ng</a><br>
Documentation: <a href="http://www.balabit.com/support/documentation/?product=syslog-ng" target="_blank">http://www.balabit.com/support/documentation/?product=syslog-ng</a><br>
FAQ: <a href="http://www.balabit.com/wiki/syslog-ng-faq" target="_blank">http://www.balabit.com/wiki/syslog-ng-faq</a><br>
<br>
</div></div></blockquote></div><br></div></div>