Distributed Tracking Logging and Integrate with LogStash, Kibana and ElasticSearch

I have worked on Google Dapper (http://research.google.com/pubs/pub36356.html) and eBay CAL transaction log framework (http://devopsdotcom.files.wordpress. com/2012/11/screen-shot-2012-11-11-at-10-06-39-am.png) mentioned a distributed transaction log library with a tree structure.

Log format

TIMESTAMP HOSTNAME DATACENTER ENVIRONMENT EVENT_GUID PARENT_GUID TRACE_GUID APPLICATION_ID TREE_LEVEL TRANSACTION_TYPE TRANSACTION_NAME STATUS_CODE DURATION(in ms) PAYLOAD(key1=value2,key2=value2)

GUID HEX number format

MURMER_HASH(HOSTNAME + DATACENTER + ENVIRONMENT)-JVM_THREAD_ID-(TIME_STAMP+Atomic Counter)

What I want to do It is to integrate this format with Kibana UI. When the user wants to search and click TRACE_GUID, it will display content similar to the distributed CALL graph, which shows the time spent. This is the UI http://twitter.github. io/zipkin/. This would be great. I am not a UI developer, it would be great if someone can point me to how to do it.

Also, I would like to know how to index elastic search payload data, So that the user can specify some expressions, such as payload (duration> 1000), and then, elastic search will bring all logs that meet the conditions. In addition, I want to index the Payload as a Name = Value pair so that the user can query (key3 = value2 or key4 = exception) some kind of regular expression. If it can be achieved, please let me know. Any help pointers would be great..

Thanks,
Bhavesh

< div class="content-split">< /div>

The first step in a good search in elasticsearch is to create fields from the data. Use logs, logstash is the right tool. grok {} filter usage pattern (existing or user-defined Regex) to split the input into fields.

You need to make sure it is mapped to an integer (for example, %{INT:duration:int} in the pattern). Then, you can Query elasticsearch for “duration:> 1000” to get the result.

Elasticsearch uses the lucene query engine, so you can find sample queries based on this.

I have worked on Google Dapper (http://research.google.com/pubs/pub36356.html) and eBay CAL transaction log framework (http://devopsdotcom.files.wordpress.com/2012/11/screen-shot-2012 -11-11-at-10-06-39-am.png) mentioned a distributed transaction log library with a tree structure.

Log format

TIMESTAMP HOSTNAME DATACENTER ENVIRONMENT EVENT_GUID PARENT_GUID TRACE_GUID APPLICATION_ID TREE_LEVEL TRANSACTION_TYPE TRANSACTION_NAME STATUS_CODE DURATION(in ms) PAYLOAD(key1=value2,key2=value2)

pGUID HEX number format

MURMER_HASH(HOSTNAME + DATACENTER + ENVIRONMENT)-JVM_THREAD_ID-(TIME_STAMP+Atomic Counter)

What I want to do is to integrate this format with Kibana UI, when When the user wants to search and click on TRACE_GUID, it will display something similar to the distributed CALL graph, which shows the time spent. This is the UI http://twitter.github.io/zipkin/. It will be great. I am not a UI developer, if anyone can point me to how to do it This will be great.

In addition, I want to know how to index elastic search payload data so that the user can specify some expressions such as payload (duration> 1000), and then, elastic search will bring All logs that meet the conditions. Also, I want to index the Payload as Name=Value pairs so that users can query (key3=value2 or key4=exception) some kind of regular expression. If it can be achieved, please let me know. Any help pointers will be Great..

Thank you,
Bhavesh

The first step in a good search in elasticsearch is to create from the data Fields. Use logs, logstash is the right tool. grok () filters use patterns (existing or user-defined regular expressions) to split the input into fields.

You need to make sure it Has been mapped to an integer (for example, %{INT: duration: int} in the pattern). Then, you can query elasticsearch’s “duration:> 1000” to get the result.

Elasticsearch uses the lucene query engine, So you can find sample queries based on this.

Leave a Comment

Your email address will not be published.