【OCI】ダッシュボードでWebサーバとLBをまとめて監視する方法

# はじめに

Oracle Cloud Infrastructure（OCI）で各種リソースを管理していると、
モニタリングの情報がサービスごとに分かれているため
全体の状況を把握しづらいと感じる場面があります。
そこで今回はOCIのダッシュボード機能を使ってWebサービスの稼働状況を
1画面で監視（CPU・メモリ・HTTPステータスを一元可視化）する方法を紹介します。

■事前準備
- **適切なIAM権限を持ったOCIアカウント** 
- OCI上で稼働する **LinuxのComputeインスタンス**
- 該当インスタンスで **Oracle Cloud Agent（Monitoringプラグイン）を有効化済み**
- インスタンスに **Webサーバ（例：Apache, Nginxなど）をインストール・構成**
- **ロードバランサ（LB）** がWebサーバの前段に配置されている構成

■参考
https://oracle-japan.github.io/ocitutorials/
※基本的な設定内容はこちらを参照してください。

## ダッシュボードでWebサービスの稼働状況を1画面で監視

早速設定に入ります。

左上メニューから[監視および管理] - [ダッシュボード]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/54cd224f-d7a6-48b5-9d87-28404dbfe832.png)

[ダッシュボードの作成]を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/c2222d65-c47d-4a9d-a76b-f32a83d50036.png)

左上の鉛筆マークからダッシュボードの名前をつけて、
右のウィジェットタブからプラスボタン(+)の[ウィジェット作成]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/4cf98b95-319b-49d9-a7cf-6d30ceed4c98.png)

プラスボタン(+)から下記を選択して追加を実行します。
**ネームスペース: oci_computeagent**
**メトリック: CpuUtilization**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/2037f458-9da9-44c3-8595-49150852c38c.png)

再度編集を選択し、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/869e98cd-bc21-4c70-b2e9-be29e54f79ab.png)

ディメンション追加で、対象のComputeインスタンスを選択して保存します。
**ディメンションの名前: resourceDisplayName**
**ディメンション値: [Computeインスタンス名] (ここではLinux01)**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/cfc0111f-f565-4a20-88be-e55cb4748653.png)

同じ要領で**メモリ使用率(MemoryUtilization)**を設定し、
CpuUtilization、MemoryUtilizationをY軸にドラッグ&ドロップして
名前をつけて適用ボタンを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/7224bbbe-973d-47b7-82f3-186e53a6585a.png)

これでダッシュボードに登録されましたので続いてLBのウィジェットも設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/944813f8-2b61-432e-afc4-49963868f239.png)

最初にLBのステータスコード200を設定します。
**ネームスペース: oci_dbaas**
**メトリック: HttpResponses200**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/fc0e6447-2fe2-4aeb-98ee-9904e4bf2ae4.png)

Computeと同じように編集からディメンションを追加しますが、
統計も合計に変更しておきます。
**統計: 合計**
**ディメンションの名前: lbName**
**ディメンション値: [LBの名前] (ここではlb01)**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/bc2f8594-91a6-4908-ba0c-a4f31319979d.png)

次は404 (Not Found)を表示するために下記を設定します。
**ネームスペース: oci_dbaas**
**メトリック: HttpResponses4xx**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/c8b595c1-01de-4808-93b6-ed1652d46243.png)

同様にHttpResponses4xxにもディメンションと統計の設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/7c58c255-8b81-4884-8054-84cb3deaa6a8.png)

**次の設定をする前にLB経由で実際に存在するページ（ステータス200）と
存在しないページ（ステータス404）を表示しておき、
メトリック情報を更新しておきます。**

その後はソースデータをドラッグ＆ドロップ後、チャートタイプを棒チャートに変更して
名前をつけて適用を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/fbeae8a3-c2cb-4d31-ac20-7ad83b5532d0.png)

あとは保存して配置を変えると次のようにComoputeとLBのステータスが同時表示できるように
ダッシュボードで一元管理ができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3493138/48cab54e-7b69-4777-a59c-6c987a65917a.png)

以上でダッシュボードの設定は終了です。

## おわり
他にも設定できる項目があるので色々とあるので、
必要に応じてリソースを追加して自分にとって
見やすい形に調整してみてください。