version: "3.7" services: # Generate traffic by hitting http://localhost:8081 frontend: container_name: frontend image: openzipkin/example-sleuth-webmvc command: frontend environment: JAVA_OPTS: -Dspring.zipkin.baseUrl=http://otel-collector:9411 ports: - 8081:8081 networks: - my_network depends_on: - backend - zipkin # Serves the /api endpoint the frontend uses backend: container_name: backend image: openzipkin/example-sleuth-webmvc command: backend environment: JAVA_OPTS: -Dspring.zipkin.baseUrl=http://otel-collector:9411 ports: - 9000:9000 networks: - my_network depends_on: - zipkin zipkin: image: openzipkin/zipkin:latest container_name: zipkin ports: - 9411:9411 networks: - my_network data-prepper: restart: unless-stopped container_name: data-prepper image: opensearchproject/data-prepper:2 volumes: - ../trace_analytics_no_ssl_2x.yml:/usr/share/data-prepper/pipelines/pipelines.yaml - ../data-prepper-config.yaml:/usr/share/data-prepper/config/data-prepper-config.yaml - ../demo/root-ca.pem:/usr/share/data-prepper/root-ca.pem ports: - "21890:21890" networks: - my_network depends_on: - opensearch otel-collector: container_name: otel-collector image: otel/opentelemetry-collector:0.64.1 command: [ "--config=/etc/otel-collector-config.yml" ] working_dir: "/project" volumes: - ${PWD}/:/project - ./otel-collector-config.yml:/etc/otel-collector-config.yml ports: - "9411" # Zipkin receiver networks: - my_network depends_on: - zipkin - data-prepper opensearch: container_name: node-0.example.com image: opensearchproject/opensearch:2 environment: - discovery.type=single-node - bootstrap.memory_lock=true # along with the memlock settings below, disables swapping - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 # maximum number of open files for the OpenSearch user, set to at least 65536 on modern systems hard: 65536 ports: - 9200:9200 - 9600:9600 # required for Performance Analyzer networks: - my_network dashboards: image: opensearchproject/opensearch-dashboards:2 container_name: opensearch-dashboards ports: - 5601:5601 expose: - "5601" environment: OPENSEARCH_HOSTS: '["https://node-0.example.com:9200"]' depends_on: - opensearch networks: - my_network networks: my_network: