aws-otel-collector icon indicating copy to clipboard operation
aws-otel-collector copied to clipboard

Requesting Jaeger & Zipkin Receivers/Exporters

Open vikrambe opened this issue 4 years ago • 19 comments

Is your feature request related to a problem? Please describe. We would like to explore xray, but our apps emit jaeger/zipkin spans. Requesting to enable jaeger/zipkin receiver and exporter

Describe the solution you'd like A clear and concise description of what you want to happen.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

vikrambe avatar Jan 15 '21 04:01 vikrambe

@alolita FYI...We can use https://github.com/jaegertracing/jaeger-performance for running performance tests on jaeger-receiver

vikrambe avatar Jan 15 '21 05:01 vikrambe

@alolita Let me know if you need any help in expediting this?

vikrambe avatar Jan 15 '21 05:01 vikrambe

@vikrambe otel collector already has jaeger exporter : https://www.jaegertracing.io/docs/1.21/opentelemetry/

kuberkaul avatar Feb 05 '21 17:02 kuberkaul

Hi @kuberkaul @vikrambe - catching up on this thread, we'll take a look at the current exporters in OpenTelemetry Collector for Jaeger, Zipkin and Elasticsearch and circle back.

alolita avatar Feb 05 '21 17:02 alolita

@kuberkaul We need jaeger/zipkin receiver and also exporter. @alolita Thank you

vikrambe avatar Feb 05 '21 17:02 vikrambe

@vikrambe both jaeger/zipkin reciever/exporter already exist in the open telemetry container.

kuberkaul avatar Feb 05 '21 19:02 kuberkaul

@kuberkaul I am aware of the fact that jaeger/zipkin receivers and exporters are already available in Opentelemetry collector upstream and we are already using them. I dont find them in aws-otel-collector https://github.com/aws-observability/aws-otel-collector/blob/main/go.mod.

vikrambe avatar Feb 06 '21 00:02 vikrambe

I saw that Jaeger receivers are supported, but was not able to export as awsxray format. I have a sample configuration like below in the otel-agent-config.yaml.

receivers:
  jaegergrpc:
    protocols:
      grpc:
  jaeger:
    protocols:
      thrift_http:
        endpoint: 0.0.0.0:14268

processors:
  batch:

exporters:
  awsxray:
    region: 'us-west-2'
    indexed_attributes: ['descriptions']
    max_retries: 3

service:
  pipelines:
    traces:
      receivers: [jaegergrpc, jaeger]
      processors: [batch]
      exporters: [awsxray]

The docker image attempts the load the config and then exits.

chanst@C02D963ZMD6T otel-collector-sidecar % docker run \
    -p 1777:1777 \
    -p 55679:55679 \
    -p 55680:55680 \
    -p 4317:4317 \
    -v ~/.aws:/root/.aws \
    -v /Users/chanst/Github/exampleProject/otel-collector-sidecar/otel-agent-config.yaml:/etc/otel-agent-config.yaml  \
    -it otel-collector-sidecar
AWS OTel Collector version: v0.7.0
2021/04/26 08:33:06 find no extra config, skip it, err: open /opt/aws/aws-otel-collector/etc/extracfg.txt: no such file or directory
2021-04-26T08:33:06.893Z        INFO    service/service.go:411  Starting AWS OTel Collector...  {"Version": "v0.7.0", "GitHash": "14a0d2cf11fe4ed2cd254241acdda17c54a0e59e", "NumCPU": 8}
2021-04-26T08:33:06.893Z        INFO    service/service.go:255  Setting up own telemetry...
2021-04-26T08:33:06.894Z        INFO    service/telemetry.go:102        Serving Prometheus metrics      {"address": "localhost:8888", "level": 0, "service.instance.id": "47166387-4d32-4f61-8801-2c62d361ef9e"}
2021-04-26T08:33:06.894Z        INFO    service/service.go:292  Loading configuration...
chanst@C02D963ZMD6T otel-collector-sidecar %

I initially tried otlp... Kind of stuck in jruby world at the moment. https://github.com/protocolbuffers/protobuf/pull/7923

schanjr avatar Apr 26 '21 08:04 schanjr

2021-04-26T08:33:06.893Z INFO service/service.go:411 Starting AWS OTel Collector... {"Version": "v0.7.0", "GitHash": "14a0d2cf11fe4ed2cd254241acdda17c54a0e59e", "NumCPU": 8}

The image your are using is v0.7.0 https://github.com/aws-observability/aws-otel-collector/commit/14a0d2cf11fe4ed2cd254241acdda17c54a0e59e It does not have Jaeger receiver enabled, also it has bugs like not exiting 1 #340 and not writing log to stdout #339 . It should show error log like your config has unsupported receivers in newer versions like v0.8.0. But only v0.9.0 has jaeger.

v0.9.0 is not released yet.. You can build the container from source using make docker-build

https://github.com/aws-observability/aws-otel-collector/blob/b9d1519491ed1ff2d5f0abc5e546baa4eac291e2/Makefile#L86-L88

pingleig avatar Apr 27 '21 03:04 pingleig

I tried to use adot, to export traces to jaeger, but got this error: Error: cannot load configuration: unknown exporters type "jaeger" for jaeger And I realised now that the adot doesn't support Jaeger as export while we we have it for otel collector, any estimation about when are we going to have jaeger export as well?

HashemTaheriSonos avatar Jun 04 '21 13:06 HashemTaheriSonos

Hi we only enabled Jaeger receiver in ADOT so far. will put this request in ADOT road map. @JohnWu20 @ntyrewalla

mxiamxia avatar Jun 24 '21 23:06 mxiamxia

This is not a efficient way, but I could kind of by pass it by using additional otel-collector, beside the adot-collector; so from the adot-collector you can export traces to both aws side and the otel-collector, then point the otel-collector to jaeger collector...

in this way I could have traces in both aws and the jaeger side, just the only thing which I guess is because the way adot java-agent is customised for using x-ray traceId, is the dependency graph in jaeger side wasn't able to compute the tree.

And as i checked it's because these traces spans didn't have any value for their references field. and from the spark job code implementation, we can see that if a span doesn't have this field set, it's not going to get process and the cannot compute the tree. and I'm not sure at the moment how to fix this part yet :)

any way, having the ability to export traces from adot-collector straightly to Jaeger gonna save much more time for sure, looking forward to it!

HashemTaheriSonos avatar Jun 25 '21 16:06 HashemTaheriSonos

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

github-actions[bot] avatar Jan 09 '22 20:01 github-actions[bot]

any update? can we use jaeger agent receiver to forward traces to AWS XRAY using AWS Otel collector @schanjr @alolita ?

sanasz91mdev avatar Feb 03 '22 12:02 sanasz91mdev

i am using following adot collector and i can see that i am receiving traces of UDP port 6832 via enabling tcp dump but i cannot even see any logs for adot collector ... no error or information logs ..

What can be the issue? why i am unable to export traces from jaeger receiver to aws xray?

extensions:
  health_check:

receivers:
  # Data sources: traces
  jaeger:
    protocols:
#      grpc:
      thrift_binary:
        endpoint: 0.0.0.0:6832
#      thrift_compact:
#      thrift_http:

processors:
  batch:

exporters:
  awsxray:

service:
  pipelines:
    traces:
      receivers: [jaeger]
      processors: [batch]
      exporters: [awsxray]

  extensions: [health_check]

sanasz91mdev avatar Feb 03 '22 20:02 sanasz91mdev

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

github-actions[bot] avatar Apr 10 '22 20:04 github-actions[bot]

This issue was closed because it has been marked as stall for 30 days with no activity.

github-actions[bot] avatar May 15 '22 20:05 github-actions[bot]

This issue was closed because it has been marked as stale for 30 days with no activity.

github-actions[bot] avatar Jul 24 '22 20:07 github-actions[bot]

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 30 days.

github-actions[bot] avatar Oct 02 '22 20:10 github-actions[bot]

This issue was closed because it has been marked as stale for 30 days with no activity.

github-actions[bot] avatar Nov 06 '22 20:11 github-actions[bot]