I want to setup three containers, one for logstash, one for elasticsearch and one for kibana. The last two are fine as the are but I need to configure the first one so it has and uses http input plungin and then to work with the CSV I'm going to pass it.
So far I've tried this, it runs but I think that it's not using the configurarion I tell it
version: '3.3'
services:
logstash:
image: docker.elastic.co/logstash/logstash:6.7.0
# configs:
# - source: logstash_config
# target: /etc/logstash/conf.d/logstash.conf
# command: bash -c "logstash -f /etc/logstash/conf.d/logstash.conf && bin/logstash-plugin install logstash-input-http"
command: bash -c 'bin/logstash -e "input { http { } } output { stdout { codec => rubydebug} }" && bin/logstash-plugin install logstash-input-http'
links:
- elasticsearch
ports:
- 5044:5044
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.7.0
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
kibana:
image: docker.elastic.co/kibana/kibana:6.7.0
ports:
- "5601:5601"
configs:
logstash_config:
file: ./configs/logstash.conf
volumes:
esdata1:
driver: local
The configuration so far is (It still does not have the csv part)
input {
http {
port => 8080
ssl => off
}
}
output {
elasticsearch {
hosts => "127.0.0.1"
codec => "json"
index => "logstash-%{+YYYY.MM.dd}"
}
}
Any idea on how to make logstash use the http input plugin with docker compose???
Thanks in advance.