Skip to content

Instantly share code, notes, and snippets.

@MTN-RowinAndruscavage
Created February 12, 2019 05:33
Show Gist options
  • Select an option

  • Save MTN-RowinAndruscavage/598d6c9aaed21edbe6e360e391165edb to your computer and use it in GitHub Desktop.

Select an option

Save MTN-RowinAndruscavage/598d6c9aaed21edbe6e360e391165edb to your computer and use it in GitHub Desktop.
version: '3.3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
ports:
- target: 9200
published: 9200
protocol: tcp
mode: host
- target: 9300
published: 9300
protocol: tcp
mode: host
volumes:
- /app/elasticsearch/data:/usr/share/elasticsearch/data
configs:
- source: elastic_config_1
target: /usr/share/elasticsearch/config/elasticsearch.yml
environment:
ES_JAVA_OPTS: "-Xmx31g -Xms31g"
discovery.zen.ping.unicast.hosts: X.X.X.X,X.X.X.Y
networks:
- elk
deploy:
mode: global
placement:
constraints:
- node.labels.elasticsearch == true
logstash:
image: docker.elastic.co/logstash/logstash-oss:6.4.2
ports:
- "5000:5000"
- "9600:9600"
- target: 9080
published: 9080
protocol: tcp
mode: host
configs:
- source: logstash_config_2
target: /usr/share/logstash/config/logstash.yml
- source: logstash_pipeline_2
target: /usr/share/logstash/pipeline/logstash.conf
environment:
LS_JAVA_OPTS: >-
-Xmx4g -Xms1g
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=9080
-Dcom.sun.management.jmxremote.rmi.port=9080
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=X.X.X.X
networks:
- elk
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.labels.logstash == true
kibana:
image: docker.elastic.co/kibana/kibana-oss:6.4.2
ports:
- "5601:5601"
configs:
- source: kibana_config
target: /usr/share/kibana/config/kibana.yml
networks:
- elk
deploy:
mode: replicated
replicas: 1
nginx:
image: nginx
ports:
- "80:80"
configs:
- source: nginx_config_4
target: /etc/nginx/conf.d/default.conf
- source: nginx_htpasswd_2
target: /etc/nginx/htpasswd.users
networks:
- elk
deploy:
mode: replicated
replicas: 1
grafana:
image: grafana/grafana:5.3.2
ports:
- "3000:3000"
user: "472"
networks:
- elk
volumes:
- /app/grafana:/var/lib/grafana
environment:
GF_SECURITY_ADMIN_PASSWORD: secret
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.labels.grafana == true
cerebro:
image: lmenezes/cerebro
ports:
- "9000:9000"
networks:
- elk
deploy:
mode: replicated
replicas: 1
configs:
elastic_configi_1:
file: ./elasticsearch/config/elasticsearch.yml
logstash_config_2:
file: ./logstash/config/logstash.yml
logstash_pipeline_2:
file: ./logstash/pipeline/logstash.conf
kibana_config:
file: ./kibana/config/kibana.yml
nginx_config_4:
file: ./nginx/config/nginx.conf
nginx_htpasswd_2:
file: ./nginx/config/htpasswd.users
networks:
elk:
driver: overlay
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment