現在のシステム パフォーマンスを分析するために使用できる多くのツール/ユーティリティがあります。しかし、過去のシステム パフォーマンスをどのように評価すればよいでしょうか。そのために、システム アクティビティ レポート (SAR) ツールを使用できます。 sar ツールを使用すると、一定期間を振り返り、サーバーがどのように実行されているかを確認できます。
この投稿では、sysstat ツールをインストールして使用する方法について説明します。したがって、過去のシステム統計を調べることができます。
sysstat のインストール
まず、「sysstat」をインストールします sar ユーティリティを提供します。
# apt-get install sysstat ### Debian-based distributions # yum install sysstat ### RedHat Based distribution
さまざまな Linux ディストリビューションの履歴データは、次のディレクトリに保存されています。
1. Red Hat、Fedora、CentOS、Scientific Linux は /var/log/sa を使用する必要があります ディレクトリ
2. Debian、Mint、および Ubuntu ユーザーは、/var/log/sysstat を使用する必要があります ディレクトリ
デフォルトでは、sar 統計は 10 分ごとに収集されます。データは、/etc/cron.d/sysstat 内で構成された単純な cron ジョブを使用して収集されます .このジョブは、必要な頻度でデータを収集するように修正できます。 /etc/cron.d/sysstat ファイルの例を以下に示します。
# cat /etc/cron.d/sysstat # Run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib64/sa/sa1 1 1 # 0 * * * * root /usr/lib64/sa/sa1 600 6 & # Generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib64/sa/sa2 -A
過去の sar データの収集
1. sar を使用すると、ライブの sar データを簡単に取得できます。デフォルトでは、sar は CPU モードで動作します。名前のとおりにコマンドを使用するだけで、当日の 10 分ごとの CPU アクティビティ サンプルを受け取ります。
# sar Linux 2.6.32-504.el6.x86_64 (geeklab) 09/28/2018 _x86_64_ (16 CPU) 12:00:01 AM CPU %user %nice %system %iowait %steal %idle 12:10:01 AM all 7.28 0.00 2.94 0.02 0.00 89.77 12:20:01 AM all 7.16 0.00 2.47 0.02 0.00 90.35 12:30:01 AM all 6.96 0.00 2.43 0.01 0.00 90.59 12:40:01 AM all 6.92 0.00 2.42 0.01 0.00 90.64 ...
2. 過去のある時点でのシステム パフォーマンスを分析するとします。たとえば、午前 10 時から午前 10 時までのシステム パフォーマンスを表示します。午前12時までアプリケーション チームがアプリの速度低下に直面したとき。
# sar -r -s 10:00:00 -e 12:00:00
sar は -s を使用します データ抽出の開始時刻を指定する引数と、終了時刻を設定する別の引数 (-e)。これらのパラメーターは、HH:MM:SS 形式で記述する必要があります。そうしないと、sar はそれらを無視してエラーを出します。 -r 引数は、メモリ使用量データを表示するために使用されます。
3. RedHat ベースのディストリビューションの場合、sar 履歴データは /var/log/sa ディレクトリに保存されます。ファイルは、保持された日付ごとに sar データを含む単純なバイナリ形式です。ファイルの先頭には sa が付きます。したがって、sa23 はその月の 23 日の sar データです。たとえば、CenOS/RHEL システムで。
# ls /var/log/sa sa01 sa04 sa07 sa10 sa13 sa16 sa19 sa22 sa25 sa28 sar01 sar04 sar07 sar10 sar13 sar16 sar19 sar22 sar25 sar30 sa02 sa05 sa08 sa11 sa14 sa17 sa20 sa23 sa26 sa30 sar02 sar05 sar08 sar11 sar14 sar17 sar20 sar23 sar26 sar31 sa03 sa06 sa09 sa12 sa15 sa18 sa21 sa24 sa27 sa31 sar03 sar06 sar09 sar12 sar15 sar18 sar21 sar24 sar27
次のコマンドを実行して、その月の 10 日の過去の I/O 統計を表示します:
# sar -f /var/log/sysstat/sa10 -b
sar 履歴データ保持の変更
ファイル /etc/sysconfig/sysstat を使用して、過去の sar データ保持を変更できます。 または /etc/sysstat/sysstat . 履歴を変更する データを保持するために必要な日数にパラメータを設定します。たとえば、28 日間の記録を保持するには、次のように使用できます。
# cat /etc/sysconfig/sysstat # sysstat-9.0.4 configuration file. # How long to keep log files (in days). # If value is greater than 28, then log files are kept in # multiple directories, one for each month. HISTORY=28 # Compress (using gzip or bzip2) sa and sar files older than (in days): COMPRESSAFTER=31 # Parameters for the system activity data collector (see sadc manual page) # which are used for the generation of log files. SADC_OPTIONS="-S DISK" # Compression program to use. ZIP="bzip2"