<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Ok this woked successfuly now<br>Thanks for help<br><br><hr id="stopSpelling">From: reakyrok@hotmail.com<br>To: syslog-ng@lists.balabit.hu<br>Date: Sun, 5 Jul 2009 23:38:04 +0300<br>Subject: Re: [syslog-ng] Send a specific log by email<br><br>



<style>
.ExternalClass .EC_hmmessage P
{padding:0px;}
.ExternalClass body.EC_hmmessage
{font-size:10pt;font-family:Verdana;}
</style>


Dear <br>&nbsp;&nbsp; I don't know if the problem in me or what :)<br>As I understood you send me configration related with which interface I'll use to receive logs, But this's&nbsp; not the problem, The problem is that I want when I receive logs from the remote server that It's IP is 163.121.189.131 to send the logs of this server to my email,I's sorry if I used a configration in wronge way make you not understand me.<br>Any way , I'm trying now some kind of solution , I don't know if it can be a way to do what I want or not,<br>I did the following:<br>========================================================================================<br>&nbsp;source sme {file (/var/log/syslog-ng/servers/163.121.189.131/local7.log); };<br><br><br>&nbsp;destination maillog { program ("/usr/local/bin/syslog-mail-perl" );<br>&nbsp;};<br>log {source(sme); destination(maillog); };<br>========================================================================================<br>As you see I try to make the sourse is the file that contain the logs of the remote server 163.121.189.131<br>And try to send it to a script that mail it to me, But When I try nothing happened.<br>I'll attache the full configuration file to you and the mail script, I make it send to root for example in the first<br><br><br>configuaration file:<br>=================================================================<br># configuration file for syslog-ng, customized for remote logging<br>#<br><br>source s_internal { internal(); };<br>destination d_syslognglog { file("/var/log/syslog-ng.log"); };<br>log { source(s_internal); destination(d_syslognglog); };<br><br># Remote logging<br>source s_remote {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcp(ip(0.0.0.0) port(514));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; udp(ip(0.0.0.0) port(514));<br>};<br><br>destination d_separatedbyhosts {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file("/var/log/syslog-ng/servers/$HOST/$FACILITY.log" owner("root") group("root") perm(0640) dir_perm(0750) create_dirs(yes));<br>};<br><br>log { source(s_remote); destination(d_separatedbyhosts); };<br><br># This is the new part that I did<br>&nbsp;source sme {file (/var/log/syslog-ng/servers/172.31.250.68/local7.log); };<br><br><br>&nbsp;destination maillog { program ("/usr/local/bin/syslog-mail-perl" );<br>&nbsp;};<br>log {source(sme); destination(maillog); };<br><br>options {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Number of syslog lines stored in memory before being written to files<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flush_lines (0);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Syslog-ng uses queues<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_fifo_size (1000);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Create log directories as needed<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; create_dirs (yes);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Make the group "logs" own the log files and directories<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group (logs);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir_group (logs);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Set the file and directory permissions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; perm (0640);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dir_perm (0750);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Check client hostnames for valid DNS characters<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check_hostname (yes);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Specify whether to trust hostname in the log message.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # If "yes", then it is left unchanged, if "no" the server replaces<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # it with client's DNS lookup value.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keep_hostname (yes);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Use DNS fully qualified domain names (FQDN)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # for the names of log file folders<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use_fqdn (yes);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use_dns (yes);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Cache DNS entries for up to 1000 hosts for 12 hours<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dns_cache (yes);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dns_cache_size (1000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dns_cache_expire (43200);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };<br># Define all the source<br>source s_localhost {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pipe ("/proc/kmsg" program_override("kernel: "));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unix-stream ("/dev/log");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; internal();<br>};<br><br># Define the destination "d_localhost" log directory<br>destination d_localhost {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file ("/var/log/syslog-ng/localhost/$FACILITY.log");<br>};<br><br>#================================<br>#================================<br># Define all the sources of network generated syslog<br># messages and label it "d_network"<br>source s_network {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tcp(max-connections(5000));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; udp();<br>};<br><br># Define the destination "d_network" log directory<br>destination d_network {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file ("/var/log/syslog-ng/$YEAR.$MONTH.$DAY/$HOST/$FACILITY.log");<br>};<br><br>#=======================<br>#=======================<br># Any logs that match the "s_localhost" source should be logged<br># in the "d_localhost" directory<br><br>log { source(s_localhost);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; destination(d_localhost);<br>};<br>#=======================<br>===========================================================================<br><br>and the following is the mail script<br><br>++++++++++++++++++++++++++++++++++++++++=====<br>#!/usr/bin/perl -n<br># thanks to Brian Dowling for an example with security in mind.<br><br>$TO = 'root';<br>$FROM = $TO;<br><br>s/^&lt;\d{1,2}&gt;//;<br><br>open(MAIL, "|/usr/sbin/sendmail -t");<br><br>print MAIL &lt;&lt;"EOT";<br>To: $TO<br>From: $FROM<br>Subject: SME Log Alert: $_<br><br>$_<br><br>EOT<br><br>close(MAIL);<br>+++++++++++++++++++++++++++++++++++++++++++++++<br><br>Thanks for your patience and help<br>Reaky<br><br><br><br><br>&gt; Date: Sat, 4 Jul 2009 13:02:37 +0200<br>&gt; From: Sandor.Geller@morganstanley.com<br>&gt; To: syslog-ng@lists.balabit.hu<br>&gt; Subject: Re: [syslog-ng] Send a specific log by email<br>&gt; <br>&gt; ...and to provide actual help: use filters based on hostname or the IP address<br>&gt; <br>&gt; filter f_myhostname {<br>&gt;   host("^myhostname$"); # this is a regexp, not a simple string<br>&gt; }<br>&gt; <br>&gt; filter f_myipaddress {<br>&gt;   netmask("127.0.0.1/32");<br>&gt; }<br>&gt; <br>&gt; later in your log definitions just use the filters:<br>&gt; <br>&gt; log {<br>&gt;   source(...);<br>&gt;   filter(...);<br>&gt;   destination(...);<br>&gt;   flags(final); # so the logs won't get processed by further log definitions<br>&gt; }<br>&gt; <br>&gt; In the admin guide you can find more details about the configuration<br>&gt; possibilities.<br>&gt; <br>&gt; hth,<br>&gt; <br>&gt; Sandor<br>&gt; <br>&gt; On Sat, Jul 4, 2009 at 12:48 PM, Sandor Geller&lt;sandorg@morganstanley.com&gt; wrote:<br>&gt; &gt; Hi,<br>&gt; &gt;<br>&gt; &gt; Local means that the host syslog-ng is running on has the IP address<br>&gt; &gt; configured on one of the network interfaces. Apps can bind only to<br>&gt; &gt; 0.0.0.0 or to local IP addresses, not to remote addresses. I think<br>&gt; &gt; you're after filtering based on the remote host's IP address, not<br>&gt; &gt; binding to the IP address.<br>&gt; &gt;<br>&gt; &gt; Regards,<br>&gt; &gt;<br>&gt; &gt; Sandor<br>&gt; &gt;<br>&gt; &gt; 2009/7/4 Reaky Rok &lt;reakyrok@hotmail.com&gt;:<br>&gt; &gt;&gt; Dear What u mean of local IP ? DO u mean It's in the same subbnet ?&nbsp;Any way<br>&gt; &gt;&gt; IT's routed IP not in the same subnet of the syslog server,<br>&gt; &gt;&gt; But any way what the right&nbsp;option to filter the requests fom this IP only<br>&gt; &gt;&gt; ???<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;&gt; From: bazsi@balabit.hu<br>&gt; &gt;&gt;&gt; To: syslog-ng@lists.balabit.hu<br>&gt; &gt;&gt;&gt; Date: Fri, 3 Jul 2009 15:57:08 +0200<br>&gt; &gt;&gt;&gt; Subject: Re: [syslog-ng] Send a specific log by email<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; On Thu, 2009-07-02 at 11:34 +0300, Reaky Rok wrote:<br>&gt; &gt;&gt;&gt; &gt; I modefied it and it gave me the following result after restarting :<br>&gt; &gt;&gt;&gt; &gt;<br>&gt; &gt;&gt;&gt; &gt; Error binding socket; addr='AF_INET(163.121.189.131:514)',<br>&gt; &gt;&gt;&gt; &gt; error='Cannot assign requested address (99)'<br>&gt; &gt;&gt;&gt; &gt; Error initializing source driver; source='s_remote', id='s_remote#0'<br>&gt; &gt;&gt;&gt; &gt; Error initializing message pipeline;<br>&gt; &gt;&gt;&gt; &gt; [FAILED]<br>&gt; &gt;&gt;&gt; &gt;<br>&gt; &gt;&gt;&gt; &gt; I s it possible that this's becuese I used the same source name in the<br>&gt; &gt;&gt;&gt; &gt; first part of configuration ?<br>&gt; &gt;&gt;&gt; &gt;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; Is 163.121.189.131 a local IP address? The ip() option of source drivers<br>&gt; &gt;&gt;&gt; specify the bind address, not the address to accept messages from.<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; --<br>&gt; &gt;&gt;&gt; Bazs i<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; ______________________________________________________________________________<br>&gt; &gt;&gt;&gt; Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng<br>&gt; &gt;&gt;&gt; Documentation:<br>&gt; &gt;&gt;&gt; http://www.balabit.com/support/documentation/?product=syslog-ng<br>&gt; &gt;&gt;&gt; FAQ: http://www.campin.net/syslog-ng/faq.html<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; ________________________________<br>&gt; &gt;&gt; Windows Live™: Keep your life in sync. Check it out!<br>&gt; &gt;&gt; ______________________________________________________________________________<br>&gt; &gt;&gt; Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng<br>&gt; &gt;&gt; Documentation:<br>&gt; &gt;&gt; http://www.balabit.com/support/documentation/?product=syslog-ng<br>&gt; &gt;&gt; FAQ: http://www.campin.net/syslog-ng/faq.html<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; ______________________________________________________________________________<br>&gt; Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng<br>&gt; Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng<br>&gt; FAQ: http://www.campin.net/syslog-ng/faq.html<br>&gt; <br><br><hr>See all the ways you can stay connected <a href="http://www.microsoft.com/windows/windowslive/default.aspx">to friends and family</a><br /><hr />Windows Live™: Keep your life in sync. <a href='http://windowslive.com/explore?ocid=TXT_TAGLM_WL_t1_allup_explore_012009' target='_new'>Check it out!</a></body>
</html>