Hey there,
I’m trying to get the solace telemetry demo to run. I’ve followed instructions [1] creating a telemetry-profile default with the password default .
I’ve configured a receiver [ 2 ] and my telemetry queue is called #telemetry-default > , which is subscribed to “>”
receivers:
solace/primary:
broker: [localho st > :5671]
auth:
sasl_plain:
username: default
password: default
queue: queue://#telemetry-default
It seems the telemetry itself is working (when I send messages, the telemetry queue has a message too), but I can’t find anything in Jaeger.
My Docker logs show the following:
debug solacereceiver@v0.55.0/receiver.go:147 Encountered error while connecting messaging service {“kind”: “receiver”, “name”: “solace”, “pipeline”: “traces”, “error”: “dial tcp 127.0.0.1:5671: connect: connection refused”}
What am I missing?
What do I need to configure in order for Jaeger to display my traces?
Thanks and kind regards!
[1] Distributed Tracing Example
[2] Solace Open Telemetry Receiver
Hi @kilbac ,
I shot your question to one of the devs internally and this was the guidance they provided. I read through it and agree that I think it will:
The OpenTelemetry collector when following the demo runs within a docker container. Localhost points, in this case, to the localhost of the docker container, NOT to the broker container (assuming its running on the same machine). Theres a couple ways to fix this. One is to add --network=host to the OpenTelemetry container, since localhost will now point to the localhost of the machine rather than the docker container. Another is to add both the OpenTelemetry container and the broker to the same network, and then point to the broker container’s hostname (if in docker compose it might be something like solbroker ). Lastly, a “depends on” can be added if the broker is in the same docker compose. The same thing can happen when sending from the collector to jaeger. They also need to be on the same network or depends on or host networked. Essentially they must be able to communicate with eachother. Easiest in my opinion for PoC is to put them all in the same docker-compose.yml and add them all to the same network, then refer to the other containers based on their names, e.g. jaeger:14250 or solbroker:5672 Hope that helps!
Hey there,
thanks for the fast reply.
The error is gone, but I still don’t receive anything in Jaeger. I believe I am missing something essential in my setup. I will post step-by-step what I do:
Setup Docker with .yaml file > version: “3.5”
Open Solace Webinterface (localhost:8080)
create Queue “q” create Subscription “tracing” in Queue “q” Go to “Try Me!” Establish Connection to localhost:8008 Publish to topic “tracing” There is now 1 message in Queue “q” and 1 message in queue “#telemetry-default”
Check Jaeger
go to localhost:16686 there is no Service there except “jaeger-query” What am I missing?
Must be something stupid obvious, right?
Thanks again in advance!
Kind regards,
Kilian
Also we did notice a strange behavior, maybe a bug, maybe a feature ;D
When one does change the Access Control > Client Authentication > Settings to “Internal Database”, we had to reset the password of default user afterwords to login.
interesting behaviour, I tried to replicate it locally and the default username has a default password even after setting the basic authentication type to “internal Database”… I’ll look at this in more details and if it persists I’ll raise a bug for it ?
Hi @kilbac - Hope you are doing fine.
I followed this link but getting an error which is like:
2023-03-16 23:38:12 solacetracing2-otel-collector-1 | 2023-03-16T12:38:12.822Z debug solacereceiver@v0.73.0/receiver.go:150 Encountered error while connecting messaging service {“kind”: “receiver”, “name”: “solace”, “data_type”: “traces”, “error”: "SASL PLAIN auth failed with code 0x2: "}
The only difference from the given setup is that I am using latest Solace version 10.3.1.17.
Any pointers on what could be the cause?
Hey @kriishan_anz - can you confirm you have the right username/password for your client profile? the SASL PLAIN auth failed > error happens when the username/password you configured in your profile does not match what you have in your otel collector configuration. Make sure that the solace receiver configuration
solace: