I have an architecture which consists of producers and consumers with a Kafka broker in the middle. I have enabled the Dynatrace Kafka plugin which has provided some great additional information on monitoring the broker itself.
The current issue is the trace gets lost when a message is published to Kafka. I would like to the ability to see trace from a producer to a consumer in the service flow.
Does Dynatrace support this out of the box or is there some additional configuration required? I would like to hear if anyone has implemented something similar.
Solved! Go to Solution.
It’s not supported at all right now. I don’t know if there is any option to develop such tracing using current development tools we have. You can post a RFE for such case.
@Sebastian K. Thanks for the quick response!
Complete lack of knowledge on Dynatrace, would it be possible to instrument the client with code to push the tace data to one agent or through the Dynatrace server api?
Problem with instrumenting kafka would be overhead. This soft is processing massive amount of fast requests. What should be done is detecting somehow communicates that are going to Kafka and returining from them. I don't know if this is possible but this is how Dynatrace is for example tagging messages that are going through IBM Integration bus. There is SDK for tagging MQ requests for unsupported bus, but this will not work for Kafka I suppose (different type of communication). This is something Dynatrace should do (if this is possible). This is why I suggested produce idea.
I think the Kafka support was mentioned by @Andreas G. in one of the recent performance clinics (I just don't remember which one).
Last time I checked it was not generally available but I think it was being worked on since I've seen Kafka tracing code in oneagent java libraries.
Here's description how to configure Kafka consumer to detect flows across Kafka messaging system