如何使用Logstash从S3解析数据并推送到Elastic Search,然后推送到Kibana

时间:2015-05-13 14:53:00

标签: elasticsearch amazon-s3 logstash kibana

我每分钟都在S3存储桶中创建一个日志文件。 数据以“\ x01”分隔。其中一列是时间戳字段。

我想将这些数据加载到弹性搜索中。

我尝试使用以下logstash conf。但它似乎没有用。我没有看到任何输出。我从http://brewhouse.io/blog/2014/11/04/big-data-with-elk-stack.html

中获得了一些参考

Logstash配置文件如下:

input {
  s3 {
    bucket => "mybucketname"
    credentials => [ "accesskey", "secretkey" ]
  }
}
filter {
  csv {
   columns => [ "col1", "col2", "@timestamp" ]
   separator => "\x01"
  }
}
output {
  stdout { } 
}

如何修改此文件以接收每分钟发布的新文件?

然后我最终想要将Kibana连接到ES以显示更改。

1 个答案:

答案 0 :(得分:0)

只需使用logstash-forwarder从S3发送文件,您就必须生成授权证书。

有一个非常好的教程:https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-logs-on-centos-7

如果你遇到I / O错误,你可以通过设置cluster来解决它们:

在logstash.conf中:

output {
    elasticsearch {
        host => "127.0.0.1"
        cluster => CLUSTER_NAME
    }

在elasticsearch.yml里面:

cluster.name: CLUSTER_NAME

如果您在生成证书时遇到问题,可以使用以下方法生成它们: https://raw.githubusercontent.com/driskell/log-courier/develop/src/lc-tlscert/lc-tlscert.go

我还在CentOS上找到了更好的init.d for logstash-forwarder: http://smuth.me/posts/centos-6-logstash-forwarder-init-script.html