filebeat跨服务器传输至logstash

背景:

一般ELK都是一台单独服务器部署运行,而应用一般部署在另一台服务器,这个时候就需要跨服务器来传输日志,楼主目前采用的是filebeat进行跨服务器传输

1.配置logstash文件

cd /usr/local/elk/logstash-6.4.0/bin    进入bin目录

 vi logstash1.conf ,写入内容

type为loacl代表本地日志,remote代表其他服务器日志,现在设置一个5000的端口来监听接受来自其他服务器的日志

input {
    file {
        path => "/opt/logs/*.log"
        start_position => "beginning"
		type => "local"
    }
}
input{
    beats {
        port => 5000
		type => "remote"
    }
}
filter {
 
}
output {
	if "local" == [type]{
		elasticsearch {
			index => "local_log"
			hosts => "localhost:9200"
		}
	}
    if "remote" == [type]{
		elasticsearch {
			index => "remote_log"
			hosts => "localhost:9200"
		}
	}
 
}

启动logstash:sh logstash -f logstash1.conf  &

2.部署filebeat并启动

以下是下载路径:

https://www.elastic.co/downloads/beats/filebeat

下载完后,解压,进入文件夹,修改filebeat.yml文件

filebeat跨服务器传输至logstash_第1张图片

 

filebeat跨服务器传输至logstash_第2张图片

filebeat跨服务器传输至logstash_第3张图片

保存,启动服务

./filebeat -e -c filebeat.yml &

往远程服务器以及本地服务器各放置log文件

本地:

filebeat跨服务器传输至logstash_第4张图片

远程:

filebeat跨服务器传输至logstash_第5张图片

最后,kibana显示如下:

filebeat跨服务器传输至logstash_第6张图片

你可能感兴趣的:(ELK)