From b7789c8e080e7464df6e9faacd7e69dac604ce16 Mon Sep 17 00:00:00 2001 From: heihutu Date: Mon, 23 Mar 2026 23:25:58 +0800 Subject: [PATCH] refactor(docker): image grafana/tempo:2.10.3 (#2273) --- .docker/observability/docker-compose.yml | 37 +++++++++++++- .docker/observability/prometheus.yml | 5 ++ .docker/observability/redpanda-console.yaml | 3 ++ .docker/observability/tempo.yaml | 53 ++++++--------------- 4 files changed, 57 insertions(+), 41 deletions(-) create mode 100644 .docker/observability/redpanda-console.yaml diff --git a/.docker/observability/docker-compose.yml b/.docker/observability/docker-compose.yml index b6091463d..ec94f240a 100644 --- a/.docker/observability/docker-compose.yml +++ b/.docker/observability/docker-compose.yml @@ -15,10 +15,11 @@ services: # --- Tracing --- - tempo: - image: grafana/tempo:latest + image: grafana/tempo:2.10.3 container_name: tempo + depends_on: + - redpanda command: [ "-config.file=/etc/tempo.yaml" ] volumes: - ./tempo.yaml:/etc/tempo.yaml:ro @@ -37,6 +38,38 @@ services: timeout: 5s retries: 3 start_period: 15s + redpanda: + image: redpandadata/redpanda:latest + ports: + - "9092:9092" # Kafka API for clients + command: > + redpanda start --overprovisioned + --mode=dev-container + --kafka-addr=PLAINTEXT://0.0.0.0:9092 + --advertise-kafka-addr=PLAINTEXT://redpanda:9092 + + redpanda-console: + image: docker.redpanda.com/redpandadata/console:latest + environment: + - CONFIG_FILEPATH=/etc/redpanda/redpanda-console-config.yaml + volumes: + - ./redpanda-console.yaml:/etc/redpanda/redpanda-console-config.yaml + ports: + - "8080:8080" + depends_on: + - redpanda + + vulture: + image: grafana/tempo-vulture:latest + restart: always + command: + [ + "-prometheus-listen-address=:8080", + "-tempo-query-url=http://tempo:3200", + "-tempo-push-url=http://tempo:4317", + ] + depends_on: + - tempo jaeger: image: jaegertracing/jaeger:latest diff --git a/.docker/observability/prometheus.yml b/.docker/observability/prometheus.yml index 25266a3bd..d0e638f24 100644 --- a/.docker/observability/prometheus.yml +++ b/.docker/observability/prometheus.yml @@ -50,6 +50,11 @@ scrape_configs: static_configs: - targets: [ 'localhost:9090' ] + - job_name: 'vulture' + static_configs: + - targets: + - 'vulture:8080' + otlp: promote_resource_attributes: - service.instance.id diff --git a/.docker/observability/redpanda-console.yaml b/.docker/observability/redpanda-console.yaml new file mode 100644 index 000000000..706d3dd77 --- /dev/null +++ b/.docker/observability/redpanda-console.yaml @@ -0,0 +1,3 @@ +kafka: + brokers: + - redpanda:9092 \ No newline at end of file diff --git a/.docker/observability/tempo.yaml b/.docker/observability/tempo.yaml index f2ba20967..9f86b3d85 100644 --- a/.docker/observability/tempo.yaml +++ b/.docker/observability/tempo.yaml @@ -25,32 +25,18 @@ memberlist: join_members: - tempo:7946 -# Distributor configuration - receives traces and writes directly to ingesters distributor: - ingester_write_path_enabled: true - kafka_write_path_enabled: false receivers: otlp: protocols: grpc: - endpoint: "tempo:4317" + endpoint: "0.0.0.0:4317" http: - endpoint: "tempo:4318" - ring: - kvstore: - store: memberlist - -# Ingester configuration - consumes from Kafka and stores traces -ingester: - lifecycler: - ring: - kvstore: - store: memberlist - replication_factor: 1 - tokens_file_path: /var/tempo/tokens.json - trace_idle_period: 10s - max_block_bytes: 1_000_000 - max_block_duration: 5m + endpoint: "0.0.0.0:4318" + #log_received_spans: + # enabled: true + # log_discarded_spans: + # enabled: true backend_scheduler: provider: @@ -67,8 +53,7 @@ backend_worker: store: memberlist querier: - frontend_worker: - frontend_address: tempo:3200 + query_live_store: true metrics_generator: registry: @@ -90,9 +75,9 @@ storage: trace: backend: local wal: - path: /var/tempo/wal + path: /var/tempo/wal # where to store the wal locally local: - path: /var/tempo/blocks + path: /var/tempo/blocks # where to store the traces locally overrides: defaults: @@ -101,24 +86,14 @@ overrides: generate_native_histograms: both ingest: - enabled: false - # Disabled because using direct ingester write path - # If you want Kafka path, enable this and set: - # kafka: - # brokers: [redpanda:9092] - # topic: tempo-ingest - # encoding: protobuf - # consumer_group: tempo-ingest-consumer + enabled: true + kafka: + address: redpanda:9092 + topic: tempo-ingest block_builder: consume_cycle_duration: 30s -compactor: - compaction: - block_retention: 168h # 7 days - ring: - kvstore: - store: memberlist - usage_report: reporting_enabled: false +