Enable autocreation topic in kafka for POL and MON
[osm/devops.git] / installers / docker / docker-compose.yaml
index c325776..950946a 100644 (file)
@@ -40,10 +40,15 @@ services:
     networks:
       - netOSM
     healthcheck:
-      test: echo stat | nc localhost 2181
-      interval: 10s
+      test: echo ruok | nc -w 2 localhost 2181
+      interval: 20s
       timeout: 10s
-      retries: 3
+      retries: 5
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   kafka:
     image: wurstmeister/kafka:${KAFKA_TAG:-latest}
     ports:
@@ -55,13 +60,23 @@ services:
       KAFKA_ADVERTISED_PORT: 9092
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_LOG_RETENTION_HOURS: 24
+      KAFKA_BROKER_ID: 1
+      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
+      KAFKA_LISTENERS: PLAINTEXT://:9092
+      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
+      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
     volumes:
       - /var/run/docker.sock:/var/run/docker.sock
     healthcheck:
-      test: zookeeper-shell.sh zookeeper:2181 ls /brokers/ids 2>&1 | grep "Node does not exist" && exit 1 || exit 0
+      test: echo ruok | nc -w 2 zookeeper 2181
       interval: 20s
       timeout: 10s
       retries: 5
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - zookeeper
   mongo:
@@ -78,12 +93,32 @@ services:
     ports:
       - "${OSM_PROM_PORTS:-9091:9090}"
     volumes:
-      - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
+      - ./prometheus/:/etc/prometheus/
       - prom_db:/prometheus
+    command:
+      - '--config.file=/etc/prometheus/prometheus.yml'
+      - '--web.enable-lifecycle'
+    networks:
+      - netOSM
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
+  prometheus-cadvisor:
+    image: google/cadvisor:${PROMETHEUS_CADVISOR_TAG:-latest}
+    ports:
+      - "${OSM_PROM_CADVISOR_PORTS:-8080:8080}"
+    volumes:
+      - /:/rootfs:ro
+      - /var/run:/var/run:ro
+      - /sys:/sys:ro
+      - /var/lib/docker/:/var/lib/docker:ro
+      - /dev/disk/:/dev/disk:ro
     networks:
       - netOSM
   keystone:
-    image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/keystone:${TAG:-7}
     networks:
       - netOSM
     environment:
@@ -92,8 +127,13 @@ services:
       - ./keystone.env
     ports:
       - "${OSM_KEYSTONE_PORTS:-5000:5000}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   nbi:
-    image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/nbi:${TAG:-7}
     networks:
       - netOSM
     volumes:
@@ -105,11 +145,16 @@ services:
       - ./nbi.env
     ports:
       - "${OSM_NBI_PORTS:-9999:9999}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - kafka
     #  - mongo
   lcm:
-    image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/lcm:${TAG:-7}
     networks:
       - netOSM
     volumes:
@@ -120,6 +165,11 @@ services:
       OSMLCM_MESSAGE_HOST: kafka
     env_file:
       - ./lcm.env
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
     #depends_on:
     #  - kafka
     #  - mongo
@@ -134,10 +184,15 @@ services:
       - ro_db:/var/lib/mysql
     env_file:
       - ./ro-db.env
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
 #    ports:
 #      - "3306:3306"
   ro:
-    image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/ro:${TAG:-7}
     networks:
       - netOSM
     environment:
@@ -150,8 +205,13 @@ services:
       - ro:/var/log/osm
     ports:
       - "${OSM_RO_PORTS:-9090:9090}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
   mon:
-    image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/mon:${TAG:-7}
     networks:
       - netOSM
     volumes:
@@ -171,7 +231,7 @@ services:
             max-file: 5
             max-size: 10m
   pol:
-    image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/pol:${TAG:-7}
     networks:
       - netOSM
     volumes:
@@ -190,7 +250,7 @@ services:
         max-file: 5
         max-size: 10m
   light-ui:
-    image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-6}
+    image: ${DOCKER_USER:-opensourcemano}/light-ui:${TAG:-7}
     networks:
       - netOSM
     environment:
@@ -201,3 +261,26 @@ services:
       - ./lwui.env
     ports:
       - "${OSM_UI_PORTS:-80:80}"
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
+  grafana:
+    image: grafana/grafana
+    volumes:
+      - ./grafana/dashboards-osm.yml:/etc/grafana/provisioning/dashboards/dashboards-osm.yml
+      - ./grafana/osm-sample-dashboard.json:/etc/grafana/provisioning/dashboards/osm-sample-dashboard.json
+      - ./grafana/osm-system-dashboard.json:/etc/grafana/provisioning/dashboards/osm-system-dashboard.json
+      - ./grafana/datasource-prometheus.yml:/etc/grafana/provisioning/datasources/datasource-prometheus.yml
+    hostname: grafana
+    ports:
+      - "${OSM_GRAFANA_PORTS:-3000:3000}"
+    networks:
+      - netOSM
+    logging:
+      driver: "json-file"
+      options:
+        max-size: "100m"
+        max-file: "2"
+