From 108d2e32471e9ae7cb56ea051940b7a987a2df23 Mon Sep 17 00:00:00 2001
From: Bernhard Mallinger <bernhard.mallinger@eox.at>
Date: Wed, 2 Sep 2020 15:18:01 +0200
Subject: [PATCH] Add configuration for logging which works in swarm
 environments

---
 docker-compose.efk.dev.yml      |  53 +++++++++++++
 docker-compose.efk.yml          | 133 --------------------------------
 docker-compose.logging-test.yml |  21 +++++
 docker-compose.vhr18.yml        |  43 -----------
 4 files changed, 74 insertions(+), 176 deletions(-)
 create mode 100644 docker-compose.efk.dev.yml
 delete mode 100644 docker-compose.efk.yml
 create mode 100644 docker-compose.logging-test.yml

diff --git a/docker-compose.efk.dev.yml b/docker-compose.efk.dev.yml
new file mode 100644
index 00000000..c6cba0ff
--- /dev/null
+++ b/docker-compose.efk.dev.yml
@@ -0,0 +1,53 @@
+version: "3.6"
+services:
+  fluentd:
+    image: registry.gitlab.eox.at/esa/prism/vs/fluentd:0.0.0-test
+    configs:
+      - source: fluentd-conf
+        target: /fluentd/etc/fluent.conf
+    ports:
+      - "24224:24224"
+      - "24224:24224/udp"
+    networks:
+      - intnet
+    deploy:
+      # fluentd doesn't need to be deployed globally, but it might be a good
+      # default to have it everywhere
+      mode: global
+  elasticsearch:
+    image: elasticsearch:7.9.0
+    ports:
+      - "9200:9200"
+    networks:
+      - intnet
+    environment:
+      - bootstrap.memory_lock=true
+      - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
+      - "discovery.type=single-node"
+    deploy:
+      replicas: 1
+      placement:
+        constraints: [node.role == manager]
+      resources:
+        limits:
+          memory: 500M
+    volumes:
+      - es-data:/usr/share/elasticsearch/data
+  kibana:
+    image: kibana:7.9.0
+    ports:
+      - "5601:5601"
+    networks:
+      - intnet
+    deploy:
+      mode: replicated
+      replicas: 1
+      placement:
+        constraints: [node.role == manager]
+configs:
+  fluentd-conf:
+    file: ./fluentd/conf/fluent.conf
+volumes:
+  es-data:
+networks:
+  intnet:
diff --git a/docker-compose.efk.yml b/docker-compose.efk.yml
deleted file mode 100644
index 6ee6324a..00000000
--- a/docker-compose.efk.yml
+++ /dev/null
@@ -1,133 +0,0 @@
-version: "3.6"
-
-services:
-  whoami:
-    image: tutum/hello-world
-    networks:
-      - net
-    ports:
-      - "8888:80"
-    logging:
-      driver: "fluentd"# Logging Driver
-      options:
-        tag: tutum    # TAG 
-    deploy:
-      restart_policy:
-           condition: on-failure
-           delay: 20s
-           max_attempts: 3
-           window: 120s
-      mode: replicated
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-      update_config:
-        delay: 2s
- 
-  vizualizer:
-      image: dockersamples/visualizer
-      volumes:
-         - /var/run/docker.sock:/var/run/docker.sock
-      ports:
-        - "8080:8080"
-      networks:
-        - net
-      logging:
-        driver: "fluentd"
-        options:
-         tag: visualizer   #TAG 
-      deploy:
-          restart_policy:
-             condition: on-failure
-             delay: 20s
-             max_attempts: 3
-             window: 120s
-          mode: replicated # one container per manager node
-          replicas: 1
-          update_config:
-            delay: 2s
-          placement:
-             constraints: [node.role == manager]
- 
-        
-  fluentd:
-    image: fluentd-bm:1
-    volumes:
-      - ./fluentd/conf:/fluentd/etc
-    ports:
-      - "24224:24224"
-      - "24224:24224/udp"
-    networks:
-      - net
-    deploy:
-      restart_policy:
-           condition: on-failure
-           delay: 20s
-           max_attempts: 3
-           window: 120s
-      mode: replicated
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-      update_config:
-        delay: 2s
- 
-  elasticsearch:
-    image: elasticsearch:7.9.0
-    ports:
-      - "9200:9200"
-    networks:
-      - net
-    environment:
-      - bootstrap.memory_lock=true
-      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
-      - "discovery.type=single-node"
-    logging:
-        driver: "json-file"
-        options:
-          max-size: 10M
-          max-file: 1  
-    deploy:
-      restart_policy:
-        condition: on-failure
-        delay: 20s
-        max_attempts: 3
-        window: 120s
-      mode: replicated
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-      update_config:
-        delay: 2s
-      resources:
-        limits:
-          memory: 1000M
-    volumes:
-      - ./esdata:/usr/share/elasticsearch/data    
-      
-  kibana:
-    image: kibana:7.9.0
-    ports:
-      - "5601:5601"
-    networks:
-      - net
-    logging:
-        driver: "json-file"
-        options:
-           max-size: 10M
-           max-file: 1        
-    deploy:
-      restart_policy:
-        condition: on-failure
-        delay: 20s
-        max_attempts: 3
-        window: 120s
-      mode: replicated
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-      update_config:
-        delay: 2s  
- 
-networks:
-  net:
diff --git a/docker-compose.logging-test.yml b/docker-compose.logging-test.yml
new file mode 100644
index 00000000..7e96ad1b
--- /dev/null
+++ b/docker-compose.logging-test.yml
@@ -0,0 +1,21 @@
+version: "3.6"
+
+services:
+  whoami:
+    image: tutum/hello-world
+    ports:
+      - "8888:80"
+    logging:
+      driver: "fluentd"# Logging Driver
+      options:
+        tag: tutum    # TAG 
+    deploy:
+      restart_policy:
+           condition: on-failure
+           delay: 20s
+           max_attempts: 3
+           window: 120s
+      mode: replicated
+      replicas: 2
+      update_config:
+        delay: 2s
diff --git a/docker-compose.vhr18.yml b/docker-compose.vhr18.yml
index 4260afe3..8ef23b77 100644
--- a/docker-compose.vhr18.yml
+++ b/docker-compose.vhr18.yml
@@ -167,49 +167,6 @@ services:
     image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:latest
     deploy:
       replicas: 1
-  fluentd:
-    image: fluentd-bm:2
-    volumes:
-      - ./fluentd/conf:/fluentd/etc
-    ports:
-      - "24224:24224"
-      - "24224:24224/udp"
-    networks:
-      - intnet
-    deploy:
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-  elasticsearch:
-    image: elasticsearch:7.9.0
-    ports:
-      - "9200:9200"
-    networks:
-      - intnet
-    environment:
-      - bootstrap.memory_lock=true
-      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
-      - "discovery.type=single-node"
-    deploy:
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
-      resources:
-        limits:
-          memory: 1000M
-    volumes:
-      - ./esdata:/usr/share/elasticsearch/data
-  kibana:
-    image: kibana:7.9.0
-    ports:
-      - "5601:5601"
-    networks:
-      - intnet
-    deploy:
-      mode: replicated
-      replicas: 1
-      placement:
-        constraints: [node.role == manager]
 configs:
   init-db:
     file: ./config/vhr18_init-db.sh
-- 
GitLab