こんにちは。サイオステクノロジーの貝野です。
前回、sar ファイルの内容に関する記事を書きましたが、今回は kSar で sar ファイルの内容をグラフ化し、どのようにデータを見れば良いのか一例をご紹介します。
■グラフ化すると何が良いのか?
時系列で、各リソースがどのように変化しているか見やすくなります。
例えば「特定の時間帯で CPU 使用率が急激に上昇している」という状況があった場合、テキストファイルに羅列された数値を見るだけでは分かりにくいですが、グラフで見ると該当箇所が一目瞭然です。
以下の環境では、12時前に CPU 使用率が急激に増加しています。
■kSar のインストール方法
下記 2つのダウンロードサイトがあります。
・kSar7 (alpha 版)
https://ja.osdn.net/projects/ksar/
・kSar5 以前
https://sourceforge.net/projects/ksar/
RHEL/CentOS7 系 (sysstat 10系) より、sar の項目が一部追加されました。
kSar5 (と kSar5 以前のバージョン) では、上記一部の項目についてサポートされません。
そのため、RHEL/CentOS7 系 (sysstat 10系) の sar ファイルをグラフ化するには kSar7 を、
RHEL/CentOS6 系以前 (sysstat 9系以前) の場合は kSar5 以前をご利用ください。
なお、その他の OS に関しては未確認です。
当該の OS に含まれる sysstat のバージョンをご確認ください。
【kSar7 (alpha 版) のダウンロード方法】
「ダウンロード」プルダウンから「リリース一覧」を選択すると、画面下部にダウンロードパッケージ一覧が表示されます。(現時点では kSar-7.0.0-alpha.zip、kSar-7.0.0-alpha2.jar のみ)
ファイル名のリンクをクリックすると、ダウンロードが開始されます。
ダウンロード後、jar ファイル (zip の場合は当該ファイルを展開後、表示されるフォルダに含まれる jar ファイル) をクリックすると kSar が起動します。
【kSar5 以前のダウンロード方法】
「Download」タブを選択すると、最新バージョンの kSar のダウンロードが開始されます。
ダウンロードされた jar ファイルをクリックすると kSar が起動します。
また「Files」タブを選択すると、「beta」「ksar」「ksar-doc」ディレクトリが表示されます。
「ksar」には過去にリリースされた kSar が、「ksar-doc」には kSar のマニュアルがあります。
(現時点では kSar のマニュアルは 4.0.4 までしかリリースされていません)
kSar の起動直後は、以下のような状態となっています。kSar7、kSar5 (と kSar5 以前のバージョン) どちらも、表示内容に違いはございません。
kSar の動作には Java が必要になります。
お使いの環境に Java がインストールされていない場合、以下のサイトからダウンロードしてください。
Java のインストール手順については、本記事では割愛いたします。
kSar ファイルの読み込み
下記のコマンドで sa ファイル (バイナリ形式) から kSar で読み取り可能な sar ファイル (テキスト形式) を作成します。
XX には、日付の数字を入れてください。
# LANG=C sar -A -f /var/log/sa/saXX > sarXX
上記のコマンドにより作成された sar ファイルを、実際に kSar で読み込んでみます。
「Data」から「Load from a file…」を選択し、上記の sar ファイルを選択します。
バージョンが 4系以前の場合、「Load from text file…」という表記になっています。
読み込みに成功すると、画面左側に各項目の名前が表示されます。
■kSar ファイルの見方
マシンの動作が遅い、動作がおかしい…。
そういった問題が発生した際、kSar でどのように原因調査ができるのか、一例をご案内します。
※あくまで調査方法の一例です。問題の解決手順を保証するものではありません。
【ケース1】CPU 使用率が高くなっている場合
CPU 使用率は、画面左側の「CPU」項目から確認します。
高荷の高いアプリケーションが動している場合などに、CPU 使用率が上昇することがあります。
また、定常的に CPU 使用率が高い場合は、システム性能の低下も考えられます。
このような場合、まずは top コマンドや ps コマンドで、CPU を大量に消費しているアプリケーションが動作していないか確認してみましょう。
【ケース2】ディスク I/O が高い
ディスク I/O は、画面左側の「I/O」項目から確認します。
アプリケーションの稼働状況により一時的に大量のログが出力された場合など、一時的に高くなることはあります。
ディスク I/O が原因で動作が遅くなるケースとしては、DB サーバにおいてデータへの大量アクセスがあった、Web サーバにおいて大量にアクセスがあった際にメモリを使い切り、代わりにディスク領域が使用された、などが良くあります。
このような場合、必要に応じて DB のトランザクションを見直したり、アクセスのフィルタリングを行なうと良いでしょう。
【ケース3】メモリ使用率が高い
メモリ使用率は、画面左側の「kmem」項目から確認します。
%memused の値が大きいほど、メモリ使用率が高いことを表しています。
CPU 使用率、ディスク I/O のケースと同様に、アプリケーションの動作による場合や、Web サーバによる大量アクセスがあった場合などにメモリ使用率の値も上昇することがあります。
CPU 使用率の場合と同様に、top コマンドや ps コマンド各アプリケーションのメモリ使用率を確認する方法が有効と考えられます。