今回は、sarについてです。
ざっくりいうと、継続的にシステム情報を収集/保管することができます。
RHEL8の最小インストールではインストールされていませんでした。
そのため、インストール方法から記載しております。
- ■sarのインストール
- ■sarインストール後の各種ファイルについて
- ■sarの起動について
- ■OS起動時に実行するユニットファイルについて
- ■sysstat-collect.timerとsysstat-collect.serviceについて
- ■sysstat-summary.timerとsysstat-summary.serviceについて
- ■saファイル、sarファイルについて
- ■sarコマンドについて
- ■sarの設定ファイル
本記事は以下の本を参考にしております。
■sarのインストール
まずは、sarコマンドが使えるように、sysstatパッケージをインストールします。
sysstatパッケージに含まれるファイルは以下のようなものです。
/etc/profile.d/colorsysstat.csh
/etc/profile.d/colorsysstat.sh
/etc/sysconfig/sysstat
/etc/sysconfig/sysstat.ioconf
/usr/bin/cifsiostat
/usr/bin/iostat
/usr/bin/mpstat
/usr/bin/pidstat
/usr/bin/sadf
/usr/bin/sar
/usr/bin/tapestat
/usr/lib/systemd/system/sysstat-collect.service
/usr/lib/systemd/system/sysstat-collect.timer
/usr/lib/systemd/system/sysstat-summary.service
/usr/lib/systemd/system/sysstat-summary.timer
/usr/lib/systemd/system/sysstat.service
/usr/lib64/sa
/usr/lib64/sa/sa1
/usr/lib64/sa/sa2
/usr/lib64/sa/sadc
/var/log/sa
■sarインストール後の各種ファイルについて
ユニットファイル(service ,timer)は以下のものがインストールされています。
■sarの起動について
OS起動しておいた方が動きがわかりやすいので、一度OS再起動をします。
※OS再起動後、sysstat関連のサービスが起動されているはずです。
■OS起動時に実行するユニットファイルについて
ユニットファイルには以下のものがありました。
この中で、OS起動時に起動するユニットファイルは以下のものです。
※default.targetがmulti-user.targetであることを前提としております。
① /usr/lib/systemd/system/sysstat-collect.timer
② /usr/lib/systemd/system/sysstat-summary.timer
③ /usr/lib/systemd/system/sysstat.service
①~③の中身を見てみます。
また、OS起動時にServiceユニット、Timerユニットが起動する理由についても記載しております。
■①/usr/lib/systemd/system/sysstat-collect.timer
Timerユニットです。
[Install]セクションのWantedByでsysstat.serviceが指定されています。
そのため、/etc/systemd/system/sysstat.service.wants/の中にシンボリックリンクが作成されます。
■②/usr/lib/systemd/system/sysstat-summary.timer
Timerユニットです。
[Install]セクションのWantedByでsysstat.serviceが指定されていますので、
/etc/systemd/system/sysstat.service.wants/の中にシンボリックリンクが作成されます。
■③/usr/lib/systemd/system/sysstat.service
上記①、②と違い、Serviceユニットです。
[Install]セクションのWantedByでmulti-user.targetが指定されています。
その為、/etc/systemd/system/multi-user.target.wantsにシンボリックリンクが作成されています。
■sysstat-collect.timerとsysstat-collect.serviceについて
RHEL8からはtimerにより、実行頻度(収集間隔)が指定されています。
みるべきtimerとserviceとは以下です。
① sysstat-collect.timer
② sysstat-collect.service
■①sysstat-collect.timer
[Timer]セクションのOnCalendar=~にて、10分ごとに起動する設定が入っています。
■②sysstat-collect.service(sa1コマンド)
上記のsysstat-collect.timerにより10分間隔で実行されるのは、
[Service]セクションのExecStart=~の部分です。
sa1コマンドが指定されております。
sa1コマンドはリソース情報をバイナリデータで収集し、日次データファイル(=/var/log/sa/saDDファイル)に保存します。
※DDは日付です。
■sysstat-summary.timerとsysstat-summary.serviceについて
sysstat-summary.timer とsysstat-summary.serviceも見方はsysstat-collectと同じです。
■①sysstat-summary.timer
[Timer]セクションのOnCalendar=~にて、00:07:00に起動するよう設定が入っています。
■②sysstat-summary.service(sa2コマンド)
上記のsysstat-summary.timerにより00:07:00に実行されるのは、
[Service]セクションのExecStart=~の部分です。
sa2コマンドが指定されております。
sa2コマンドは日次レポートファイル(=/var/log/sa/sarDDファイル)に保存します。
※DDは日付です。
※sarファイルはテキストファイルです。覚え方は「読める(=read)からrがつく」って感じです。
※sa2コマンドにより生成されるファイルは、デフォルトでは前日分のsaDDファイルから生成されます。
■saファイル、sarファイルについて
バイナリデータについては上記コマンドを実行することで確認できます。
■sarコマンドについて
sarコマンドにより、saDDデータを見ることができます。
sar -A -f /var/log/sa/saDD
みたいな感じです。
■sarの設定ファイル
実行間隔は、timerユニットに記載されていますが、
そのほかの設定は、/etc/sysconfig/sysstatに記載する必要があります。
コメントを除外すると以下の通りです。
各パラメータは以下の通りです。
以上です。
本記事は以下の本を参考にしております。