文档地址:

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-s3.html

说明

S3 input插件将读取指定的S3中符合配置的每个文件的内容,并将文件中的每一行转换为一个message,后续可以利用filter对message进行处理。在读取了S3上的文件后,S3 input会在./data/plugins/inputs/s3/中建立文件并记录目前已经读取文件的最后上传时间。该文件即标记了logstash读取文件的进度。删除该文件将导致logstash在启动后重新读取S3上的符合配置要求的文件内容。

插件安装

bin/logstash-plugin install logstash-input-s3

配置input,output(比如文件名叫 config/logstash.conf)

input {
    s3 {
        access_key_id => "AWS_KEY"
        secret_access_key => "AWS_SECRET"
        bucket => "YOUR_BACKET" 
        prefix => "pylog/"      #指定S3的某个目录名
	    region => "us-east-1"   # AWS 的区域,默认 "us-east-1"
        Interval => 120         #检查新文件的时间间隔,默认60s
    }
}
output {
  elasticsearch {
    hosts => ["http://192.168.112.222:9200"]
    index => "logstash-s3-input-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

启动 logstash

bin/logstash -f config/logstash.conf