blob: 3268303ce4963268e197394fc965908f55cf750e [file] [log] [blame]
# Copyright 2021 Xoriant Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
version: '3'
services:
smo-influxdb:
container_name: smo-influxdb
image: influxdb:1.8.5
ports:
- 8086:8086
networks:
- smo-net
smo-grafana:
container_name: smo-grafana
image: grafana/grafana:7.5.11
ports:
- 3000:3000
networks:
- smo-net
depends_on:
- smo-influxdb
- smo-influxdb-connector
agent-zookeeper:
container_name: agent-zookeeper
image: confluentinc/cp-zookeeper:5.5.6
networks:
- agent-net
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_TICK_TIME: 2000
agent-kafka:
container_name: agent-kafka
image: confluentinc/cp-kafka:5.5.6
networks:
- agent-net
depends_on:
- agent-zookeeper
ports:
- 9092:9092
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: agent-zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://agent-kafka:9092,PLAINTEXT_HOST://localhost:19092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
smo-zookeeper:
container_name: smo-zookeeper
image: confluentinc/cp-zookeeper:5.5.6
networks:
- smo-net
environment:
ZOOKEEPER_CLIENT_PORT: 22181
ZOOKEEPER_TICK_TIME: 2000
smo-kafka:
container_name: smo-kafka
image: confluentinc/cp-kafka:5.5.6
networks:
- smo-net
depends_on:
- smo-zookeeper
ports:
- 29092:29092
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: smo-zookeeper:22181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://smo-kafka:29092,PLAINTEXT_HOST://localhost:39092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
agent-kafdrop:
container_name: agent-kafdrop
image: obsidiandynamics/kafdrop:3.27.0
networks:
- agent-net
depends_on:
- agent-kafka
ports:
- 9000:9000
environment:
KAFKA_BROKERCONNECT: agent-kafka:9092
smo-kafdrop:
container_name: smo-kafdrop
image: obsidiandynamics/kafdrop:3.27.0
networks:
- smo-net
depends_on:
- smo-kafka
ports:
- 29000:9000
environment:
KAFKA_BROKERCONNECT: smo-kafka:29092
smo-collector:
container_name: smo-collector
build: ./collector
image: smo-collector
networks:
- agent-net
- smo-net
ports:
- 9999:9999
volumes:
- ~/ves-certificate:/opt/ves/certs
environment:
ves_influxdb_host: "smo-influxdb"
ves_influxdb_port: "8086"
ves_grafana_host: "smo-grafana"
ves_grafana_port: "3000"
data_storage: "elasticsearch"
elasticsearch_domain: "smo-elasticsearch"
kafka_host_2: "smo-kafka"
kafka_port_2: "29092"
kafka_topic: "smo-events"
ves_host: "smo-collector"
ves_port: "9999"
ves_grafana_auth: "admin:admin"
ves_user: "user"
ves_pass: "password"
ves_path: ""
ves_topic: "events"
ves_loglevel: "ERROR"
depends_on:
- smo-kafka
smo-influxdb-connector:
container_name: smo-influxdb-connector
build: ./influxdb-connector
image: smo-influxdb-connector
networks:
- smo-net
ports:
- 9990:9990
environment:
ves_influxdb_host: "smo-influxdb"
ves_influxdb_port: "8086"
ves_loglevel: "ERROR"
kafka_host_2: "smo-kafka"
kafka_port_2: "29092"
depends_on:
- smo-kafka
- smo-influxdb
agent:
container_name: agent
build: ./agent
image: agent
networks:
- agent-net
restart: always
environment:
ves_kafka_host: "agent-kafka"
ves_kafka_hostname: "agent-kafka"
ves_host: "smo-collector"
ves_port: "9999"
ves_path: ""
ves_topic: "events"
ves_https: "True"
ves_user: "user"
ves_pass: "password"
ves_interval: "10"
ves_kafka_port: "9092"
ves_mode: "./yaml/host"
ves_version: "5"
ves_loglevel: "ERROR"
depends_on:
- agent-kafka
- smo-collector
smo-dmaap-adapter:
container_name: smo-dmaap-adapter
build: ./dmaapadapter
image: smo-dmaap-adapter
networks:
- smo-net
ports:
- 5000:5000
environment:
kafka_host: "smo-kafka"
kafka_port: "29092"
log_level: "DEBUG"
smo-elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.11.1
container_name: smo-elasticsearch
restart: always
environment:
discovery.type: "single-node"
ES_JAVA_OPTS: "-Xms1024m -Xmx1024m"
ports:
- 9200:9200
- 9300:9300
networks:
- smo-net
smo-post-config:
container_name: smo-post-config
build: ./postconfig
image: smo-post-config
environment:
ves_influxdb_host: "smo-influxdb"
ves_influxdb_port: "8086"
ves_grafana_host: "smo-grafana"
ves_grafana_port: "3000"
ves_grafana_auth: "admin:admin"
depends_on:
- smo-grafana
networks:
- smo-net
networks:
agent-net:
driver: bridge
name: agent-net
smo-net:
driver: bridge
name: smo-net