今天北京网络工程师给我一个需求,要搭建一个syslog服务,并且接受远程路由器的日志,后来google一下发现用syslog-ng搭建比较方便,搭建还是很简单,参考 。
wget Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum --enablerepo=epel install syslog-ng eventlog syslog-ng-libdbi
[root@logsys0 data]# chkconfig rsyslog off; chkconfig syslog-ng on[root@logsys0 data]# service rsyslog stop;service syslog-ng start
关闭系统日志记录器: [确定]
启动 syslog-ng: [确定]
#重新加载配置:service syslog-ng reload
由于我得server在内网,所以就把selinux 和iptables 都关闭了。关键的问题来了,下面是如何监控远程路由器的日志,网络工程师已经告诉我,他已经在router上将日志指向我得server了,以前从来没配置过,貌似国内的没有几个配置成功的文章,参考这篇文章教给你如何收取远程cisco router的日志 。
首先你要在文件/etc/sysconfig/syslog-ng 里机上下面两行
SYSLOGD_PARAMS="-r"
SYSLOG_DAEMON="syslog-ng"
第一行是让syslog-ng作为一个日志服务器
第二行是让syslog-ng作为默认的日志服务
接下来是配置/etc/syslog-ng/syslog-ng.conf文件
保留原来的配置,在下面加上一下语句
source s_udp {
udp();
};
destination df_udp {
file("/var/log/syslog/logs");
};
log {
source(s_udp);
destination(df_udp);
};
然后 service syslog-ng restart, netstat -lntup|grep 514,查看一下syslog-ng有没有在监听,如果有,这时候就可以通知网络管理员在路由器运行 logging ip addr,这里的ip addr 是我syslog server的ip地址,这时候tailf /var/log/syslog/logs 就可以看到远程的数据了。
Syslog-ng 的详细介绍:请点这里
Syslog-ng 的下载地址:请点这里
相关阅读:
CentOS 5.8搭建日志管理服务器(Syslog-ng+logzilla)
关于Linux中 Syslog-ng 如何在转发时修改其facility以及level