sarインストール＆設定手順

# 前提

linuxのリソースを監視するのに便利なsysstat(sarコマンド)をインストールすることにより、現在のサーバリソースを確認でき、さらに過去にさかのぼって負荷状態を確認できるようになる。

# インストール＆設定

```
$ sudo yum install -y sysstat # sysstatのインストール
$ sudo vi /etc/cron.d/sysstat # configの修正
```

### 設定例

```
# 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
```

# 運用



## sysstatの起動

```
$ sudo systemctl start sysstat.service # CentOS7.x
$ sudo service sysstat start # CentOS6.x / Amazon Linux
```

## sysstatの停止（必要な時だけ）

```
$ sudo systemctl stop sysstat.service # CentOS7.x
$ sudo service sysstat stop # CentOS6.x / Amazon Linux
```

## sarコマンドで現在のcpuを確認

```
$ sar
```

or

```
$ sar -q
```

LINUXが再起動した時刻には以下のように「LINUX RESTART」と記録されます。

```
02:59:46 PM       LINUX RESTART
```

## sarコマンドで過去のcpuを確認

* saxxのxxは2桁日付

```
$ sar -f /var/log/sa/sa08
```

## sarコマンドで時間指定

```
$ sar -s 11:00:00 -e 12:00:00
```

## sarコマンドでリアルタイム確認

* 1秒ごと10回
* 回数は省略可能

```
$ sar 1 10
```

## そのほかオプション

|option|説明|
|-----|-----|
|-u|[CPU](#cpu)|
|-u -P ALL|[CPUを各コアごとに](#cpuを各コアごとに)|
|-q|[ロードアベレージ](#ロードアベレージ)|
|-r|[メモリ](#メモリ)|
|-W|[スワップ](#スワップ)|
|-n DEV|[ネットワーク](#ネットワーク)|
|-b|[ディスクIO](#ディスクio)|
|-d|[ディスク動作](#ディスク動作)|

# 利用例

アプリであれば通知が遅いとか、Webであれば表示が遅いなどのときにサーバにログインして実際に何か重い処理が張り付いていないかを確認するときに便利です。

## CPU

```
$ sar 1 1 -u
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:51:30 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:51:31 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
Average:        all      0.00      0.00      0.00      0.00      0.00    100.00
```

## CPUを各コアごとに

```
$ sar 1 1 -u -P ALL                                                                                                                                                                                       
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:52:30 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:52:31 PM     all      0.00      0.00      1.00      0.00      0.00     99.00
02:52:31 PM       0      0.00      0.00      1.00      0.00      0.00     99.00

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      0.00      0.00      1.00      0.00      0.00     99.00
Average:          0      0.00      0.00      1.00      0.00      0.00     99.00
```

## ロードアベレージ

```
$ sar 1 1 -q                                                                                                                                                                                              
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:55:33 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
02:55:34 PM         1       181     13.00     13.01     13.05         0
Average:            1       181     13.00     13.01     13.05         0
```

## メモリ

```
$ sar 1 1 -r                                                                                                                                                                                              
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:55:52 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
02:55:53 PM    122688    378092     75.50        20    189084    630208     40.68    114828    143148      5632
Average:       122688    378092     75.50        20    189084    630208     40.68    114828    143148      5632
```

## スワップ

```
$ sar 1 1 -W                                                                                                                                                                                              
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:56:16 PM  pswpin/s pswpout/s
02:56:17 PM      0.00      0.00
Average:         0.00      0.00
```

## ネットワーク

```
$ sar 1 1 -n DEV                                                                                                                                                                                          
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:56:45 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:56:46 PM    enp0s3      0.99      0.99      0.06      0.16      0.00      0.00      0.00
02:56:46 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:56:46 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:       enp0s3      0.99      0.99      0.06      0.16      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
```

## ディスクIO

```
$ sar 1 1 -b                                                                                                                                                                                              
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:58:06 PM       tps      rtps      wtps   bread/s   bwrtn/s
02:58:07 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00
```

## ディスク動作

```
$ sar 1 1 -d                                                                                                                                                                                              
Linux 3.10.0-327.el7.x86_64 (server01)        11/08/2016      _x86_64_        (1 CPU)

02:58:27 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:58:28 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:58:28 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:58:28 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:58:28 PM  dev253-2      0.00      0.00      0.00      0.00    115.31      0.00      0.00     99.41
02:58:28 PM  dev253-3      0.00      0.00      0.00      0.00    394.64      0.00      0.00     99.41

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:       dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-2      0.00      0.00      0.00      0.00    115.31      0.00      0.00     99.41
Average:     dev253-3      0.00      0.00      0.00      0.00    394.64      0.00      0.00     99.41
```

# 注意点

## サイズに注意

configの修正で`*/10`を`*/1`に変更することで、10分間隔から1分間隔に変更できるが、その分ディスク容量を使用することとなる。（ただし、デフォルトの 10 分間隔で、500 KB/日 程度のため、1分間隔で１ヵ月貯めても100MBを超えない）

# その他

- ログをテキスト化してグラフ化したりすることも可能。
[Ksarでsarをグラフ化するのが便利すぎる](http://garapon.hatenablog.com/entry/20090323/1237772247)