rsyslog是日志收集工具,现在很多Linux都自带rsyslog,用其替换掉syslog。如何安装rsyslog就不讲了,大概讲下原理,然后讲logstash的相关配置。
rsyslog本身有一个配置文件 /etc/rsyslog.conf,里面定义了日志文件,以及相应保存的地址,以下述语句为例:
local7.* /var/log/boot.log
他表明所有以local17.开头的日志文件都记录到 /var/log/boot.log。
上面提到它是日志收集工具,体现在,不仅仅可以收集本机的日志,还可以收集其他机器的日志。那么如何让它收集呢?
去掉/ect/rsyslog.conf下面两行的注释:
#$ModLoad imudp #$UDPServerRun 514
然后启动时,添加-r,这样,它就用514端口监听。当然,这和我们这里logstash没有什么必然的关系。
下面讲logstash的配置:
很简单,配置文件的input加入syslog:
syslog{ port = "5514" }
logstash是配置好了,但rsyslog怎么知道要发给你呢?也很简单,在/etc/rsyslog.conf中加入如下一行:
*.* @@ip:5514
注意,@@和前面的*,要用Tab分隔。Ok。
如果你想检验的话,在shell中输入如下命令:
logger "Hello world!"
logstash能接收到就表示Ok了。
原文地址:http://blog.csdn.net/sdlyjzh/article/details/40855599