Rumah > pembangunan bahagian belakang > Golang > konfigurasi jaeger-all-in-one docker-compose.yaml untuk menyimpan jejak ke dalam postgresql

konfigurasi jaeger-all-in-one docker-compose.yaml untuk menyimpan jejak ke dalam postgresql

WBOY
Lepaskan: 2024-02-06 08:09:03
ke hadapan
836 orang telah melayarinya

jaeger-all-in-one docker-compose.yaml 配置用于将跟踪存储到 postgresql

Kandungan soalan

Pada masa ini, saya menggunakan fail docker-compose.yaml dan fail Collector-gateway.yaml sebagai pengumpul otel untuk menghantar maklumat penjejakan kepada jaeger. Apa yang saya ingin capai ialah ketekunan data menggunakan postgresql dan saya cuba menggunakan repo github ini: teks. Walau bagaimanapun, saya terus mendapat ralat ini apabila melancarkan bekas docker menggunakan docker-compose up.

Log ralat:

jaeger-postgresql-jaeger-all-in-one-1  | {"level":"fatal","ts":1696996008.1216166,"caller":"./main.go:110","msg":"Failed to init storage factory","error":"grpc-plugin builder failed to create a store: error attempting to connect to plugin rpc client: fork/exec /etc/cmd/jaeger-pg-store: exec format error","stacktrace":"main.main.func1\n\t./main.go:110\ngithub.com/spf13/cobra.(*Command).execute\n\tgithub.com/spf13/[email protected]/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tgithub.com/spf13/[email protected]/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tgithub.com/spf13/[email protected]/command.go:992\nmain.main\n\t./main.go:243\nruntime.main\n\truntime/proc.go:267"}
Salin selepas log masuk

Lagi konteks tentang kod saya docker-compose.yaml:

version: "3"
services:
  # Jaeger
  jaeger-all-in-one:
    image: jaegertracing/all-in-one:latest
    ports:
      - "16686:16686"
      - "14268"
      - "14250"
    environment:
      - SPAN_STORAGE_TYPE=grpc-plugin
      - COLLECTOR_OTLP_ENABLED=true
    volumes:
      - ./jaeger-pg-store:/etc/cmd/jaeger-pg-store
      - ./collector-gateway.yaml:/etc/collector-gateway.yaml
    command: ["--grpc-storage-plugin.binary=/etc/cmd/jaeger-pg-store", "--grpc-storage-plugin.configuration-file=/etc/collector-gateway.yaml"]
    
  # Collector
  collector-gateway:
    image: otel/opentelemetry-collector-contrib:0.53.0
    volumes:
      - ./collector-gateway.yaml:/etc/collector-gateway.yaml
      - ./jaeger-pg-store:/etc/cmd
    command: [ "--config=/etc/collector-gateway.yaml"]
    ports:
      - "1888:1888"   # pprof extension
      - "13133:13133" # health_check extension
      - "4317:4317"        # OTLP gRPC receiver
      - "4318:4318"        # OTLP HTTP receiver
      - "55670:55679" # zpages extension
    depends_on:
      - jaeger-all-in-one
    links:
      - jaeger-all-in-one
Salin selepas log masuk

Saya cuba membina jaeger-plugin-store dengan CGO_ENABLED=0 GOARCH=amd64 GOOS=darwin kerana saya menggunakan sistem mac. Secara keseluruhan, saya masih baru.

Perkara yang pelik ialah apabila saya mengikut arahan biasa dalam readme, yang menjalankan jaeger-all-in-one sebagai boleh laku daripada binari, dan bukannya melalui karang docker, ia berfungsi, Tetapi pangkalan data postgres saya tidak dapat dikesan. Walau bagaimanapun, saya lebih baik untuk menjalankannya dengan fail karang docker saya.


Jawapan yang betul


Ralat yang berkaitan ialah

fork/exec /etc/cmd/jaeger-pg-store: exec format error
Salin selepas log masuk

Ini menunjukkan format binari yang tidak serasi. Apabila anda menjalankan dalam bekas Docker, binari anda mempunyai pandangan sistem pengendalian yang berbeza daripada mesin tempatan anda, iaitu anda menggunakan imej Docker yang dibina untuk Linux, tetapi anda cuba menghalakannya ke binari pemalam yang dibina untuk MacOS . Anda juga perlu membina binari pemalam untuk Linux.

Atas ialah kandungan terperinci konfigurasi jaeger-all-in-one docker-compose.yaml untuk menyimpan jejak ke dalam postgresql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan