您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Linux中如何安裝并使用Sysdig”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中如何安裝并使用Sysdig”這篇文章吧。
Sysdig 是一個超級系統工具,比 strace、tcpdump、lsof 加起來還強大。可用來捕獲系統狀態信息,保存數據并進行過濾和分析。使用 Lua 開發,提供命令行接口以及強大的交互界面。
對于本教程,由于為了簡便、縮短安裝流程以及版本的不可知,我們將選擇使用官方網站提供的自動化安裝過程。在自動化過程中,安裝腳本會自動檢測操作系統并安裝必需的依賴包。
以root身份運行以下命令來從官方apt/yum倉庫安裝sysdig:
# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig |
安裝完成后,我們可以通過以下方法調用sysdig來感受一下它:
# sysdig
我們的屏幕將馬上被系統上發生的所有事件填滿,對于這些信息,不便于我們做更多操作。要進一步處理,我們可以運行:
# sysdig -cl | less
來查看可用的鑿子列表。 默認有以下類目可用,各個類目中分布有多個內建的鑿子。 •CPU Usage:CPU使用量 •Errors:錯誤 •I/O •Logs:日志 •Misc:混雜 •Net:網絡 •Performance:性能 •Security:安全 •System State:系統狀態
要顯示指定鑿子上的信息(包括詳細的命令行用法),運行以下命令:
# sysdig -cl [鑿子名稱]
例如,我們可以檢查“網絡”類目下關于spy_port鑿子的信息:
# sysdig -i spy_port
鑿子可以通過過濾器(可同時應用于實時數據和記錄文件)組合,以獲取更多有用的輸出。
過濾器遵從“類.字段”結構。例如: •fd.cip:客戶端IP地址。 •evt.dir:事件方向,可以是‘>’用于進入事件,或‘
假定你的服務器發生了性能問題(如,沒有回應,或者重大的回應延遲)。你可以使用瓶頸鑿子來顯示當前10個最慢系統調用的列表。
使用以下命令在存活服務器上進行實時檢查。“-c”標識,后跟鑿子名稱告訴sysdig運行指定的鑿子。
# sysdig -c bottlenecks
或者,你可以離線對服務器實施性能分析。在此種情況下,你可以保存完整的sysdig記錄到文件,然后像下面這樣針對記錄運行瓶頸鑿子。
首先,保存sysdige記錄(使用Ctrl+c來停止收集):
# sysdig -w trace.scap
收集完記錄后,你可以運行以下命令來檢查捕獲間隔中最慢的系統調用:
# sysdig -r trace.scap -c bottlenecks
你需要關注欄#2,#3和#4,這些分別表示執行時間、進程名和PID。
假定你作為系統管理員想要監控系統中交互的用戶活動(如,用戶在命令行輸入了什么命令,以及用戶去了什么目錄),這時spy_user鑿子就派上用場了。
讓我們首先通過一些額外選項來收集一個sysdig記錄。
# sysdig -s 4096 -z -w /mnt/sysdig/$(hostname).scap.gz
•“-s 4096”告訴sysdig每個事件捕獲4096字節。 •“-z” (與“-w”一起使用)為記錄文件啟用壓縮。 •“-w ”保存sysdig記錄到指定的文件。
在上面的例子中,我們自定義了基于每個主機的壓縮的記錄文件的名稱。記住,你可以在任何時候按下Ctrl+c來打斷sysdig的執行。
在我們收集到了合理數量的數據后,我們可以通過運行以下命令來查看每個用戶的交互活動:
sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users
上面輸出的第一欄表示與指定用戶的活動相關進程的PID。
如果你想要定位一個指定的用戶,以及只監控該用戶的活動又怎么樣呢?你可以通過用戶名對spy_users鑿子的結果進行過濾:
sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users "user.name=xmodulo"
我們可以使用“-p”標識來自定義sysdig記錄的輸出格式,并指定雙引號括起來的想要的字段(如用戶名、進程名,以及文件或套接口名稱)。在本例中,我們將創建一個記錄文件,該文件將只包含在家目錄中的寫入事件(我們今后可以使用“sysdig -r writetrace.scap.gz”來檢測該文件)。
# sysdig -p "%user.name %proc.name %fd.name" "evt.type=write and fd.name contains /home/" -z -w writetrace.scap.gz
作為服務器排障的一部分,你可能想要監聽網絡通信,此工作通常由tcpdump做。對于sysdig,可以很容易進行通信嗅探,其風格更為對用戶友好。
例如,你可以檢查由特定IP地址,特定進程(如apache2)提供的數據(ASCII編碼格式):
# sysdig -s 4096 -A -c echo_fds fd.cip=192.168.0.100 -r /mnt/sysdig/debian.scap.gz proc.name=apache2
如果你想要監控原生數據傳輸(二進制格式),請把“-A”替換為“-X”:
# sysdig -s 4096 -X -c echo_fds fd.cip=192.168.0.100 -r /mnt/sysdig/debian.scap.gz proc.name=apache2以上是“Linux中如何安裝并使用Sysdig”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。