preface
rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志。
logstash的syslog模块
linux-node2上操作
logstash采集rsyslog发过来的日志,需要通过syslog模块来接受,这个模块的官网资料是:https://www.elastic.co/guide/en/logstash/2.3/plugins-inputs-syslog.html
下面我们就动手配置下logstash的配置文件
[root@linux-node2 ~]# cat /etc/logstash/conf.d/syslog.conf
input{
syslog {
type => "rsyslog"
port => 514
}
}
filter{
}
output{
elasticsearch {
hosts => ["192.168.141.4:9200"]
index => "rsyslog-%{+YYYY.MM}"
}
}
确认无误后,且当前服务器514端口没有被占用,因为logstash使用syslog模块后会占用514端口,所以得确保没有占用的514端口,启动logstash
[root@linux-node2 conf.d]# /opt/logstash/bin/logstash -f /etc/logstash/conf.d/syslog.conf
查看514端口是否存在
[root@linux-node2 ~]# netstat -lnpt |grep 514
tcp 0 0 :::514 :::* LISTEN 37157/java
配置rsyslog
我们切换到另一台服务器上,在linux-node1节点上操作。
配置rsyslog.conf,把日志输送到远端的logstash上,即linux-node2上的logstash
[root@linux-node1 ~]# grep 514 /etc/rsyslog.conf |grep -v ^#
*.* @@192.168.141.4:514
确认无误后,重新rsyslogd程序。
[root@linux-node1 ~]# /etc/init.d/rsyslog restart
查看logstash是否接收到了。
我们打开head模块地址查看到有我们刚才配置的索引生成。地址是http://192.168.141.3:9200/_plugin/head/
如下图所示:
然后切换到kibana上,把system-log添加进去。