我正在嘗試設置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? –