SuSE(SLES)安装配置syslog-ng日志服务器,可整合splunk

Update History

2014年04月25日 - 撰写初稿

引言

在自动化部署AutoYast,自动化监控BMC Patrol两方面形成雏形后,日志的收集、管理、分析也顺势成为我们需要考虑的问题,结合自身业务系统平台特点,大多数系统基于sles_11_sp1或者sp2,对比rsyslog和syslog-ng后最终选择syslog-ng ose(open source edition)作为研究对象。以下内容中的参数解释请参阅官方文档,后续会补充有关Oracle日志写入方式,如果实力不行再考虑MySQL。


#检查版本

rpm -qa | grep syslog-ng
syslog-ng-2.0.9-27.32.1


服务端Server配置


#建立文件夹
mkdir /var/log/syslog-ng


#编辑配置文件
vi /etc/syslog-ng/syslog-ng.conf


#---------------------------- code ---------------------start

#全局变量
options { 
        sync (0);
        flush_lines(0);
        time_reopen (10);
        use_dns (no);
        use_fqdn(no);
        chain_hostnames(off);
        keep_hostname(off);
        create_dirs (yes);
        owner(root) ;
        group(root);
        perm(0640) ;
        dir_perm(0750) ;
};

source src
{        
        # message generated by Syslog-NG
        #internal();
        # standard Linux log source (this is the default place for the syslog()
        # function to send logs to)
        #unix-stream("/dev/log");
        # messages from the kernel
        #pipe("/proc/kmsg"); 
        # remote port
        tcp(ip(0.0.0.0) port(514));        
        #udp(ip(0.0.0.0) port(514));
};

#定义日志过滤规则
#filter f_filter1 { level(info)};

#定义日志写入模板
#template t_filetemplate {template("${ISODATE} ${HOST} ${MSG}\n"); template_escape(no); };
template t_filetemplate {template("${MSG}\n"); template_escape(no); };
           
#定义客户端日志在服务器上保存的格式,位置和权限等 
destination d_mesg { file("/var/log/syslog-ng/$YEAR$MONTH$DAY/$HOST/messages",perm(0777),template(t_filetemplate)); };

#输出自定义消息路径
log { source(src); destination(d_mesg); };
#log { source(src); filter(f_filter1); destination(d_mesg); };

#-----------------------------------------------------------

#splunk use 1999 port
destination d_splunk { tcp("127.0.0.1" port(1999) localport(999)); };
log { source(src); destination(d_splunk); };

#---------------------------- code ---------------------end

客户端Client配置

#配置客户端
#vi /etc/syslog.conf

#*.*    @loghost


vi /etc/syslog-ng/syslog-ng.conf
#添加如下:

source s_tail {file("/monitor/auditlog/osaudit.txt" follow_freq(1) flags(no-parse));};

destination d_loghost { tcp("198.15.0.205" port (514)); };

#filter f_info { level(info); };

log {source(s_tail); destination(d_loghost);};


--禁用服务重启syslog
rcapparmor stop

rcsyslog restart


#启动服务端
rcsyslog restart

整合splunk

添加syslog-ng步骤:

在Admin->Data Inputs->Network Ports上点选New Input.选择TCP 1999 port, Set Source Type选Form List,Source Type选Syslog,这样的设定就可以给Syslog-ng传log了。

修改syslog-ng步骤:

如上述code所示,如果不是付费用户,有500M索引限制,求大神帮忙Crack下


#参考文档

http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.5-guides/en/syslog-ng-ose-v3.5-guide-admin/html-single/index.html

http://www.splunk.com/download?r=header


你可能感兴趣的:(系统,OS)