From 1378d6e31b93d4a1aff097f57e10d284ffca3332 Mon Sep 17 00:00:00 2001 From: windyboy Date: Sat, 15 Nov 2025 14:42:33 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Update=20Docker=20Compose=20configu?= =?UTF-8?q?ration=20to=20enhance=20observability=20with=20health=20checks?= =?UTF-8?q?=20for=20Jaeger=20and=20OpenTelemetry=20Collector.=20Modify=20t?= =?UTF-8?q?elemetry=20settings=20in=20the=20development=20configuration=20?= =?UTF-8?q?to=20enable=20metrics=20collection.=20Adjust=20endpoint=20setti?= =?UTF-8?q?ngs=20for=20Jaeger=20in=20the=20OpenTelemetry=20Collector=20con?= =?UTF-8?q?figuration.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Taskfile.yml | 4 ++++ configs/config.dev.toml | 4 ++-- configs/otel-collector.dev.yaml | 2 +- docker-compose.dev.yml | 8 ++++++++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Taskfile.yml b/Taskfile.yml index 46a7bf8..abe5f4a 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -119,6 +119,8 @@ tasks: dev-run: desc: Run receiver locally against dev stack + deps: + - up env: CAATSM_NATS_URL: nats://localhost:4222 CAATSM_NATS_MODE: jetstream @@ -129,6 +131,8 @@ tasks: GO_ENV: dev cmds: - | + echo "Ensuring observability stack is healthy (Jaeger @ http://localhost:16686)" + docker compose -f docker-compose.dev.yml ps jaeger otel-collector >/dev/null echo "Running receiver with telemetry (mode=${CAATSM_NATS_MODE:-core})" CAATSM_NATS_MODE=${CAATSM_NATS_MODE:-core} \ go run ./cmd/main listen diff --git a/configs/config.dev.toml b/configs/config.dev.toml index de1c3b0..31878d3 100644 --- a/configs/config.dev.toml +++ b/configs/config.dev.toml @@ -52,6 +52,6 @@ level = "info" format = "json" [telemetry] -enabled = false -endpoint = "otel-collector:4318" +enabled = true +endpoint = "localhost:4318" insecure = true \ No newline at end of file diff --git a/configs/otel-collector.dev.yaml b/configs/otel-collector.dev.yaml index ce6d975..6ce9efd 100644 --- a/configs/otel-collector.dev.yaml +++ b/configs/otel-collector.dev.yaml @@ -10,7 +10,7 @@ exporters: logging: loglevel: info otlp/jaeger: - endpoint: jaeger:14250 + endpoint: jaeger:4317 tls: insecure: true diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 6b229eb..5b148ad 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -82,6 +82,8 @@ services: OTEL_EXPORTER_OTLP_ENDPOINT: http://otel-collector:4318 otel-collector: + # Receives OTLP HTTP(4318)/gRPC(4317) traffic from the host dev app. + # Forwarding of traces/metrics is defined in configs/otel-collector.dev.yaml. image: otel/opentelemetry-collector-contrib:0.99.0 command: - "--config=/etc/otelcol/config.yaml" @@ -105,6 +107,12 @@ services: environment: COLLECTOR_OTLP_ENABLED: "true" LOG_LEVEL: debug + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:16686 2>/dev/null | grep -q Jaeger"] + interval: 10s + timeout: 3s + retries: 6 + start_period: 5s networks: - devnet