aws-otel-collector
aws-otel-collector copied to clipboard
Requesting Jaeger & Zipkin Receivers/Exporters
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.
@alolita FYI...We can use https://github.com/jaegertracing/jaeger-performance for running performance tests on jaeger-receiver
@alolita Let me know if you need any help in expediting this?
@vikrambe otel collector already has jaeger exporter : https://www.jaegertracing.io/docs/1.21/opentelemetry/
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.
@kuberkaul We need jaeger/zipkin receiver and also exporter. @alolita Thank you
@vikrambe both jaeger/zipkin reciever/exporter already exist in the open telemetry container.
@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.
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
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
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?
Hi we only enabled Jaeger receiver in ADOT so far. will put this request in ADOT road map. @JohnWu20 @ntyrewalla
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!
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.
any update? can we use jaeger agent receiver to forward traces to AWS XRAY using AWS Otel collector @schanjr @alolita ?
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]
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.
This issue was closed because it has been marked as stall for 30 days with no activity.
This issue was closed because it has been marked as stale for 30 days with no activity.
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.
This issue was closed because it has been marked as stale for 30 days with no activity.