簡體   English   中英

分布式跟蹤日志記錄並與Logstash,Kibana和ElasticSearch集成

[英]Distributed Tracing logging and Integrating with Logstash,Kibana and ElasticSearch

我在Google Dapper( http://research.google.com/pubs/pub36356.html )和eBay CAL事務日志框架( http://devopsdotcom.files.wordpress )中實現了一個分布式事務日志庫,其中包含Tree like Structure .com / 2012/11 / screen-shot-2012-11-11-at-10-06-39-am.png )。

日志格式

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號碼格式

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

我想要做的是將此格式與Kibana UI集成,當用戶想要搜索並單擊TRACE_GUID時,它將顯示類似於分布式CALL圖的內容,以顯示花費的時間。 這是UI http://twitter.github.io/zipkin/ 這將是偉大的。 我不是UI開發人員,如果有人可以指出我如何做這將是偉大的。

此外,我想知道如何索引彈性搜索有效載荷數據,以便用戶指定一些表達式,如有效載荷(持續時間> 1000),然后,彈性搜索將帶來滿足條件的所有日志。 此外,我想將Payload索引為Name = Value對,以便用戶可以查詢(key3 = value2或key4 = exception )某種正則表達式。 如果可以實現,請告訴我。 任何幫助指針都會很棒..

謝謝,Bhavesh

在elasticsearch中進行良好搜索的第一步是從數據中創建字段。 使用日志,logstash是正確的工具。 grok {}過濾器使用模式(現有或用戶定義的正則表達式)將輸入拆分為字段。

您需要確保它已映射到整數(例如,模式中的%{INT:duration:int})。 然后,您可以查詢elasticsearch的“duration:> 1000”以獲得結果。

Elasticsearch使用lucene查詢引擎,因此您可以基於此查找示例查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM