-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
how to search annotations or binaryAnnotations in kibana? #1412
Comments
we aren't setup to support Kibana as a first class citizen, since there's
really no direct relationship here. We are focused on supporting the zipkin
UI.
You might have more luck going through normal Kibana support channels and
reporting back anything interesting you find.
|
just in case.. @openzipkin/elasticsearch does anyone happen to know what this might imply? I know that in zipkin itself annotation searches are nested terms queries |
@adriancole I think @dragontree101 is asking for example ES queries on how to search for spans from the kibana UI. I think this is a valid use case that we should document since most people who use ES will also use Kibana. In practice, I found that Kibana is a better UI to search for traces esp when they are broken and don't show up the UI. We are currently doing the same, happy to share what we come up with shortly. |
@mansu well the point in suggesting reliable channels for Kibana questions isn't a question about if it is a valid use case, or not. Rather, we haven't yet established anything near reliability for a place to come to for Kibana support. We neither document, run or test it for starters! Only thing we have right now is a note about timestamps (and an ad-hoc test I did once to see if maybe it worked or not). Even if we did support Kibana, we'd want the community to know where to get more help, or help when one of those who know Kibana aren't looking. Anyway... I'm glad you're interested in helping, as that'd be the first step towards supporting something sustainably. If you come up with something, let's put it in the README in a section for Kibana. Then, maybe @bsideup and/or I can help make sure it is tested. That way, we don't accidentally break it, which would be sad. Sound good! |
thanks @adriancole and @mansu |
well, it could only be better if you use elasticsearch :) ps whatever isn't good should at least be noted for improvement in with a screen shot of what's better (since good is subjective and not always guessable) https://github.com/openzipkin/zipkin-ui/issues Anyway, in case it helps, here's a complex query that the http implementation sends on the wire. It might help you figure out what to do (or not). ex. QueryRequest.builder().serviceName("service")
.spanName("methodcall")
.addAnnotation("custom")
.addBinaryAnnotation("BAH", "BEH").build(); becomes this http request:
|
@adriancole , thanks for the sample elasticsearch query. I was having trouble querying the serviceName too, until I realized from your code snippet that the annotations are stored as a nested object in elasticsearch, which requires a different type of query. One question I had though was why the serviceName is stored for every annotation. I would assume serviceName is applicable to the whole span, and should be stored as a field on the span. Under what situations can you have different serviceNames for the same span? @dragontree101 , here's a simpler query that you can use on elasticsearch to find spans that match a specific serviceName (in this example, I'm searching for spans with a serviceName of jdbc):
That is what worked for me. |
@adriancole <https://github.com/adriancole> , thanks for the sample
elasticsearch query. I was having trouble querying the serviceName too,
until I realized from your code snippet that the annotations are stored as
a nested object in elasticsearch, which requires a different type of query.
One question I had though was why the serviceName is stored for every
annotation. I would assume serviceName is applicable to the whole span, and
should be stored as a field on the span. Under what situations can you have
different serviceNames for the same span?
In an RPC span, you have a different serviceName for the client and the
server. Also, there's a special case for "ca"(Client Address) and "sa"
(Server Address) binary annotations. our api contract is such that service
name is a primary filter, so it is like.. I want a trace where service A
added annotation foo=bar.
http://zipkin.io/zipkin-api/#/paths/%252Ftraces
Hope that answers the question.
|
Sorry, I meant the raw spans (i.e. the spans you get when you query a trace from the zipkin api and pass in the parameter "raw"). Each raw span looks like they always have the same serviceName (in the raw trace, the client and server belong to different spans). I would imagine that the serviceName would exist at the same level as the span name, but instead it's populated for each annotation in the raw span, which makes querying from elasticsearch more difficult. I'm sure there is a reason for this, just wondering why. |
this is historical See #939 for
a proposal to use a new model.
|
closing as it is antiquated especially now we have a different model |
i send trace info to es5, and i want to search annotations or binaryAnnotations from kibana.
i have one span json like this:
i want to search
annotations
'sendpoint
'sserviceName
isfirst-example-dev
, and i direct searchfirst-example-dev
from kibana, no result :(, and i searchannotations:first-example-dev
also nothing.how can i search this content?
The text was updated successfully, but these errors were encountered: