logstash结合rsyslog,收集系统日志

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,这样,它就用514port监听。

当然,这和我们这里logstash没有什么必定的关系。

以下讲logstash的配置:

非常easy,配置文件的input增加syslog:

syslog{

   port = "5514"

}

logstash是配置好了,但rsyslog怎么知道要发给你呢?也非常easy,在/etc/rsyslog.conf中增加例如以下一行:

*.*  @@ip:5514


注意,@@和前面的*,要用Tab分隔。

Ok。

假设你想检验的话。在shell中输入例如以下命令:

logger "Hello world!"

logstash能接收到就表示Ok了。


 

原文地址:https://www.cnblogs.com/blfbuaa/p/6691519.html