docker-compose
version: '3.1'
services:
es1:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
container_name: es1
ports:
- "9200:9200"
- "9300:9300"
networks:
- es-cluster
volumes:
- /data/yymagicer/es/data01:/usr/share/elasticsearch/data
environment:
- node.name=es1
- discovery.seed_hosts=es1
- cluster.initial_master_nodes=es1
- cluster.name=es-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
es2:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
container_name: es2
networks:
- es-cluster
environment:
- node.name=es2
- discovery.seed_hosts=es1
- cluster.initial_master_nodes=es1
- cluster.name=es-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- /data/yymagicer/es/data02:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
es3:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0
container_name: es3
networks:
- es-cluster
environment:
- node.name=es3
- discovery.seed_hosts=es1
- cluster.initial_master_nodes=es1
- cluster.name=es-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
volumes:
- /data/yymagicer/es/data03:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
kibana:
image: docker.elastic.co/kibana/kibana:7.12.0
container_name: kibana
#environment:
#- I18N_LOCALE=zh-CN #汉化
ports:
- "5601:5601"
links:
- es1:elasticsearch
depends_on:
- es1
- es2
- es3
networks:
- es-cluster
logstash:
image: docker.elastic.co/logstash/logstash:7.3.0
container_name: logstash
volumes:
- /home/deepblue/yymagicer/config/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- /home/deepblue/yymagicer/config/logstash/pipeline:/usr/share/logstash/pipeline
ports:
- 5044:5044
environment:
LS_JAVA_OPTS: "-Xmx256m -Xms256m"
networks:
- es-cluster
depends_on:
- es1
- es2
- es3
networks:
es-cluster:
driver: bridge
logstash/config/logstash.yml
http.host: "0.0.0.0"
logstash/pipeline/logstash.conf
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 5044
codec => json_lines
}
}
output {
##正对不同的项目,生成不同index
if "ai-video-monitor" in [appname]{
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "ai-video-monitor-%{+yyyy.MM.dd}"
}
}
}