2015-02-11 38 views
3

我正在幫助開發一個內部雲基礎架構(OpenStack),爲我們的部門提供AWS/Rackspace/SoftLayer /等的完全內部部署選擇。生產Linux系統(RH/CentOS和Debian/Ubuntu)中系統級跟蹤的狀態是什麼?

我的老闆剛剛向一位內部客戶轉達了一個問題,他要求我們支持DTrace。我知道Oracle DTrace Projectdtrace4linux和Linux自己的本機SystemTap(我記得最初是建立在Linux kprobes;但我收集比新版本的SystemTap可以利用到DTrace或uprobes修補程序,這些修補程序合併到3.5內核)。我也聽說過SysdigLTTng甚至fulltrace(什麼是Linux內核ftraceuprobes支持之間的區別?)

我最初的反應是詢問該用戶是否已經嘗試有效利用ltrace和它的-S選項交叉系統呼叫跟蹤(àla strace)。

但是我也想在客戶回來之前知道更多。

我的第一個也是最重要的問題是:哪些選項可用於CentOS 6,6.5和7.0「開箱即用」(無需替換庫存內核)? Ubuntu 12.04和14.04 LTS版本的同樣問題?

從雲VM實例(OpenStack Nova,KVM)中,這些特別適合或特別不適用?

這些選項是否有相當好的和合理的近期比較?對於他們每個人所投入的時間和精力投資,我最好的選擇是什麼?

什麼都發生在尼爾斯·普羅沃斯的工作對Systrace

+1

Brendan Gregg在其網站http://www.brendangregg.com/Slides/LinuxConEU2014_LinuxPerfTools.pdf上有幾個關於linux perf/tracing的概述。列出了一些示蹤劑 - 幻燈片37,47,48,65-78:「\t示蹤劑:\t - perf_events,\t ftrace,\t eBPF,\t的SystemTap,\t ktap,\t LTTng,\t dtrace4linux,\t sysdig」 – osgx 2015-04-24 03:44:00

+0

我見過布倫丹在人(大規模)交談。那些是優秀的資源。我只是希望有一些新的共識和鞏固。 – 2015-04-24 17:46:04

回答

2

恕我直言的SystemTap是你的客戶一個不錯的選擇。我做了很多使用DTrace和SystemTap的,不得不說,什麼實現由DTrace是由SystemTap的

他們與其他工具https://sourceware.org/systemtap/wiki/SystemtapDtraceComparison比較(佔預期,SystemTap的是冠軍)實現的。它也向後兼容DTrace USDT探測器。

它適用於CentOS 6.x和7.x庫存內核。不能說任何關於Ubuntu的東西,因爲我使用Debian - 工作正常,但Debian 7的內核沒有uprobes。我也在Xen下使用它,一切看起來都很好。

與你提到的其他工具相比,但是,SystemTap的是更爲複雜,因爲不像Sysdig各項性能數據收集需要的腳本(它有實例,但並不多,而沒有這樣的東西作爲DTraceToolkit)。 Event LTTng項目正在開發用戶友好的工具。

此外,著名的DTrace的開發商之一,布倫丹·格雷格,目前正與Sysdig的SystemTap工作,這應該意味着什麼。