対話型ツールで分かるのは、画面を見ている間に起きていることです。速度低下がすでに収まっている場合には、履歴監視が必要です。sysstat スイートはシステムカウンターを定期的に収集し、sar は現在のカウンターまたは保存された活動ファイルを読み取ります。
プロセス利用率 · レッスン 7
継続的監視
sysstat のデータ収集と sar のレポートを、Linux の過去の性能分析に役立てる方法を学びます。
データ収集を有効にする
ディストリビューションの sysstat パッケージをインストールし、収集機能と保存の仕組みが有効になっていることを確認します。サービス名、タイマー名、設定パスはディストリビューションによって異なり、パッケージをインストールしただけでは収集が始まるとは限りません。
systemd を使うホストでは名前を推測せず、パッケージが提供するユニットを調べます。
$ systemctl list-unit-files | grep sysstat
$ systemctl list-timers --all | grep sysstat
ディストリビューションの sysstat データディレクトリに新しい活動ファイルが作られていることを確認し、その権限と保存方針も見直してください。
sysstat のインストール後に何を確認すべきですか?
現在のサンプルを読む
1秒間隔で CPU レポートを3回収集するよう sar に指示します。
$ sar -u 1 3
ほかによく使うレポートには、実行キューとロード(-q)、メモリ(-r)、ページング(-B)、ブロックデバイス(-d)、CPU ごとの活動(-P ALL)があります。オプションとフィールドは sysstat のバージョンによって異なるため、sar --help またはローカルのマニュアルを確認してください。
sar -u 1 3 は何を要求しますか?
履歴ファイルを読む
保存先とファイル名は環境によって異なり、/var/log/sysstat または /var/log/sa の下にあることが一般的です。選択した活動ファイルを -f で渡します。
$ sar -q -f /var/log/sysstat/sa02
レポートのヘッダーでファイルの完全な日付を確認してください。2桁の接尾辞は日付を表すことが多く、保存期間をまたぐと曖昧になる場合があります。また、保存されたバイナリ形式を読むには、互換性のある sysstat バージョンが必要なことがあります。
指定した活動ファイルを sar に読み込ませるオプションはどれですか?
インシデントを関連付ける
インシデントの時刻とタイムゾーンを確定し、同じ区間の複数のシグナルを比較します。ロード、CPU、実行キュー、ページング、デバイス活動、ネットワーク通信、アプリケーション遅延の変化を探してください。カウンターの変化が示すのは相関であり、必ずしも因果関係ではありません。デプロイ記録やアプリケーションログから、きっかけが分かる場合があります。
データの欠落は、ホストの停止、コレクターの障害、または保存期間による削除を意味することがあります。インシデント発生前に証拠の欠落へ気付けるよう、監視パイプライン自体も監視してください。
インシデントレビューでは、sar の履歴データをどう使うべきですか?
レッスン完了
継続的監視 を完了しました
対話型セッションの外で起きた性能問題を sar で調査できるようになりました。
収集と保存が実際に動作していることを確認する。
間隔と回数を指定し、範囲を限定した現在のサンプルを取得する。
履歴の活動ファイルを明示的に選択する。
複数の指標をインシデント時刻やワークロードの証拠とそろえる。