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/
如下圖所示: