1. 鷹眼
鷹眼是淘寶的分布式日志跟蹤系統(tǒng),通過收集和分析在不同的網(wǎng)絡(luò)調(diào)用中間件上的日志埋點项滑,可以得到同一次請求上的各個系統(tǒng)的調(diào)用鏈關(guān)系,有助于梳理系統(tǒng)間的依賴來源關(guān)系、容量規(guī)劃恃逻,也有助于分析系統(tǒng)調(diào)用瓶頸、定位異常根源藕施。同時寇损,業(yè)務(wù)方也可以在調(diào)用鏈上添加自己的業(yè)務(wù)埋點,使網(wǎng)絡(luò)調(diào)用和實際業(yè)務(wù)內(nèi)容得到關(guān)聯(lián)裳食。目前互聯(lián)網(wǎng)公司類似的產(chǎn)品有:Google Dapper矛市、Twitter Zipkin。
參考和文檔下載:http://download.csdn.net/detail/villa123/7418635诲祸。該文檔來自JavaOne 2013 大會浊吏。
重點歸納:
1)埋點和輸出日志(怎么埋點,怎么輸出救氯,數(shù)據(jù)怎么透傳找田,要透傳哪些數(shù)據(jù)?)
中間件埋點着憨,基于ThreadLocal
異步寫午阵,采樣
2)收集和存儲日志(怎么采集?怎么存?)
日志收集agent實時抓日志底桂,按traceid匯總植袍,不同的存儲方式
3)分析調(diào)用鏈
基于入口的鏈路分析(分析流量、整體的鏈路map即調(diào)用鏈關(guān)系籽懦、調(diào)用依賴關(guān)系于个、異常定位)
實時分析:入口和鏈路簽名
2. google dapper,大規(guī)模分布式系統(tǒng)的跟蹤系統(tǒng)
參考文章:https://bigbully.github.io/Dapper-translation/
以全局搜索為例暮顺,比如出現(xiàn)查詢耗時不正常厅篓,某一個應(yīng)用的工程師無法對全局調(diào)用關(guān)系那么了解,那么定位會無法入手捶码,無從知曉這個問題到底是由哪個服務(wù)調(diào)用造成的羽氮。
重點歸納:
1)低侵入,低消耗:跟蹤系統(tǒng)對在線服務(wù)的影響應(yīng)該足夠小惫恼。
2)應(yīng)用級別的透明:對應(yīng)用的程序員來說档押,是不需要知道有跟蹤系統(tǒng)存在的。若一個跟蹤系統(tǒng)的生效需要依賴應(yīng)用的開發(fā)者主動配合祈纯,那它也太脆弱了令宿。【lib植入到無所不在的公共組件中 & 自適應(yīng)采樣率或配上開關(guān)腕窥,使跟蹤系統(tǒng)變得可伸縮】
3)延展性:隨著服務(wù)和集群規(guī)模擴大粒没,監(jiān)控系統(tǒng)都能hold住。持續(xù)跟蹤簇爆,無所不在癞松。