Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> LinuxがSysdigを使用してシステム障害をトラブルシューティングする方法

LinuxがSysdigを使用してシステム障害をトラブルシューティングする方法

  

Sysdigは、システムのトラブルシューティングと監視を行うことができるシステムデバッグツールです。方法、興味のある友人が理解するようになることができます。

Linuxでは、Sysdigをインストールするには、次のコマンドを使用します。

カール-s https://s3.amazonaws.com/download.draios.com/stable/install- Sysdig |  Sudo bash

Sysdigをrpmまたはdeb Linuxシステムにインストールします。

システムアクティビティのキャプチャ

リアルタイムでキャプチャし、結果を標準出力に出力します。

sysdig

後でキャプチャした結果をファイルsystem.scapに保存します。分析:

sysdig -w system.scap

指定した数のイベント200を取得してファイルに保存します。

sysdig -n 200 -w system.scap

キャプチャしたファイルを読みます。

sysdig -r system.scap

キャプチャ結果を解釈します。

(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 = 1 790 vm_size = 35748 vm_rss = 7164 vm_swap = 0

6 10:54:50.464246835 0 "NA"(0)「切り替え次= 7 pgft_maj = 0 pgft_min = 0 vm_size = 0 vm_rss = 0 vm_swap = 0 < BR>

7 10:54:50.464249707 2 "NA"(0)「切り替え次= 8374 pgft_maj = 0 pgft_min = 0 vm_size = 0 vm_rss = 0 vm_swap = 0

8 10:54:50.464255940 0 "NA"(7) "スイッチ次= 0 pgft_maj = 0 pgft_min = 0 vm_size = 0 vm_rss = 0 vm_swap = 0

9 10:54:50.464264256 2" NA "(8374)" スイッチ次= 0 pgft_maj = 0 pgft_min = 0 vm_size = 0 vm_rss = 0 vm_swap = 0

10 10:54:50.464358113 2 "NA"(0)「次のスイッチ= 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)<< pol res = 0 fds =

12 10:54:50.464378193 2 mlnet(854)》ポーリングFDS =タイムアウト= 5

13 10:54:50.464385400 2 mlnet(854)「スイッチ次= 0 pgft_maj = 216 pgft_min = 3386 vm_size = 162608 vm_rss = 12196 vm_swap = 2716

14 10:54:50.464950541 0 "N "(0)" スイッチ次= 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)" 切り替え次= 0 pgft_maj = 3 pgft_min = 247 vm_size = 327412 vm_rss = 1860 vm_swap = 468

18 10:54:50.465256687 2 "NA"(0)「次= 2181(プラグインcontaine)を切り替えるpgft_maj = 0 pgft_min = 0 vm_size = 0 vm_rss = 0 vm_swap = 0

19 10:54:50.465261465 2プラグインcontaine(2181) "ポーリングRES = 0 FDS =

20 10:54:50.465297692 2プラグインcontaine(2181)" はgetrlimitリソース= 3(RLIMIT_STACK)

Sysdigによって取得された結果は上記のとおりであり、各列の意味は次のとおりです。

イベント番号

タイムスタンプ

CPU番号

プロセス名

スレッドID

イベントの方向、 "は入力イベント、 open、readなどのイベントタイプを終了するには

イベントパラメータリスト

フィルタキャプチャ結果

デフォルトでは、Sysdigは情報をキャプチャします。私たちが興味を持っていることを見つけるために多くのことがあります、それはgrepのようなフィルタリングを必要とします。

フィールドカテゴリで絞り込みます。

sysdig -r system.scap proc.name = sysdig

このコマンドは、プロセス名sysdigのシステムイベントを除外し、結果は次のようになります。 :

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)「スイッチ次= 0 pgft_maj = 0 pgft_min = 1790 vm_size = 35748 vm_rss = 7164 vm_swap = 0

SysdigはFD含む設け、プロセスevt、user、group、syslogなどのフィールドカテゴリは、sysdig -lによって照会できます。

=に加えて、Sysdigのフィルタ式もサポートされています。 =、 "、"、 "、" =、およびcontainsなどの比較演算子。

同時に、and、or、notなどのブール演算子を使用することもできます。例:

sysdig -r system.scap proc.name = sysdigおよびevt.type = switch

Chisels

Sysdigでは、chiselsはLuaで書かれたスクリプトです。 Sysdigのフィルタリング機能を拡張するために使用できます。

たとえば、ディスクファイルの読み書きに最も頻繁に使用されるプロセスを確認したい場合は、topprocs_fileチゼルを使用できます。

sysdig -c topprocs_file

結果は次のとおりです。

バイトプロセス

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

448.36KB mozStorage

220.38KB perl

1.69KB tmux

1.62KB sh

1.59KB Xorg

1.30KB urxvtd

のみ、sysdig -clから入手できます。もちろん、あなたがLuaに慣れているのなら、あなた自身の彫刻刀を書くこともできます。

以上でSysdigメソッドを使用したLinuxの紹介Sysdigコマンドを使用することで、Linuxシステムの障害情報を時間内に収集し、関連する問題を修正してLinuxシステムのパフォーマンスを最適な状態に保つことができます。

Copyright © Windowsの知識 All Rights Reserved