Updated ELK setup

Project: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-senssoft/commit/f30bf2af
Tree: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/tree/f30bf2af
Diff: http://git-wip-us.apache.org/repos/asf/incubator-senssoft/diff/f30bf2af

Branch: refs/heads/asf-site
Commit: f30bf2af22190ce7edd969aa8d33432ff6fc81a8
Parents: b999347
Author: msb3399 <mbe...@draper.com>
Authored: Wed Jul 12 23:31:19 2017 -0400
Committer: msb3399 <mbe...@draper.com>
Committed: Wed Jul 12 23:31:19 2017 -0400

----------------------------------------------------------------------
 docker/docker-compose.yml                    | 131 +++++++++++++++-------
 docker/logstash/Dockerfile                   |   9 +-
 docker/logstash/config/logstash-userale.conf |   4 +-
 docker/startup/entrypoint.sh                 |   3 +-
 4 files changed, 97 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/f30bf2af/docker/docker-compose.yml
----------------------------------------------------------------------
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index d0d0357..9dc69b7 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -23,8 +23,8 @@ services:
     build: ./startup
     container_name: senssoft-start
     depends_on:
-      - "elasticsearch"
-      - "userale-forwarder"
+      - "elasticsearch1"
+      - "elasticsearch2"
     command: bash /opt/entrypoint.sh
 
   # Site
@@ -33,33 +33,72 @@ services:
     container_name: senssoft-app
     ports:
       - 8080:8080
+    depends_on:
+      - "userale-forwarder"
     command: python -m SimpleHTTPServer 8080
+    networks:
+      - esnet
 
   # ELK Stack
-  elasticsearch:
-    image: docker.elastic.co/elasticsearch/elasticsearch:5.4.0
-    container_name: senssoft-elastic
+
+  # The node elasticsearch1 listens on localhost:9200 while elasticsearch2 
+  # talks to elasticsearch1 over a Docker network.
+  elasticsearch1:
+    image: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
+    container_name: senssoft-elastic-1
+    environment:
+      - cluster.name=SensSoft
+      - node.name=soft-01
+      - bootstrap.memory_lock=true
+      - xpack.security.enabled=false
+      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+    ulimits:
+      memlock:
+        soft: -1
+        hard: -1
+    mem_limit: 1g
+    volumes:
+      - esdata1:/usr/share/elasticsearch/data
     ports:
       - 9200:9200
-      - 9300:9300
-    volumes:
-      - ./es/data:/usr/share/elasticsearch/data
-      - ./es/logs:/usr/share/elasticsearch/logs
-      - 
./es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
+    networks:
+      - esnet
+
+  elasticsearch2:
+    image: docker.elastic.co/elasticsearch/elasticsearch:5.5.0
+    container_name: senssoft-elastic-2
     environment:
-      ES_JAVA_OPTS: "-Xms4g -Xmx4g"
+      - cluster.name=SensSoft
+      - node.name=soft-02
+      - bootstrap.memory_lock=true
+      - xpack.security.enabled=false
+      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+      - "discovery.zen.ping.unicast.hosts=elasticsearch1"
+    ulimits:
+      memlock:
+        soft: -1
+        hard: -1
+    mem_limit: 1g
+    volumes:
+      - esdata2:/usr/share/elasticsearch/data
+    networks:
+      - esnet
 
   # Kibana
   kibana:
-    image: docker.elastic.co/kibana/kibana:5.4.0
+    image: docker.elastic.co/kibana/kibana:5.5.0
     container_name: senssoft-kibana
     ports:
       - 5601:5601
     depends_on:
-      - "elasticsearch"
+      - "elasticsearch1"
+      - "elasticsearch2"
       - "startup"
     environment:
-      XPACK_SECURITY_ENABLED: "false"
+      XPACK_MONITORING_ENABLED: "false"
+      ELASTICSEARCH_URL: http://elasticsearch1:9200
+    networks:
+      - esnet
 
   # Logstash
   userale-forwarder:
@@ -72,34 +111,46 @@ services:
       - 
./logstash/config/logstash-userale.conf:/etc/logstash/conf.d/logstash-userale.conf
       - 
./logstash/templates/userale.json:/usr/share/logstash/templates/userale.json
     depends_on:
-      - "elasticsearch"
+      - "elasticsearch1"
+      - "elasticsearch2"
     environment:
-      LS_HEAP_SIZE: "2048m"
       XPACK_MONITORING_ENABLED: "false"
+    networks:
+      - esnet
 
-  distill:
-    build: ./distill
-    container_name: distill
-    ports:
-      - 8090:8090
-    depends_on:
-      - elasticsearch
-    links:
-      - elasticsearch
+volumes:
+  esdata1:
+    driver: local
+  esdata2:
+    driver: local
 
-  db:
-    container_name: tap-db
-    build: ./db
-    ports:
-      - "5432:5432"
+networks:
+  esnet: 
 
-  tap:
-    container_name: tap-web
-    build: ./tap
-    command: ["bash", "./wait-for-postgres.sh"]
-    ports:
-      - "8000:8000"
-    depends_on:
-      - db
-    links:
-      - db:db
\ No newline at end of file
+
+  # distill:
+  #   build: ./distill
+  #   container_name: distill
+  #   ports:
+  #     - 8090:8090
+  #   depends_on:
+  #     - elasticsearch
+  #   links:
+  #     - elasticsearch
+
+  # db:
+  #   container_name: tap-db
+  #   build: ./db
+  #   ports:
+  #     - "5432:5432"
+
+  # tap:
+  #   container_name: tap-web
+  #   build: ./tap
+  #   command: ["bash", "./wait-for-postgres.sh"]
+  #   ports:
+  #     - "8000:8000"
+  #   depends_on:
+  #     - db
+  #   links:
+  #     - db:db

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/f30bf2af/docker/logstash/Dockerfile
----------------------------------------------------------------------
diff --git a/docker/logstash/Dockerfile b/docker/logstash/Dockerfile
index d5b8109..776f935 100644
--- a/docker/logstash/Dockerfile
+++ b/docker/logstash/Dockerfile
@@ -13,14 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM docker.elastic.co/logstash/logstash:5.4.0
+FROM docker.elastic.co/logstash/logstash:5.5.0
 MAINTAINER Michelle Beard <msbe...@apache.org>
 
-# Get GeoIP DB
-RUN set -x \
-       && wget 
http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz \
-       && gunzip GeoIP.dat.gz \
-       && mkdir -p /usr/share/logstash/GeoIP \
-       && mv GeoIP.dat /usr/share/logstash/GeoIP/GeoIP.dat
-
 RUN mkdir /usr/share/logstash/templates
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/f30bf2af/docker/logstash/config/logstash-userale.conf
----------------------------------------------------------------------
diff --git a/docker/logstash/config/logstash-userale.conf 
b/docker/logstash/config/logstash-userale.conf
index 6eb103e..77bee34 100644
--- a/docker/logstash/config/logstash-userale.conf
+++ b/docker/logstash/config/logstash-userale.conf
@@ -54,8 +54,10 @@ filter {
 output {
        # Output data to Elasticsearch instance
        elasticsearch {
-               hosts => "elasticsearch:9200"
+               hosts => "elasticsearch1:9200"
                index => "userale"
+               # user => "elastic"
+               # password => "changeme"
                document_type => "logs"
                manage_template => true
                template_overwrite => true

http://git-wip-us.apache.org/repos/asf/incubator-senssoft/blob/f30bf2af/docker/startup/entrypoint.sh
----------------------------------------------------------------------
diff --git a/docker/startup/entrypoint.sh b/docker/startup/entrypoint.sh
index 5686d9d..00953e6 100644
--- a/docker/startup/entrypoint.sh
+++ b/docker/startup/entrypoint.sh
@@ -17,4 +17,5 @@
 
 # Wait for the Elasticsearch container to be ready before starting Kibana.
 echo "Stalling for Elasticsearch"
-dockerize -wait http://elasticsearch:9200 
+dockerize -wait http://elasticsearch1:9200 
+dockerize -wait http://elasticsearch2:9200
\ No newline at end of file

Reply via email to