Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao subir collector

Quando executo o docker-compose up, notei nos logs que o container do collector não está subindo corretamente. Segue mensagem:

collector-api-cursos   | Error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding:
collector-api-cursos   |
collector-api-cursos   | * error decoding 'exporters': unknown type: "jaeger" for id: "jaeger" (valid values: [logging otlp otlphttp file kafka prometheus prometheusremotewrite debug zipkin opencensus])
collector-api-cursos   | 2024/02/17 02:38:00 collector server run finished with error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding:
collector-api-cursos   |
collector-api-cursos   | * error decoding 'exporters': unknown type: "jaeger" for id: "jaeger" (valid values: [logging otlp otlphttp file kafka prometheus prometheusremotewrite debug zipkin opencensus])
loki-api-cursos        | level=info ts=2024-02-17T02:38:01.099765759Z caller=scheduler.go:615 msg="this scheduler is in the ReplicationSet, will now accept requests."
loki-api-cursos        | level=info ts=2024-02-17T02:38:01.101396082Z caller=worker.go:209 msg="adding connection" addr=192.168.176.5:9095
collector-api-cursos exited with code 1

Meu arquivo 'otel-collector-config.yaml' contém o seguinte código:

receivers:
  otlp:
    protocols:
      grpc:
      http:
exporters:
  jaeger:
    endpoint: jaeger-api-cursos:14250
    tls:
      insecure: true
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [jaeger]

Meus containeres estão da seguinte forma: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O que poderia estar errado aqui? Muito obrigado!

2 respostas

A mensagem de erro que você está vendo indica que o coletor não consegue reconhecer “jaeger” como um tipo válido para os exportadores. A lista de valores válidos inclui [logging, otlp, otlphttp, file, kafka, prometheus, prometheusremotewrite, debug, zipkin, opencensus], mas não “jaeger”.

Isso sugere que a versão do OpenTelemetry Collector que você está usando pode não suportar o Jaeger como um exportador. Você pode verificar a versão do seu OpenTelemetry Collector e se ele suporta o Jaeger como um exportador.

Se o suporte ao Jaeger estiver disponível na sua versão do OpenTelemetry Collector, você pode precisar atualizar a configuração para usar a sintaxe correta para o Jaeger. Se o suporte ao Jaeger não estiver disponível, você pode precisar usar um dos exportadores suportados ou atualizar para uma versão do OpenTelemetry Collector que suporte o Jaeger.

solução!

Obrigado pela resposta, Pablo!

Consegui resolver o problema substituindo o exporter do jaegger pelo "otlp/jaegger". Meu arquivo ficou assim:

receivers:
  otlp:
    protocols:
      grpc:
      http:
exporters:
  otlp/jaeger:
    endpoint: jaeger-api-cursos:4317
    tls:
      insecure: true
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [otlp/jaeger]