Sysdig Linux伺服器監控和排障利器

2021-09-03 09:49:06 字數 3300 閱讀 7599

安裝sysdig

對於本教程,由於為了簡便、縮短安裝流程以及版本的不可知,我們將選擇使用官方**提供的自動化安裝過程。在自動化過程中,安裝指令碼會自動檢測作業系統並安裝必需的依賴包。

以root身份執行以下命令來從官方apt/yum倉庫安裝sysdig:

安裝完成後,我們可以通過以下方法呼叫sysdig來感受一下它:

# sysdig

我們的螢幕將馬上被系統上發生的所有事件填滿,對於這些資訊,不便於我們做更多操作。要進一步處理,我們可以執行:

# sysdig -cl | less

來檢視可用的鑿子列表。

預設有以下類目可用,各個類目中分布有多個內建的鑿子。

要顯示指定鑿子上的資訊(包括詳細的命令列用法),執行以下命令:

# sysdig -cl [鑿子名稱]

例如,我們可以檢查「網路」類目下關於spy_port鑿子的資訊:

鑿子可以通過過濾器(可同時應用於實時資料和記錄檔案)組合,以獲取更多有用的輸出。

過濾器遵從「類.欄位」結構。例如:

完整的過濾器列表可以通過以下命令顯示:

# sysdig -l

在本教程剩餘部分,我將演示幾個sysdig的使用案例。

sysdig例項: 伺服器效能排障

假定你的伺服器發生了效能問題(如,沒有回應,或者重大的回應延遲)。你可以使用瓶頸鑿子來顯示當前10個最慢系統呼叫的列表。

使用以下命令在存活伺服器上進行實時檢查。「-c」標識,後跟鑿子名稱告訴sysdig執行指定的鑿子。

# sysdig -c bottlenecks

或者,你可以離線對伺服器實施效能分析。在此種情況下,你可以儲存完整的sysdig記錄到檔案,然後像下面這樣針對記錄執行瓶頸鑿子。

首先,儲存sysdige記錄(使用ctrl+c來停止收集):

# sysdig -w trace.scap

收集完記錄後,你可以執行以下命令來檢查捕獲間隔中最慢的系統呼叫:

你需要關注欄#2,#3和#4,這些分別表示執行時間、程序名和pid。

sysdig例項: 監控互動使用者活動

假定你作為系統管理員想要監控系統中互動的使用者活動(如,使用者在命令列輸入了什麼命令,以及使用者去了什麼目錄),這時spy_user鑿子就派上用場了。

讓我們首先通過一些額外選項來收集乙個sysdig記錄。

# sysdig -s 4096 -z -w /mnt/sysdig/$(hostname).scap.gz

在上面的例子中,我們自定義了基於每個主機的壓縮的記錄檔案的名稱。記住,你可以在任何時候按下ctrl+c來打斷sysdig的執行。

在我們收集到了合理數量的資料後,我們可以通過執行以下命令來檢視每個使用者的互動活動:

# sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users

上面輸出的第一欄表示與指定使用者的活動相關程序的pid。

如果你想要定位乙個指定的使用者,以及只監控該使用者的活動又怎麼樣呢?你可以通過使用者名稱對spy_users鑿子的結果進行過濾:

sysdig例項: 監控檔案i/o

我們可以使用「-p」標識來自定義sysdig記錄的輸出格式,並指定雙引號括起來的想要的字段(如使用者名稱、程序名,以及檔案或套介面名稱)。在本例中,我們將建立乙個記錄檔案,該檔案將只包含在家目錄中的寫入事件(我們今後可以使用「sysdig -r writetrace.scap.gz」來檢測該檔案)。

sysdig例項: 監控網路i/o

作為伺服器排障的一部分,你可能想要監聽網路通訊,此工作通常由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

原文: gabriel cánepa

譯文: golinux

效能測試之nmon對linux伺服器的監控

nmon是一款計算機效能系統監控工具,因為它免費,體積小,安裝簡單,耗費資源低,廣泛應用於aix和linux系統 效能測試時,需要根據測試場景的執 況,分析一段時間內系統資源的變化,這時需要nmon採集資料並儲存下來,以下是常用的引數 f 引數 生成檔案,檔名 主機名 當前時間.nmon t 引數 ...

HystirixDashboard服務監控

一 建pom org.springframework.cloud groupid spring cloud starter netflix hystrix dashboard artifactid dependency org.springframework.boot groupid spring ...

伺服器安裝Linux伺服器

新辦公需要搭建一台伺服器,之前也沒有怎麼搞過,不過有一些了解,於是和同事一起嘗試安裝一下伺服器。本人使用ultraiso燒錄u盤,系統檔案是centos 6.6 x86 64 bin 1.ios,使用urtraiso開啟iso檔案,然後如下圖 接著就可以寫入,u盤會被格式化的,注意備份,等待寫入就可...