On the client side, you can use any Linux machine. Many have syslog-ng already installed, or you can download it from the web. Then do the following:
1. Edit /opt/syslog-ng/etc/syslog-ng.conf, adding a section similar to the following:
source network_tcp {
tcp(port(2222)); #if you have error with this port, then just use the default 314.
# tcp(port(514));
};
destination log_remote_tcp {
file("/var/log/remote_tcp/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
create_dirs(yes) frac_digits(3)
template("$ISODATE $PROGRAM $MSGONLY\n")
template_escape(no)
);
};
log {
source(network_tcp);
destination(log_remote_tcp);
};
==or=======================================
source s_sys {
# file ("/proc/kmsg" log_prefix("kernel: "));
unix-stream ("/dev/log");
internal();
#udp(ip(0.0.0.0) port(514));
udp(ip(172.16.29.167) port(514));
tcp(ip(172.16.29.167) port(514));
};
#source network_tcp {
# tcp(port(2222)); #if you have error with this port, then just use the default 314.
# udp(port(514));
#};
destination log_remote_log {
# file("/var/log/remote_tcp/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY"
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
# create_dirs(yes) frac_digits(3)
# template("$ISODATE $PROGRAM $MSGONLY\n")
# template_escape(no)
};
log {
source(s_sys);
destination(log_remote_log);
};
destination log_remote {
file("/var/log/remote/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
create_dirs(yes) frac_digits(3)
template("$ISODATE $PROGRAM $MSGONLY\n")
template_escape(no)
);
};
log {
source(s_sys);
destination(log_remote);
};
==========================================
2. Restart the syslog-ng service: /etc/init.d/syslog-ng reload
Tips:
1. How to verify if syslog-ng is already installed because I tried
/etc/init.d/syslog-ng status and it returns me 'no such file or directory exists' but I could find /etc/init.d/syslog
Answer: Use “ps –ef | grep syslog” to check if syslog-ng is up, otherwise use “rpm –qa” to find if the syslog-ng is installed
2. Assuming syslog-ng not installed, we downloaded syslog-ng-2.0.9-27.23.1.x86_64.rpm from corresponding VCVA build but would like to know where to put this file on installed VCVA ? (We are working from contractor site and cannot directly install/ point files from build-web location)
Answer: You just need to install the rpm using “rpm –ivh *.rpm” to default location
3. As you mention, we could not detect /opt/syslog-ng/etc/syslog-ng.conf file but found /etc/syslog-ng.conf so we did the setup as mentioned below but no luck.
Even when I tried to restart syslog service, found below output:
Shutting down syslog services done
Starting syslog services
Error resolving user; user='news'
Answer: You probably should start syslog-ng service not syslog.
[root@localhost etc]# vi syslog-ng.conf
# syslog-ng configuration file.
#
# This should behave pretty much like the original syslog on RedHat. But
# it could be configured a lot smarter.
#
# See syslog-ng(8) and syslog-ng.conf(5) for more information.
#
#
# - for Red Hat 7.3
# - totally do away with klogd
# - add message "kernel:" as is done with klogd.
#
# - use the log_prefix option as per Balazs Scheidler's email
#
options { sync (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
};
#
# At around 1999 some distributions have changed from using SOCK_STREAM
# to SOCK_DGRAM sockets, see these posts about the issue:
#
# http://www.security-express.com/archives/bugtraq/1999-q4/0071.html
# http://marc.theaimsgroup.com/?l=sysklogd&m=96989685607952&w=2
#
# libc and syslog clients generally automatically detect the socket type,
# so you are free to decide which of unix-stream or unix-dgram you want to use.
#
source s_sys { file ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal();
udp(ip(172.16.29.75) port(2222));
#tcp(ip(172.16.29.75) port(2222));
};
#source network_tcp {
# tcp(port(2222)); #if you have error with this port, then just use the default 314.
# tcp(port(514));
#};
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"); };
destination d_spol { file("/var/log/spooler"); };
destination d_boot { file("/var/log/boot.log"); };
destination d_cron { file("/var/log/cron"); };
destination d_mlal { usertty("*"); };
filter f_filter1 { facility(kern); };
filter f_filter2 { level(info) and
not (facility(mail)
or facility(authpriv) or facility(cron)); };
filter f_filter3 { facility(authpriv); };
filter f_filter4 { facility(mail); };
filter f_filter5 { level(emerg); };
filter f_filter6 { facility(uucp) or
(facility(news) and level(crit)); };
filter f_filter7 { facility(local7); };
filter f_filter8 { facility(cron); };
destination log_remote_tcp {
# file("/var/log/remote_tcp/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
# create_dirs(yes) frac_digits(3)
# template("$ISODATE $PROGRAM $MSGONLY\n")
# template_escape(no)
file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY"
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};
log {
source(s_sys);
destination(log_remote_tcp);
};
destination log_remote {
file("/var/log/remote/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
create_dirs(yes) frac_digits(3)
template("$ISODATE $PROGRAM $MSGONLY\n")
template_escape(no)
);
};
[root@localhost etc]# cat syslog-ng.conf
# syslog-ng configuration file.
#
# This should behave pretty much like the original syslog on RedHat. But
# it could be configured a lot smarter.
#
# See syslog-ng(8) and syslog-ng.conf(5) for more information.
#
#
# - for Red Hat 7.3
# - totally do away with klogd
# - add message "kernel:" as is done with klogd.
#
# - use the log_prefix option as per Balazs Scheidler's email
#
options { sync (0);
time_reopen (10);
log_fifo_size (1000);
long_hostnames (off);
use_dns (no);
use_fqdn (no);
create_dirs (no);
keep_hostname (yes);
};
#
# At around 1999 some distributions have changed from using SOCK_STREAM
# to SOCK_DGRAM sockets, see these posts about the issue:
#
# http://www.security-express.com/archives/bugtraq/1999-q4/0071.html
# http://marc.theaimsgroup.com/?l=sysklogd&m=96989685607952&w=2
#
# libc and syslog clients generally automatically detect the socket type,
# so you are free to decide which of unix-stream or unix-dgram you want to use.
#
source s_sys { file ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal();
udp(ip(172.16.29.75) port(2222));
#tcp(ip(172.16.29.75) port(2222));
};
#source network_tcp {
# tcp(port(2222)); #if you have error with this port, then just use the default 314.
# tcp(port(514));
#};
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"); };
destination d_spol { file("/var/log/spooler"); };
destination d_boot { file("/var/log/boot.log"); };
destination d_cron { file("/var/log/cron"); };
destination d_mlal { usertty("*"); };
filter f_filter1 { facility(kern); };
filter f_filter2 { level(info) and
not (facility(mail)
or facility(authpriv) or facility(cron)); };
filter f_filter3 { facility(authpriv); };
filter f_filter4 { facility(mail); };
filter f_filter5 { level(emerg); };
filter f_filter6 { facility(uucp) or
(facility(news) and level(crit)); };
filter f_filter7 { facility(local7); };
filter f_filter8 { facility(cron); };
destination log_remote_tcp {
# file("/var/log/remote_tcp/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
# create_dirs(yes) frac_digits(3)
# template("$ISODATE $PROGRAM $MSGONLY\n")
# template_escape(no)
file("/var/log/HOSTS/$HOST/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY"
owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes));
};
log {
source(s_sys);
destination(log_remote_tcp);
};
destination log_remote {
file("/var/log/remote/$HOST_FROM/$YEAR-$MONTH/messages-$YEAR-$MONTH-$DAY"
create_dirs(yes) frac_digits(3)
template("$ISODATE $PROGRAM $MSGONLY\n")
template_escape(no)
);
};
log {
source(s_sys);
destination(log_remote);
};
#log { source(s_sys); filter(f_filter1); destination(d_cons); };
log { source(s_sys); filter(f_filter2); destination(d_mesg); };
log { source(s_sys); filter(f_filter3); destination(d_auth); };
log { source(s_sys); filter(f_filter4); destination(d_mail); };
log { source(s_sys); filter(f_filter5); destination(d_mlal); };
log { source(s_sys); filter(f_filter6); destination(d_spol); };
log { source(s_sys); filter(f_filter7); destination(d_boot); };
log { source(s_sys); filter(f_filter8); destination(d_cron); };