Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでリソースの使用履歴をモニタリングしたいと考えています。atop ツールを使ってこれを行うにはどうしたらいいですか?
簡単な説明
atop ツールは、後で分析するためにリソースの使用履歴を記録するパフォーマンスモニタリングツールです。このツールでは、リアルタイムのレポート作成も可能です。各プロセスおよびスレッドの CPU 使用率、メモリ消費量、ディスク I/O の使用状況を取得できます。長期的なサーバー分析ができるよう、atop ツールは、統計の記録中はバックグラウンドで アクティブなままになっています。統計情報は、デフォルトで 28 日間保存されます。
注: atop は、インストール後にのみデータのログを開始します。atop のインストール日より前のプロセスに関するパフォーマンスデータの履歴は、取得できません。
解決方法
atop をインストールする
詳細なインストール手順については、「Amazon Linux、RHEL、CentOS、または Ubuntu を実行している自分の EC2 インスタンスに対して、ATOP および SAR モニタリングツールを設定する方法を教えてください」をご参照ください。
過去の確認と分析のために atop レポートログを読む
atop ツールは、/var/log/atop にログファイルを作成します。これらは「atop_ccyymmdd」というフォーマットでファイル名が付きます。例えば、「atop_20210902」は 2021 年 9 月 2 日のレコードです。
ログファイルにアクセスするには、atop -r atoplogfilepath コマンドを実行します。atoplogfilepath を、atop ログファイルへのフルパスに置き換えます。コマンドとログファイルは次の例のように表示されます。
atop -r /var/log/atop/atop_20210902
ATOP - ip-172-20-139-91 2021/09/02 17:03:44 ---------------- 3h33m7s elapsed
PRC | sys 6.51s | user 7.85s | #proc 103 | #tslpi 81 | #tslpu 0 | #zombie 0 | #exit 0 |
CPU | sys 0% | user 3% | irq 0% | idle 197% | wait 0% | ipc notavail | curscal ?% |
cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu000 w 0% | ipc notavail | curscal ?% |
cpu | sys 0% | user 1% | irq 0% | idle 98% | cpu001 w 0% | ipc notavail | curscal ?% |
前述の出力例では、最初に記録されたスナップショットは 2021/09/02 17:03:44 でした。次のスナップショットに進むには、キーボードの 「t」 (小文字) キーを押します。前のスナップショットに戻るには、「T」(大文字)キーを押します。
特定のタイムスロットを分析するには、「b」 キーを押し、日付と時刻を入力します。atop ツールは、[新しい時刻を入力] 変数で指定された時刻にスキップします。
NET | lo ---- | pcki 2 | pcko 2 | sp 0 Mbps | si 0 Kbps | so 0 Kbps | erro 0 |
Enter new time (format [YYYYMMDD]hhmm):
PID TID RDDSK WRDSK WCANCL DSK CMD 1/4
ショートカットキー
ショートカットキーを押すと、さまざまな統計を表示できます。ショートカットキーの例を以下に示します。
| |
---|
ショートカットキー | 説明 |
g | 汎用情報 (デフォルト)。 |
m | メモリの詳細。 |
d | ディスクの詳細。 |
n | ネットワークの詳細。このキーは netatop カーネルモジュールがインストールされている場合にのみ機能します。 |
c | プロセスごとの完全なコマンドライン |
次のショートカットキーを使用して、プロセスのリストをソートできます。
| |
---|
ショートカットキー | 並べ替え |
C | CPU アクティビティ。 |
M | メモリ消費量。 |
D | ディスクアクティビティ。 |
N | ネットワークアクティビティ。このキーは netatop カーネルがインストールされている場合にのみ機能します。 |
A | 最もアクティブなシステムリソース (自動モード)。 |
h キーを押すと、ヘルプドキュメントが表示されます。
atopsar コマンド
atopsar コマンドは、従来の UNIX の sar コマンドに似た機能です。atopsar コマンドを使用して、さまざまなシステムアクティビティレポートを生成できます。
atopsar コマンドは、色分けと(リクエストに応じ)マーカーで、リソースの使用率を強調します。クリティカルな使用率は赤でマークされ、ほぼクリティカルな使用率はシアンでマークされます。
次の例では、フラグ「-c」を使用して、システムの現在の CPU 使用率に関するレポートを生成します。次の例は、1 秒間隔の 2 つの結果を示しています。
$ atopsar -c 1 2
ip-172-20-139-91 4.14.238-182.422.amzn2.x86_64 #1 SMP Tue Jul 20 20:35:54 UTC 2021 x86_64 2021/09/02
-------------------------- analysis date: 2021/09/02 --------------------------
18:50:16 cpu %usr %nice %sys %irq %softirq %steal %guest %wait %idle _cpu_
18:50:17 all 0 0 0 0 0 0 0 0 200
0 0 0 0 0 0 0 0 0 100
1 0 0 0 0 0 0 0 0 100
18:50:18 all 0 0 0 0 0 0 0 0 200
0 0 0 0 0 0 0 0 0 100
1 0 0 0 0 0 0 0 0 100
atopsar コマンドは、履歴データを分析することもできます。たとえば、次のコマンドを実行して、当日の 13 時 00 分 (-b) から始まり、13 時 35 分 (-e) に終了するすべてのレポート (-A) を生成します。
atopsar -A -b 13:00 -e 13:35
前日のファイルを読み込むには、「-r」オプションを使用し、ログファイル名を指定します。
関連情報
EC2 Linux インスタンスがリソースの過剰使用が原因で応答しなくなるのはなぜですか?