<br>I have some syntax working now but can&#39;t get a reliable means of sending smtp notifications.. Just curious how other people are doing it. Here is my current setup:<br><br><span style="font-family: courier new,monospace;">template    t_smtp     { template(&quot;$HOST &lt;$PRI&gt;$DATE $HOST $MSG\n&quot;); template_escape(no); };</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">destination r_smtp     { program (&quot;/usr/local/sbin/syslog-ng-mailer.sh&quot;); };</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">log { source (s_udp);           filter (f_kern); filter (f_crit);       destination (r_smtp); };</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">log { source (s_udp);           filter (f_user); filter (f_crit);       destination (r_smtp); };</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">log { source (s_udp);           filter (f_daemon); filter (f_crit);     destination (r_smtp); };</span><br>
<br>The above catches the messages and executes my script.<br><br>Here is my script:<br><span style="font-family: courier new,monospace;">#!/bin/sh</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">RECPT=&quot;<a href="mailto:me@example.com">me@example.com</a>&quot;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">tstamp=`localtime`</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">log=&quot;/var/adm/syslog-ng-mailer.log&quot;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">tmp=&quot;/tmp/syslog-ng-mailer.$$&quot;</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">while read line; do</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">        echo $line &gt;&gt; $tmp</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">done</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/usr/local/bin/cat $tmp | /bin/mailx -s &quot;SyslogAlet&quot; $RECPT</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">/bin/rm $tmp</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">exit 0;</span><br>
<br>The script is getting executed but with the following issues:<br><br>1) When I execute the following 3 commands on a remote host that logs to my syslog-ng server, it appears to only execute my script once:<br><br><span style="font-family: courier new,monospace;"># logger -p user.crit &quot;TESTING 1&quot;                                       </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"># logger -p user.crit &quot;TESTING 2&quot; </span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"># logger -p user.crit &quot;TESTING 3&quot; </span><br>
<br>So I wind up with a single tmp file instead of 3 as I would expect:<br><span style="font-family: courier new,monospace;">root@syslog:/tmp# cat syslog-ng-mailer.4053 </span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Nov 5 08:58:07 pwydbsolp05 carsoc: [ID 702911 user.crit] TESTING 1</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">Nov 5 08:58:08 pwydbsolp05 carsoc: [ID 702911 user.crit] TESTING 2</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">Nov 5 08:58:10 pwydbsolp05 carsoc: [ID 702911 user.crit] TESTING 3</span><br style="font-family: courier new,monospace;"><br>Here I see the processes associated with my script:<br>
<span style="font-family: courier new,monospace;">root@syslog:/tmp# ps -ef | grep syslog-ng-mailer</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    root  4052  4048   0 08:17:19 ?           0:00 /bin/sh -c /usr/local/sbin/syslog-ng-mailer.sh</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    root  4053  4052   0 08:17:19 ?           0:00 /bin/sh /usr/local/sbin/syslog-ng-mailer.sh<br><br></span>These processes just seem to hand.. Every once in a a message will actually get delivered but its blank with the exception of the subject.<br>
<br>I&#39;ve tried several different scripts, some that try and parse the command line arguments individually, some that just read STDIN until EOF, and etc....<br><br>I can&#39;t get anything reliable working.<br><br>Any ideas?<br>
<br><br><div class="gmail_quote">On Fri, Nov 5, 2010 at 7:08 AM, Sandor Geller <span dir="ltr">&lt;<a href="mailto:Sandor.Geller@morganstanley.com">Sandor.Geller@morganstanley.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
there is an extra semicolon... remove the one after template()<br>
<div><div></div><div class="h5"><br>
On Fri, Nov 5, 2010 at 3:04 PM, Chuck &lt;<a href="mailto:chuck.carson@gmail.com">chuck.carson@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; It doesn&#39;t like this synxtax either:<br>
&gt;<br>
&gt; destination r_smtp     { program (&quot;/usr/local/sbin/syslog-ng-mailer.sh&quot;<br>
&gt; template(&quot;$HOST &lt;$PRI&gt;$DATE $HOST $MSG\n&quot;); ); };<br>
&gt;<br>
&gt; I can&#39;t get any syntax as all working that uses the template() option.<br>
&gt;<br>
&gt; -Chuck<br>
&gt;<br>
&gt; On Fri, Nov 5, 2010 at 6:57 AM, Sandor Geller<br>
&gt; &lt;<a href="mailto:Sandor.Geller@morganstanley.com">Sandor.Geller@morganstanley.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Nov 5, 2010 at 2:46 PM, Chuck &lt;<a href="mailto:chuck.carson@gmail.com">chuck.carson@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am running 3.0.4 on a solaris 10 host. I am trying to send critical<br>
&gt;&gt; &gt; and<br>
&gt;&gt; &gt; emergency events via smtp. I have the following syntax:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; destination r_smtp     { program (&quot;/usr/local/sbin/syslog-ng-mailer.sh<br>
&gt;&gt; &gt; $HOST&quot; template(&quot;&lt;$PRI&gt;$DATE $HOST $MSG\n.\n&quot;); ); };<br>
&gt;&gt;<br>
&gt;&gt; Maybe you misunderstood the example.<br>
&gt;&gt;<br>
&gt;&gt; program (&quot;/usr/local/sbin/syslog-ng-mailer.sh $HOST&quot;<br>
&gt;&gt;<br>
&gt;&gt; is bad, the whole string including the space and $HOST is treated as<br>
&gt;&gt; the program name... Instead of that use<br>
&gt;&gt;<br>
&gt;&gt; program (&quot;/usr/local/sbin/syslog-ng-mailer.sh&quot; template(...<br>
&gt;&gt;<br>
&gt;&gt; hth,<br>
&gt;&gt;<br>
&gt;&gt; Sandor<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>