我正在尝试设置docker的redis + ELK堆栈。我希望使用redis来接受来自远程位置的日志并将它们转发到logstash。redis + elk stack docker-compose
这里是我的搬运工,compose.yml
elasticsearch:
image: elasticsearch:latest
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9200:9200"
- "9300:9300"
volumes:
- /root/ebs:/usr/share/elasticsearch/data
logstash:
build: logstash/
command: logstash -f /etc/logstash/conf.d/logstash.conf
volumes:
- ./logstash/config:/etc/logstash/conf.d
ports:
- "5000:5000"
links:
- elasticsearch
kibana:
build: kibana/
volumes:
- ./kibana/config/:/opt/kibana/config/
ports:
- "5601:5601"
links:
- elasticsearch
redis:
image: redis:latest
ports:
- "6379:6379"
links:
- logstash
这里是我的logstash.conf
input {
tcp {
port => 5000
}
redis {
host => "redis:6379"
}
}
output {
elasticsearch {
hosts => "elasticsearch:9200"
}
}
我logstash容器抛出这个错误:
logstash_1 | {:timestamp=>"2016-10-06T09:21:35.258000+0000", :message=>"An unexpected error occurred!", :error=>#<NoMethodError: undefined method `call' for nil:NilClass>, :class=>"NoMethodError",
该设置是否在Docker之外工作?这真的是一个容器问题或应用程序中的问题吗?另外,你已经尝试过了什么?错误何时发生?你想做什么?很难用你提供的信息进行调试 –
我还没有试过Docker以外的设置。这真的很简单,我错过了一些愚蠢的东西。你如何使用redis和logstash? –