※약 30GB의 용량을 차지하므로 실행 시 주의
https://opentelemetry.io/docs/demo/docker-deployment/
git clone https://github.com/open-telemetry/opentelemetry-demo.git
1. 우측 상단의 Settings 클릭 (톱니바퀴모양)
2. 좌측의 Resources 메뉴 진입
3. Disk image location 경로 설정
도커 데스크탑 우측 하단의 terminal 클릭
클론받은 경로로 이동 후 아래의 명령어 입력
docker compose up --force-recreate --remove-orphans --detach
※ 이미지 빌드 및 실행에 시간 소요됨
도커 데스크탑의 좌측 메뉴에서 Images 클릭
-> 오텔 데모 이미지들이 보이면 정상적으로 실행된거임
Web store: http://localhost:8080/
Grafana: http://localhost:8080/grafana/
Load Generator UI: http://localhost:8080/loadgen/
Jaeger UI: http://localhost:8080/jaeger/ui/
Tracetest UI: http://localhost:11633/
※ only when using make start-odd
데모의 docker-compose.yml 파일을 열어서 콜렉터 쪽설정을 보면 포트번호가 외부랑 매핑이 안되어 있음
"${OTEL_COLLECTOR_PORT_GRPC}" 이렇게 하나만 두면 내부에서는 해당 포트로 적용이 되고
외부에서는 랜덤하게 도커에서 할당하는 포트로 접속해야함
"${OTEL_COLLECTOR_PORT_GRPC}:${OTEL_COLLECTOR_PORT_GRPC}" 이렇게 외부와 내부 포트를 매핑시켜주면됨
- 기존
===================================================================== otelcol:
image: ${COLLECTOR_CONTRIB_IMAGE}
container_name: otel-col
deploy:
resources:
limits:
memory: 200M
restart: unless-stopped
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
user: 0:0
volumes:
- ${HOST_FILESYSTEM}:/hostfs:ro
- ${DOCKER_SOCK}:/var/run/docker.sock:ro
- ${OTEL_COLLECTOR_CONFIG}:/etc/otelcol-config.yml
- ${OTEL_COLLECTOR_CONFIG_EXTRAS}:/etc/otelcol-config-extras.yml
ports:
- "${OTEL_COLLECTOR_PORT_GRPC}"
- "${OTEL_COLLECTOR_PORT_HTTP}"
depends_on:
- jaeger
logging: *logging
environment:
- ENVOY_PORT
- HOST_FILESYSTEM
- OTEL_COLLECTOR_HOST
- OTEL_COLLECTOR_PORT_GRPC
- OTEL_COLLECTOR_PORT_HTTP
=====================================================================
- 변경
===================================================================== otelcol:
image: ${COLLECTOR_CONTRIB_IMAGE}
container_name: otel-col
deploy:
resources:
limits:
memory: 200M
restart: unless-stopped
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
user: 0:0
volumes:
- ${HOST_FILESYSTEM}:/hostfs:ro
- ${DOCKER_SOCK}:/var/run/docker.sock:ro
- ${OTEL_COLLECTOR_CONFIG}:/etc/otelcol-config.yml
- ${OTEL_COLLECTOR_CONFIG_EXTRAS}:/etc/otelcol-config-extras.yml
ports:
- "${OTEL_COLLECTOR_PORT_GRPC}:${OTEL_COLLECTOR_PORT_GRPC}"
- "${OTEL_COLLECTOR_PORT_HTTP}:${OTEL_COLLECTOR_PORT_HTTP}"
depends_on:
- jaeger
logging: *logging
environment:
- ENVOY_PORT
- HOST_FILESYSTEM
- OTEL_COLLECTOR_HOST
- OTEL_COLLECTOR_PORT_GRPC
- OTEL_COLLECTOR_PORT_HTTP
=====================================================================
docker ps |grep otel
=====================================================================
"/otelcol-contrib --…" 22 seconds ago Up 21 seconds
0.0.0.0:4317-4318->4317-4318/tcp, :::4317-4318->4317-4318/tcp
=====================================================================