Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate with Zipkin #1330

Closed
mingfang opened this issue Jun 22, 2016 · 25 comments
Closed

Integrate with Zipkin #1330

mingfang opened this issue Jun 22, 2016 · 25 comments
Assignees
Labels
idea/new plugin [legacy] those issues belong to Kong Nation, since GitHub issues are reserved for bug reports.

Comments

@mingfang
Copy link

mingfang commented Jun 22, 2016

Zipkin, https://github.com/openzipkin/zipkin, is very useful for monitoring microservices.
However it requires every hop to be integrated.

@subnetmarco subnetmarco added the idea/new plugin [legacy] those issues belong to Kong Nation, since GitHub issues are reserved for bug reports. label Jun 23, 2016
@sonicaghi
Copy link
Member

@mingfang like sysdig?

@mingfang
Copy link
Author

@sinzone I haven't used sysdig but by the name I imagine sysdig if focus on infrastructure monitoring.
Zipkin is used for API monitoring. It is especially useful in a microservice system where a single incoming call can fan out to many internal calls.

@sonicaghi
Copy link
Member

like tracing back the latency?

@Tieske
Copy link
Member

Tieske commented Jun 24, 2016

have you seen Correlation ID plugin, and the proposed enhancements in #1288 ? Won't these serve your purpose?

@FlorianLautenschlager
Copy link

Zipkin support would be great!

@coopr
Copy link
Contributor

coopr commented May 18, 2017

@mingfang @FlorianLautenschlager can you clarify why the Correlation ID plugin mentioned by @Tieske doesn't solve this problem? I'd love to understand the gap between what that plugin does, and what Zipkin needs (if there is a gap).

@fsargent
Copy link

That looks really cool - I'd love to see a guide if anyone has an existing zipkin implementation.

@sfhardman
Copy link

I've got this going as a proof of concept: https://github.com/sfhardman/kong-plugin-zipkin

@FlorianLautenschlager
Copy link

@coopr The correlation id plugin in my opinion only solves a part of the problem. It adds (as Zipkin also does) a header to the request. Therefore one can trace a request at the highest level (only one trace for all following services). In contrast Zipkin is more powerful as it has a parent-child concept of so called spans (see here). Therefore Zipkin allows to build a span with child spans for the involved services. Furthermore as Zipkin is very popular there are various client implementations: Sleuth (Spring Boot), Java, GO, Python, etc.

I think the Kong ecosystem would benefit of such a plugin.

@sfhardman nice.

@jchoi2x
Copy link

jchoi2x commented Aug 28, 2017

+1
our services all use Kong for internal interservice communication. To use zipkin for tracing we would have to instrument every application to use zipkin. Putting communication to zipkin in Kong would alleviate us from having to do this.

@ror6ax
Copy link

ror6ax commented Oct 30, 2017

Hi guys, is this officially OK with you? Would it be worth implementing?

Also, are you aware of https://github.com/opentracing-contrib/nginx-opentracing ?

@mingfang
Copy link
Author

I'm ok to close this

@ror6ax
Copy link

ror6ax commented Oct 30, 2017

@mingfang - why? Has it been implemented by someone? Not sure what to make out of this issue...

@coopr
Copy link
Contributor

coopr commented Nov 17, 2017

I think Open Tracing would be great to add to Kong - we'd welcome a PR @ror6ax

@ror6ax
Copy link

ror6ax commented Nov 17, 2017

@coopr what do you make of https://github.com/sfhardman/kong-plugin-zipkin and https://github.com/opentracing-contrib/nginx-opentracing ? Are they lacking some polish or there are some bigger issues? Both look pretty much working to me.

@tedsuo
Copy link

tedsuo commented Jan 22, 2018

FYI we are about to add dynamic loading to OpenTracing, which I think kong would find useful: opentracing/opentracing-cpp#45

@secat
Copy link

secat commented Jan 31, 2018

The project https://github.com/opentracing-contrib/nginx-opentracing looks interesting. It seems however that we need to rebuild kong in order to use it.

Is there some documentation on building kong?

@james-callahan james-callahan self-assigned this Apr 24, 2018
@subnetmarco
Copy link
Member

Just wanted to say that @james-callahan is currently working on it and we should have an official plugin released very very soon.

@james-callahan
Copy link
Contributor

Plugin development is occuring here: https://github.com/kong/kong-plugin-zipkin

@rnburn
Copy link

rnburn commented May 7, 2018

Hey @james-callahan, glad to see OpenTracing support being added to Kong. Would you be open to developing some of this work like https://github.com/Kong/opentracing-lua as an official lua language API under https://github.com/opentracing?

@james-callahan
Copy link
Contributor

Would you be open to developing some of this work like https://github.com/Kong/opentracing-lua as an official lua language API under https://github.com/opentracing?

I made a request for it over here: opentracing/contrib#8
Do you know of others interested in driving the development?

@ror6ax
Copy link

ror6ax commented May 8, 2018

@james-callahan - I am interested in working on this. I am wondering if you were considering adding multiple tracer implementations like Jaeger etc. Zipkin != OpenTracing.

I'd be happy to look into contributing code to achieve that integration.

@withlin
Copy link

withlin commented May 9, 2018

+1

@james-callahan
Copy link
Contributor

I am wondering if you were considering adding multiple tracer implementations like Jaeger etc. Zipkin != OpenTracing.

Yes. the kong zipkin is built on top of an opentracing base.
A zipkin reporter seemed like a good first step, as jaegar has a zipkin API compatible mode.

I'd be happy to look into contributing code to achieve that integration.

Please do!

  • The kong plugin is being developed here
  • An opentracing API is being developed here

@coopr
Copy link
Contributor

coopr commented May 24, 2018

The Zipkin plugin for Kong has been released! It is available today bundled with Kong Enterprise Edition (EE) v0.32. It will be bundled with Kong Community Edition (CE) starting with the next release, CE v0.14, likely in June 2018.

@coopr coopr closed this as completed May 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea/new plugin [legacy] those issues belong to Kong Nation, since GitHub issues are reserved for bug reports.
Projects
None yet
Development

No branches or pull requests