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了。