OCI Logging Analyitcsによるログ分析の手順⑤ -リンク分析③ - 

リンク分析によってグループ化されて各フィールドに対しては、平均、合計、最小、最大、中央値などのサマリー統計を指定して値を求めることができます。また、それらの値と計算した新しいフィールドを生成することもできます。今回はこのユースケースについて説明します。

まず、以下のスライドをご覧ください。5秒間隔で実行されたsarのCPUに関するログには、user, system, iowait, idleなどのCPUの使用状況が記録されています。今回は、CPUのフィールドでリンクし、idleの平均値、"100 - idleの平均値"で計算した新しいフィールドをloadとして生成します。そしてそれを線グラフにプロットします。
ログ・エクスプローラー内では、線グラフは通常一つしか生成できないのですが、リンク分析の場合はこのように複数の線グラフを並べて表示することができるのも特徴です。
このユースケースを実行するためには、sarのログを正しく取り込むためのソースが別途必要なので、それをインポートすることから始めます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/d92ee5f5-f2cf-4220-bb9d-b112e4dea6ee.png)


## sarのソースをインポート
[ここから](https://github.com/western24/loganademo) sar_cource.zipとsar.logファイルをダウンロードしておく。

LAの管理から構成コンテンツのインポートをクリックし、sar_cource.zipをインポートする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/ecd21e24-57e7-4a5d-acc0-29a486a1fac0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/3f65f1ec-2cec-4e54-9587-45e21380438b.png)

## sarのログをインポート
LAの管理 -> アップロードからアップロード・ファイルをクリックする。
アップロード名はsar。LAに既存のログ・グループがない場合は、ログ・グループの作成から適当な名前で作成。ファイルの選択からダウンロードしたsar.logファイルを選択して次へ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/871e0eef-c604-4f17-95e0-dcbc076203e7.png)

プロパティの設定からソースをsar cpuを選択。詳細オプションにあるログ・タイムゾーンをasia/tokyoに指定する。次に進んでアップロードを実行。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/da4e3cd4-3f2c-418a-b40e-8ad481593bce.png)

アップロードの完了後、ログ・エクスプローラーからビジュアライゼーションをヒストグラム付きレコード、日時を本日 (※sar.logには日付がないのでインポートした日) 10:13:00 ～ 10:33:00を指定して実行。以下のようにログが見えればOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e222270b-f06d-4512-83be-b05cddaa8064.png)

## リンク分析を作成する
ビジュアライゼーションをリンクに変更し、左側のフィールドからcpuをグループ化基準に、CPU Idle Time(%)を値にドラッグ&ドロップし、値のCPU Idle Time(%)をクリックして平均に指定して適用ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/3f1d138c-53a6-41c9-82ff-0cf7b6d5e6af.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/4e8b6a92-5f12-4c0d-b457-69c77b825a08.png)

適用後に生成される以下の問い合わせ文の最後に
```
* | link cpu | stats avg('CPU Idle Time (%)')
```

as 以下を追記して実行。これは平均値をasでIdle%というフィールド名で定義し、evalで計算した値をload%として仮想フィールドを生成している。
```
* | link cpu | stats avg('CPU Idle Time (%)') as 'Idle%' | eval 'load%' = 100 - 'Idle%'  
```

右側にload%のフィールドが追加されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/c8b5d2e3-77f4-423b-9d04-11d07ca93664.png)

右上の3点アイコンからヒストグラムにチェックを入れ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b7d8a639-429f-4c70-87a5-51cfa3c1d7a8.png)

ヒストグラムの歯車アイコンから、グラフの表示/非表示でIdle%とload%だけをチェック、グラフオプションで棒からマーカーなし折れ線グラフに変更する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/eec97bea-5bd6-497d-b79e-5b6c093d2ab2.png)

以下のような二つの折れ線グラフが完成。時間のスケールは2分間隔になっているので、2分間隔でidleの平均値とloadの値が算出されてグラフにプロットされていることを意味する。対象とする期間の上限でスケールは自動的に変化する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/f96ee5b6-9883-4e78-81ff-e059e8d8feb8.png)

リンク分析ではこのようにサマリー統計や仮想フィールドを生成し、複数のグラフを同時に描写させるということができます。一方で、ダッシュボードでも折れ線グラフを複数配置するという方法もありますので、要件に応じて使い分けると良いかと思います。