1、安装完毕后使用:/opt/syslog-ng/sbin/syslog-ng -e -F -d -v来检查系统是否正常
[root@station33 etc]# /opt/syslog-ng/sbin/syslog-ng -e -F -d -v
Error binding socket; addr='AF_INET(0.0.0.0:6514)', error='Address already in use (98)'
Error initializing source driver; source='s_net', id='s_net#0'
Error initializing message pipeline;
报上面错是要先报syslog-ng 给停了,再做测试
Syslog connection accepted; fd='10', client='AF_INET(192.168.2.105:35527)', local='AF_INET(0.0.0.0:6514)'
SSL error while reading stream; tls_error='SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown'
I/O error occurred while reading; fd='10', error='Connection reset by peer (104)'
Syslog connection closed; fd='10', client='AF_INET(192.168.2.105:35527)', local='AF_INET(0.0.0.0:6514)'
Closing log transport fd; fd='10'
报上面错有两种情况:1、证书有问题,请注意证书common name ,2、syslog服务器与客户机的时间不同步
2、当你又要CA认证,又想要监控网络设备时,因网络设备的syslog接口默认都是UDP (514)在这种情况下你要在syslog-ng.conf添加一个新的UDP端口
添加一个端口:(主要有下面三个步骤
一、添加源端口( 源后面的端口命名可自行定义,但
source s_net_udp {
udp(port(514));
};
二、定义一下目标(包括日志存储目录,此久还可以定义文件的属性
destination d_udp { file("/home/syslog/net/$SOURCEIP/messages.$R_YEAR-$R_MONTH-$R_DAY" log_fifo_size(360000) perm(0644) dir_perm(0755)); };
三、日志的过滤及对应关系统表
log { source(s_net_udp); destination(d_udp); };
3、如果机器过多,可能生成的日志比较大,这样我们就要做一个脚本放入定时任务来做相关处理
脚本信息如下:
#!/usr/bin/perl -w
use File::Copy;
use File::Find;
use POSIX qw(strftime);
my %directories;
$deltime=90*24*3600;
if( ! -d "/home/syslogbackup/"){
mkdir "/home/syslogbackup/";
}
find( \&filehandler, "/home/syslog/" );
sub filehandler {
my $file=$File::Find::name;
my $sfile=$_;
my $path=$File::Find::dir;
print "$file $path $sfile\n";
return unless -f $file;
######################################################### mv admin.log old > 7 to backup and gzip file and del old > 30 day file
my $mtime=(stat($file))[9];
$smtime=strftime("%y%m%d %H:%M",localtime($mtime));
$del=time -$mtime;
if ($del > $deltime){
unlink $file;
print "$del > $deltime ";
print "mtime $smtime deltime $file\n";
}
if(-f $file ){
if ($del > 90*24*3600){
unlink $file;
}
if ($del > 7*24*3600){
$path=~ s/syslog/syslogbackup/g;
if( ! -d $path){
mkdir($path);
}
rename("$file", "$path/$sfile");
if($file !~ /gz/){
`gzip -9 "$path/$sfile"`;
}
}}
######################################################### mv session.log old > 2 to backup and gzip file and del old > 30 day file
##############################################################
}