Sysdigを使用してLinuxシステムサーバの障害を監視および排除する方法
プロセスの発生と受信のシステム呼び出しを追跡する必要がある場合、まず頭に浮かぶのは何ですか?straceを思い浮かべるかもしれませんが、あなたは正しいです。元のネットワーク通信を監視するには、どのようなコマンドラインツールを使用しますか?tcpdumpを考えたら、あなたはまた素晴らしい選択をしました。開いているファイル(Unixの意味では:すべてのファイル)を追跡しなければならない必要がある場合は、lsofを使用する可能性があります。
Sysdigのインストールこのチュートリアルでは、インストールの流れを簡単にし、バージョンを短縮するために、公式Webサイトで提供されている自動インストールプロセスを使用します。自動化の過程で、インストールスクリプトはオペレーティングシステムを自動的に検出し、必要な依存パッケージをインストールします。
rootとして次のコマンドを実行して、公式apt/yum倉庫からsysdigをインストールします。
コードのコピーインストールが完了したら、sysdigを呼び出して感じることができます。
コードのコピー私たちの画面はすぐにシステム上で発生したすべてのイベントに埋め込まれ、これらの情報に対して、私たちがより多くの操作をするのは不便です。さらに処理するには、次のようにします。
コードのコピーデフォルトでは、以下のカテゴリが使用できます。各カテゴリには、複数の内蔵ドリルが分布しています。
Errors:エラー
I/OMisc:混在
Net:ネットワークSecurity:セキュリティ
System State:システム状態
<’用于退出事件。指定したドリルの情報(詳細なコマンドラインの使用方法を含む)を表示するには、次のコマンドを実行します。コードのコピー
#sysdig-cl[のみ名]# sysdig -i spy_port
ドリルは、フィルタ(リアルタイムデータと記録ファイルに同時に適用可能)を組み合わせて、より多くの有用な出力を得ることができます。
フィルタはクラス.フィールド構造に従います。例:コードのコピー
# sysdig -l
Sysdigインスタンス:サーバのパフォーマンス障害次のコマンドを使用して、生存サーバでリアルタイムチェックを行います。「-c」は、sysdigに指定したドリルを実行するようにドリル名とともに表示されます。
コードのコピーまず、sysdigeレコードを保存します(Ctrl+cを使用して収集を停止します):
コードのコピー
# sysdig -w trace.scap# sysdig -r trace.scap -c bottlenecks
Sysdigインスタンス:インタラクティブなユーザー・アクティビティの監視
システム管理者として、システム内のインタラクティブなユーザーアクティビティ(コマンドラインでユーザーがどのコマンドを入力したのか、ユーザーがどのディレクトリに行ったのかなど)を監視したいと仮定すると、spy_user凿子が役に立ちました。コードのコピー
# sysdig -s 4096 -z -w /mnt/sysdig/$(hostname).scap.gz
「-s 4096」はsysdigに各イベントに4096バイトを取得するように伝えた。# sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users
上に出力された1番目の欄には、指定されたユーザのアクティビティに関連するプロセスのPIDが表示されます。
指定したユーザーを特定し、そのユーザーのアクティビティだけを監視したい場合はどうですか?ユーザー名でspy_usersのみの結果をフィルタします。# sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users "user.name=xmodulo"
Sysdigインスタンス:モニタファイルI/O# sysdig -p "%user.name %proc.name %fd.name" "evt.type=write and fd.name contains /home/" -z -w writetrace.scap.gz