Possibility to start tracing from apache http reverse proxy. #1479

Open
kmalecki opened this Issue Jan 9, 2017 · 5 comments

Projects

None yet

4 participants

@kmalecki
kmalecki commented Jan 9, 2017 edited

I have a situation where:

[Apache http proxy] -> [micro-service structure**(created traceId/spanId)**].

I need to start tracing requests from Apache server to bind logs from Apache to logs from micro-servces.
So, when request is authorized in Apache proxy, and log is created, i need to have traceId correlated to this request,:

[Apache http proxy**(created traceId/spanId)**] -> [micro-service structure**(passed tracedId from Apache)**]

Is there any possibility to force Zipkin to trace incoming requests, starting from Apache http server proxy?

@adriancole
Contributor

I've not heard of anyone making an apache module as yet. right now, linkerd might be the only known reverse proxy that has builtin zipkin support.

@jcarres-mdsol
Contributor
jcarres-mdsol commented Jan 10, 2017 edited

We use nginx but same situation, it would be great if we could use trace_ids. Maybe this issue should be moved somewhere else thought as it is not related to the ruby client.

@jcarres-mdsol
Contributor

BTW @kmalecki maybe you would be interested on this https://github.com/JordiPolo/lorekeeper
We have a middleware which takes the trace Ids and put it in here so we have nice json formatted log messages with trace_ids. It may be too much depending on how much are you building around querying your logs but it can be a life-saver.

@mjbryant

I am also interested in an Apache module to properly start a Zipkin trace. We currently generate Apache spans quite hackily by having Apache log certain Zipkin headers and generating the spans entirely out-of-band. It is very difficult to maintain, though probably has lower in-band overhead.

@kmalecki

I think that the only solution is to generate trace id by a module for apache and add header to request. Unfortunately there is no available module, that can generate such thing.
Thank You All for tips.
I will not close this issue yet, maybe I or someone else will find something else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment