我每分钟都在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以显示更改。
答案 0 :(得分:0)
只需使用logstash-forwarder从S3发送文件,您就必须生成授权证书。
如果你遇到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