系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux使用Sysdig排查故障

Linux如何使用Sysdig排查系統(tǒng)故障

時(shí)間:2015-02-10 17:54:00 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪(fǎng)問(wèn): https://m.xitongzhijia.net/xtjc/20150210/37980.html 手機(jī)查看 評(píng)論

  Sysdig是一款系統(tǒng)調(diào)試工具,能夠?qū)ο到y(tǒng)進(jìn)行故障排查和監(jiān)控,在系統(tǒng)故障的時(shí)候非常實(shí)用,下面小編就給大家介紹下Linux使用Sysdig排除故障的方法,感興趣的朋友可以來(lái)了解下。

 Linux如何使用Sysdig排查系統(tǒng)故障

  在 Linux 上,可使用以下命令來(lái)安裝 Sysdig:

  curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

  這將把 Sysdig 安裝到 rpm 或 deb 系的 Linux 系統(tǒng)。

  捕獲系統(tǒng)活動(dòng)

  實(shí)時(shí)捕獲,結(jié)果打印到標(biāo)準(zhǔn)輸出:

  sysdig

  將捕獲結(jié)果保存到文件 system.scap,方便稍后分析:

  sysdig -w system.scap

  捕獲指定的事件數(shù) 200 并保存到文件:

  sysdig -n 200 -w system.scap

  讀取已捕獲的文件:

  sysdig -r system.scap

  捕獲結(jié)果解釋

 。1) (2) (3) (4) (5) (6) (7) (8)

  1 10:54:50.462463956 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  2 10:54:50.462603110 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  3 10:54:50.462729565 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  4 10:54:50.462859521 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  5 10:54:50.463206317 0 sysdig (29043) 》 switch next=0 pgft_maj=0 pgft_min=1790 vm_size=35748 vm_rss=7164 vm_swap=0

  6 10:54:50.464246835 0 《NA》 (0) 》 switch next=7 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  7 10:54:50.464249707 2 《NA》 (0) 》 switch next=8374 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  8 10:54:50.464255940 0 《NA》 (7) 》 switch next=0 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  9 10:54:50.464264256 2 《NA》 (8374) 》 switch next=0 pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  10 10:54:50.464358113 2 《NA》 (0) 》 switch next=854(mlnet) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  11 10:54:50.464370099 2 mlnet (854) 《 poll res=0 fds=

  12 10:54:50.464378193 2 mlnet (854) 》 poll fds= timeout=5

  13 10:54:50.464385400 2 mlnet (854) 》 switch next=0 pgft_maj=216 pgft_min=3386 vm_size=162608 vm_rss=12196 vm_swap=2716

  14 10:54:50.464950541 0 《NA》 (0) 》 switch next=1105(memcached) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  15 10:54:50.464954692 0 memcached (1105) 《 epoll_wait res=0

  16 10:54:50.464976007 0 memcached (1105) 》 epoll_wait maxevents=32

  17 10:54:50.464984030 0 memcached (1105) 》 switch next=0 pgft_maj=3 pgft_min=247 vm_size=327412 vm_rss=1860 vm_swap=468

  18 10:54:50.465256687 2 《NA》 (0) 》 switch next=2181(plugin-containe) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0

  19 10:54:50.465261465 2 plugin-containe (2181) 《 poll res=0 fds=

  20 10:54:50.465297692 2 plugin-containe (2181) 》 getrlimit resource=3(RLIMIT_STACK)

  通過(guò) Sysdig 捕獲的結(jié)果如上所示,每列的意思分別為:

  事件編號(hào)

  時(shí)間戳

  CPU 編號(hào)

  進(jìn)程名

  線(xiàn)程 ID

  事件方向,》 為進(jìn)入事件,《 為退出事件

  事件類(lèi)型,比如 open、read 等

  事件參數(shù)列表

  過(guò)濾捕獲結(jié)果

  在默認(rèn)情況下,Sysdig 捕獲的信息非常多,要從中找到我們感 興趣的信息,這就需要類(lèi)似 grep 的過(guò)濾功能。

  按字段類(lèi)別進(jìn)行過(guò)濾:

  sysdig -r system.scap proc.name=sysdig

  這條命令過(guò)濾出進(jìn)程名為 sysdig 的系統(tǒng)事件,結(jié)果為:

  1 10:54:50.462463956 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  2 10:54:50.462603110 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  3 10:54:50.462729565 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  4 10:54:50.462859521 0 sysdig (29043) 》 sysdigevent event_type=1 event_data=0

  5 10:54:50.463206317 0 sysdig (29043) 》 switch next=0 pgft_maj=0 pgft_min=1790 vm_size=35748 vm_rss=7164 vm_swap=0

  Sysdig 提供包括 fd、process、evt、user、group、syslog 等字段 類(lèi)別,可通過(guò) sysdig -l 查詢(xún)。

  除 = 外,Sysdig 的過(guò)濾表達(dá)式還支持 !=、《、《=、》、》= 及 contains 等比較操作符。

  同時(shí),也可以使用 and、or、not 等布爾操作符。例如:

  sysdig -r system.scap proc.name=sysdig and evt.type=switch

  Chisels

  在 Sysdig 中,chisels 是通過(guò) Lua 編寫(xiě)的腳本,可以用來(lái)擴(kuò)展 Sysdig 的過(guò)濾功能。

  比如我們想看讀寫(xiě)磁盤(pán)文件最頻繁的進(jìn)程,可以使用 topprocs_file 這個(gè) chisels:

  sysdig -c topprocs_file

  結(jié)果為:

  Bytes Process

  ------------------------------

  448.36KB mozStorage

  220.38KB perl

  1.69KB tmux

  1.62KB sh

  1.59KB Xorg

  1.30KB urxvtd

  更多 chisels,可通過(guò) sysdig -cl 了解。當(dāng)然,如果你熟悉 Lua, 那么也可以編寫(xiě)自己的 chisels。

  上面就是Linux使用Sysdig的方法介紹了,通過(guò)使用Sysdig命令,及時(shí)捕獲Linux系統(tǒng)的故障信息,并針對(duì)問(wèn)題進(jìn)行相關(guān)修復(fù),保證Linux系統(tǒng)的性能保持在最佳狀態(tài)。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言?xún)H代表用戶(hù)個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄