Hi Jason - All I am able to provide is this (which is the base that I use in most cases). Obviously the group needs to exist (i.e. "logadmin") I find this is pretty solid, and the directory structure allows easy searching by date and/or server. You will need to look up the options for yourself at the Balabit site (they have excellent documentation) The one thing that I will say is that $HOST and $HOST_FROM differ in that $HOST is parsed from the data in the syslog messages themselves, where $HOST_FROM is the server that sent the packets over the network. I find it more reliable especially when parsing "non-standard" events. Best of luck, Jim # @version: 3.5 @include "scl.conf" options { check_hostname(yes); # check if the hostname contains valid characters use_dns(no); # do not resolve names for speed dns_cache(no); # no DNS cache since we do not resolve names keep_hostname(yes); # keep hostnames to enable related macros chain_hostnames(no); # do not track / forward syslog forwarder chain # options related to file and directories dir_owner("root"); dir_group("logadmin"); owner("root"); group("logadmin"); perm(0640); dir_perm(0750); create_dirs(yes); }; source s_local { system(); internal( ); }; source s_network { udp(); tcp(); }; destination d_separatedbyhosts { file("/data/syslog-ng/$YEAR/$MONTH/$DAY/$HOST_FROM/$HOST_FROM.$FACILITY.$PRIORITY.$YEAR.$MONTH.$DAY"); }; log { source(s_local); source(s_network); destination(d_separatedbyhosts); }; ---- Jason Long <hack3rcon@yahoo.com> wrote:
Hi Jim. Thank you so much for your reply. Excuse me, Can you write a config file for me that collect Windows log?
On Monday, August 25, 2014 1:18 AM, Jim Hendrick <jrhendri@roadrunner.com> wrote: One way to check would be to have syslog-ng use the host macro as part of the directory (or file) name and let it create directories (or files) for every host it hears from like this: change create_dirs(yes) and create a destination that will use information it parses out of the received logs in the filenames: destination d_separatedbyhosts { file( "/var/log/$HOST/$HOST.$FACILITY.$SEVERITY.$YEAR.$MONTH.$DAY" ); } then don't filter at all - just let syslog-ng create at will. While this may not be what you want eventually, it would let syslog-ng create files for any host it hears from, and that might show you how the $HOST macro is being parsed. Jim On 08/24/2014 01:33 PM, Jason Long wrote: Hello all.
I have a Windows Box that want to forward all Even logs to my Linux box. I install Snare on Windows(172.30.10.19) and configure it to forward logs to Linux and my Linux box receive it properly. When I use " tcpdump udp "port 514" ", Tcpdump show me that Snare sending Logs to Linux but Syslog-ng can't write it to log files :(. I paste my syslog-ng configure :
options { flush_lines (0); time_reopen (10); log_fifo_size (1000); long_hostnames (off); use_dns (no); use_fqdn (no); create_dirs (no); keep_hostname (yes); };
source s_sys { file ("/proc/kmsg" program_override("kernel: ")); unix-stream ("/dev/log"); internal(); #udp(ip(0.0.0.0) port(514)); };
#source s_net { #udp (ip(172.30.10.19) port(514)); #}; source s_net { udp(); }; filter f_openwrt { host("172.30.10.19");}; destination df_openwrt { file("/var/log/winlog/win.log"); }; log { source ( s_net ); filter( f_openwrt ); destination ( df_openwrt ); };
destination d_cons { file("/dev/console"); }; destination d_mesg { file("/var/log/messages"); }; destination d_auth { file("/var/log/secure"); }; destination d_mail { file("/var/log/maillog" flush_lines(10)); }; destination d_spol { file("/var/log/spooler"); }; destination d_boot { file("/var/log/boot.log"); }; destination d_cron { file("/var/log/cron"); }; destination d_kern { file("/var/log/kern"); }; destination d_mlal { usertty("*"); };
filter f_kernel { facility(kern); }; filter f_default { level(info..emerg) and not (facility(mail) or facility(authpriv) or facility(cron)); }; filter f_auth { facility(authpriv); }; filter f_mail { facility(mail); }; filter f_emergency { level(emerg); }; filter f_news { facility(uucp) or (facility(news) and level(crit..emerg)); }; filter f_boot { facility(local7); }; filter f_cron { facility(cron); };
#log { source(s_sys); filter(f_kernel); destination(d_cons); }; log { source(s_sys); filter(f_kernel); destination(d_kern); }; log { source(s_sys); filter(f_default); destination(d_mesg); }; log { source(s_sys); filter(f_auth); destination(d_auth); }; log { source(s_sys); filter(f_mail); destination(d_mail); }; log { source(s_sys); filter(f_emergency); destination(d_mlal); }; log { source(s_sys); filter(f_news); destination(d_spol); }; log { source(s_sys); filter(f_boot); destination(d_boot); }; log { source(s_sys); filter(f_cron); destination(d_cron); };
# vim:ft=syslog-ng:ai:si:ts=4:sw=4:et:
Can you tell me how can I solve this problem?
Cheers.
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq