Hi, Trying to export the data from signoz coll...
# support
m
Hi, Trying to export the data from signoz collecor over HTTPS to nginX proxy and then to another signoz collecor running on kubernetes but it is not able to connect to the proxy. It throws below error: ---------------- Conn.createTransport failed to connect to {x.x.x.x:8081/deeptrace x.x.x.x:8081/deeptrace <nil> <nil> 0 <nil>}. Err: connection error: desc = "transport: Error while dialing dial tcp: address tcp/8081/deeptrace: unknown port" {"grpc_log": true} ----------------- x.x.x.x:8081 is the IP and port of the nginX proxy. Config details in the otel-collector-config.yaml for exporter: ---------------- exporters: otlp: endpoint: "x.x.x.x:8081/deeptrace" tls: insecure: false cert_file: "/etc/cert.pem" key_file: "/etc/key.pem" insecure_skip_verify: true ----------------- Tried with URL end point also, but it is expecting port in the URL: ---------------- otlp: endpoint: "https://abc.com/deeptrace" tls: insecure: false cert_file: "/etc/cert.pem" key_file: "/etc/key.pem" insecure_skip_verify: true ---------------- Error: info zapgrpc/zapgrpc.go:174 [core] pickfirstBalancer: UpdateSubConnState: 0xc000b25cd0, {TRANSIENT_FAILURE connection error: desc = "transport: Error while dialing dial tcp: address abc.com/deeptrace: missing port in address"}{"grpc_log": true} ---------------- Please let me know what should be configuration in otel-collector-config.yaml to connect to a https end point.
Tried another approach but no luck: otlphttp: endpoint: "x.x.x.x:8081/deeptrace" tls: insecure: false cert_file: "/etc/cert.pem" key_file: "/etc/key.pem" insecure_skip_verify: true traces: receivers: [otlp] processors: [signozspanmetrics/prometheus,batch] exporters: [otlphttp,clickhouse] Error: cannot build exporters: error creating otlphttp exporter: endpoint must be a valid URL otel-collector_1 | 2022/06/30 144733 collector server run finished with error: cannot build exporters: error creating otlphttp exporter: endpoint must be a valid URL
Another try with the below configs: otlphttp: endpoint: "https://x.x.x.x:8081/deeptrace" pipelines: traces: receivers: [otlp] processors: [signozspanmetrics/prometheus,batch] exporters: [otlphttp,clickhouse] "failed to make an HTTP request: Post \"https://x.x.x.x:8081/deeptrace/v1/traces\": dial tcp x.x.x.x8081 connect: connection refused"
p
@Prashant Shahi any insights on this?
p
Hey @manohar mirle ! Couple of questions: • why nginx in between two collectors? • Does https://x.x.x.x:8081/deeptrace/v1/traces resolve to
https://<OtelCollector-Endpoint>:4318/v1/trace
?
m
Hi @Prashant Shahi, nginx is for converting https to http and delegating the data to different collectors based the type of data. Will check the second point and update you. But, the there is a issue before reaching that stage
@Prashant Shahi Geeting below error in the collector which is exporting the traces:
09Z info exporterhelper/queued_retry.go:215 Exporting failed. Will retry the request after interval. {"kind": "exporter", "name": "otlphttp", "error": "error exporting items, request to https://abc.com:443/deeptrace/v1/traces responded with HTTP Status Code 502", "interval": "23.541514772s"}
In the receiver collector it is throwing below error :
2022-07-01T115804.350+0530 warn zapgrpc/zapgrpc.go:191 [core] grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: http2Server.HandleStreams received bogus greeting from client: \"POST /deeptrace/v1/trace\"" {"grpc_log": true}
p
I don't think you will need to include
https
or
443
port, but only set
tls.insecure
to
false
Also, would it be possible for you to use subdomain
<http://deeptrace.abc.com|deeptrace.abc.com>
instead of the custom basepath
<http://abc.com/deeptrace|abc.com/deeptrace>
?
I tested with nginx with SSL certificates pointed to OTLP http endpoint, I was able use subdomain but custom basepath didn't work for me.
m
Tried it without giving https & 443. THis is what I am getting: Exporting failed. Will retry the request after interval. {"kind": "exporter", "name": "otlphttp", "error": "failed to make an HTTP request: Post \"abc.com/deeptrace/v1/traces\": unsupported protocol scheme \"\"", "interval": "6.278612655s"} Exporting failed. The error is not retryable. Dropping data. {"kind": "exporter", "name": "otlp", "error": "Permanent error: rpc error: code = Unknown desc = transport: received unexpected content-type \"text/html\"", "dropped_items": 6}
Need to check the alternative option of creating subdomain
p
in otelconfig, can you try passing
<http://abc.com/deeptrace|abc.com/deeptrace>
?
without
v1/traces
m
Infact we are passing like that only abc.com/deeptrace