opcotech/elemo

View on GitHub
deploy/docker/docker-compose.monitoring.yml

Summary

Maintainability
Test Coverage
name: elemo

networks:
  default:
    name: elemo-network

services:
  otel_collector:
    image: otel/opentelemetry-collector-contrib:0.70.0
    container_name: elemo-otel-collector
    command:
      - "--config=/etc/otel-collector-config.yaml"
    volumes:
      - ./otel/collector-config.yaml:/etc/otel-collector-config.yaml
    ports:
      - "4318:4318"

  jaeger:
    image: jaegertracing/all-in-one:latest
    container_name: elemo-jaeger
    depends_on:
      otel_collector:
        condition: service_started
    ports:
      - "16686:16686"
      - "14250:14250"

  prometheus:
    image: prom/prometheus:latest
    container_name: elemo-prometheus
    command:
      - --config.file=/etc/prometheus.yaml
      - --web.enable-remote-write-receiver
      - --enable-feature=exemplar-storage
    depends_on:
      otel_collector:
        condition: service_started
    volumes:
      - ./prometheus/prometheus.yaml:/etc/prometheus.yaml
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:latest
    container_name: elemo-grafana
    depends_on:
      jaeger:
        condition: service_started
      prometheus:
        condition: service_started
    volumes:
      - ./grafana/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
    environment:
      - GF_AUTH_ANONYMOUS_ENABLED=true
      - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
      - GF_AUTH_DISABLE_LOGIN_FORM=true
      - GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
    ports:
      - "8000:3000"