- まずはJSONで出す
tracing = "0.1.37"
tracing-subscriber = { version = "0.3.16", features = ["json"] }
tracing_subscriber::fmt()
.json()
.with_max_level(tracing::Level::INFO)
.init();-
OTel collector
go install github.com/equinix-labs/otel-cli@latest
otel-cli exec --name "test" --protocol grpc --endpoint http://localhost:4317 --verbose --tp-print echo 1
1
# trace id: 8aaf4d2ca62204f400ae88705fa55afb
# span id: 8430124b37cd2a50
TRACEPARENT=00-8aaf4d2ca62204f400ae88705fa55afb-8430124b37cd2a50-01otel-collector-1 | 2024-11-30T09:34:29.355Z error internal/queue_sender.go:92 Exporting failed. Dropping data. {"kind": "exporter", "data_type": "traces", "name": "otlp", "error": "not retryable error: Permanent error: rpc error: code = Unimplemented desc = unknown service opentelemetry.proto.collector.trace.v1.TraceService", "dropped_items": 1}
otel-collector-1 | go.opentelemetry.io/collector/exporter/exporterhelper/internal.NewQueueSender.func1
otel-collector-1 | go.opentelemetry.io/collector/exporter@v0.114.0/exporterhelper/internal/queue_sender.go:92
otel-collector-1 | go.opentelemetry.io/collector/exporter/internal/queue.(*Consumers[...]).Start.func1
otel-collector-1 | go.opentelemetry.io/collector/exporter@v0.114.0/internal/queue/consumers.go:43otel-collector-config.yaml
receivers:
otlp:
protocols:
grpc:
# ref: https://github.com/open-telemetry/opentelemetry-rust/issues/861#issuecomment-2408304710
endpoint: 0.0.0.0:4317
exporters:
debug:
otlp:
endpoint: jaeger:5000
tls:
insecure: true
processors:
batch:
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp, debug]
compose.yaml
services:
jaeger:
image: "jaegertracing/all-in-one:latest"
ports:
- "5000:5000" # gRPC server
- "16686:16686" # Web UI
environment:
- COLLECTOR_OTLP_ENABLED=true
command:
# ref: https://zenn.dev/hkdord/articles/oss-reading-jaeger
- "--collector.otlp.grpc.host-port=5000"
networks:
- langfuse-network
otel-collector:
image: otel/opentelemetry-collector:latest
restart: always
command: ["--config=/etc/otel-collector-config.yaml", ""]
volumes:
- ./otel-collector-config.yaml:/etc/otel-collector-config.yaml
ports:
- "4317:4317"
networks:
- langfuse-network
depends_on:
- jaeger
networks:
langfuse-network:
driver: bridge