[英]What is the state of system level tracing in production Linux systems (RH/CentOS and Debian/Ubuntu)?
我正在幫助開發內部雲基礎架構(OpenStack),為我們的部門提供AWS / Rackspace / SoftLayer /等的完全本地替代方案。
我的老板剛剛向一些要求我們支持DTrace的內部客戶轉發了一個問題。 我知道的甲骨文的DTrace項目和dtrace4linux和Linux自身的本地SystemTap的 (我記得最初建於Linux的Kprobes的 ;但我收集了SystemTap比的較新版本可以挖掘到DTrace中或uprobes其合並為補丁3.5內核)。 我也聽說過Sysdig和LTTng甚至是完整跟蹤 (Linux內核ftrace
和uprobes
支持之間有什么區別?)
我最初的反應是問這個用戶是否試圖有效利用ltrace和它的-S
選項來交織的系統調用跟蹤(點菜strace的 )。
但在客戶回來之前,我也想知道更多。
我的第一個也是最重要的問題是:在這些各種選項中哪些可用於CentOS 6,6.5和7.0“開箱即用”(不更換庫存內核)? Ubuntu 12.04和14.04 LTS版本的問題相同嗎?
在雲VM實例(OpenStack Nova,KVM)中,這些中的任何一個是否特別適合或特別糟糕?
這些選項是否有相當好的和合理的近期比較? 對於每個人來說,投入的時間和精力投資最好的選擇是什么?
Niels Provos在Systrace上的工作發生了什么
恕我直言SystemTap是您的客戶的不錯選擇。 我在DTrace和SystemTap上做了很多工作,不得不說DTrace可以實現的功能可以通過SystemTap實現
他們與其他工具進行了比較https://sourceware.org/systemtap/wiki/SystemtapDtraceComparison (正如預期的那樣,SystemTap是獲勝者)。 它還與DTrace USDT探針向后兼容。
它適用於CentOS 6.x和7.x庫存內核。 不能說Ubuntu,因為我使用Debian - 工作正常,但Debian 7 stock內核沒有uprobes。 我也在Xen下使用它,一切看起來都很好。
然而,與您提到的其他工具相比,SystemTap更復雜,因為與Sysdig不同,每個性能數據集都需要編寫腳本(它有示例,但不多,並且沒有DTraceToolkit這樣的東西)。 事件LTTng項目正在開發用戶友好的工具。
此外,着名的DTrace開發人員之一,Brendan Gregg,目前正在與Sysdig和SystemTap合作 ,這應該意味着什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.