[ Cloud Monitoring ] 誰もがわかるダッシュボードのまとめかた

## はじめに

こんにちは。株式会社 Panta Rhei のインフラ構築を担当している岸本です。
今回は、弊社で行っているCloud Monitoringのダッシュボードをグループ化する方法を紹介したいと思います。

## 課題

社内ではCloud Run, Load Balancer, Cloud Buildなど様々なプロダクトが動いてくれています。
各プロダクトたちは複数あるため、ダッシュボードで監視する際以下のイメージ図のようになります。

<details><summary>イメージ図</summary>

![Cloud_Monitoring_Dashboard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/77ed3a36-7c4e-a516-5c64-5a8b4110e640.png)

</details>

課題は、一目でどのサービスを監視しているのか把握できないことでした。
では実際にこの課題をどう解決するのかを紹介します。

## 作成物

[ 開いている状態 ]
![スクリーンショット 2024-06-17 22.36.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/fde9fead-2bc2-da90-699e-8007fb832562.png)

[ 閉じている状態 ]
![スクリーンショット 2024-06-17 22.36.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/3a7c013c-c7cd-470d-d399-049725065752.png)

今回は例として、サービス名という名前でグループ化していますがここは自由に変えてください。
グループ化する単位は、サービス、プロダクトあたりが良いのかと思います。
そうすると折りたたみの名前も決まるのかなと思います。

## 手順

以下の手順で最小限のものを作成していこうと思います。

1. ダッシュボードの作成
2. メトリクスの選択
3. グループ化


### ダッシュボードの作成
コンソール画面でCloud Monitorigの画面に行きます。
左側の「ダッシュボード」をクリックし、以下画像赤い枠をクリックするとダッシュボードを作成できます。
![スクリーンショット 2024-06-17 22.25.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/d3f42648-b13a-a187-b43a-d53b2c9e59b2.png)

:::note info
デフォルトでモニタリングされているプロダクトもあるので、ダッシュボードには作成していないボードがあります。
:::

### メトリクスの選択
動いているプロダクトのメトリクスを選択し、ダッシュボードを華やかにしていきます。
以下の画像のように[ ウィジェットを追加 ]をクリックします。

[ クリック前 ]
![スクリーンショット 2024-06-17 22.27.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/c76e5297-caaf-acd1-a682-bc2e3ca55a54.png)

[ クリック後 ]
![スクリーンショット 2024-06-17 22.29.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/baf8773f-0046-8d0d-7214-638aa96ae851.png)

以下ChatGPTにウィジェットを聞いた際の回答。
> ウェジェットとは、クラウドベースのリソースのパフォーマンスや健康状態に関する様々な指標やデータポイントを視覚的に表示する、クラウドモニタリングダッシュボードのコンポーネントです。 

次に、良い感じのウェジェットを選び、動いているプロダクトのメトリクスを選んでいきます。

:::note info
今回は主課題ではないので、取得するメトリクスなどは割愛いたします。
:::

私は以下のようにCloud RunのCPU使用率、メモリ使用率などを選択しました。
![スクリーンショット 2024-06-17 22.31.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/808e92dd-8668-c04c-7fd7-eb33a24c18db.png)


### グループ化
最後にグループ化を行います。
先ほど同様、[ ウェジェットを追加 ]をクリックします。
そして以下の画像赤枠のように、[ 折りたたみ可能なグループ ]を選択します。
![スクリーンショット 2024-06-17 22.33.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/5eca52f4-218c-09fc-4178-f9a7e6701f55.png)

するとダッシュボードに「無題のグループ」が追加されるかと思います。
![スクリーンショット 2024-06-17 22.34.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/e3607fd2-dc14-509d-a48d-b46e910dea04.png)

カーソルを合わせて、右側の鉛筆マークで名前を編集することでができます。
今回は「サービス名」という名前にしました。
![スクリーンショット 2024-06-17 22.35.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/5458ba4b-8820-1972-18f1-e16b7a5a3444.png)

そして「サービス名」の折りたたみを開き、先ほど取得したメトリクスをドラッグ・アンド・ドロップします。
すると以下のようになります。
![スクリーンショット 2024-06-17 22.36.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/99d69749-0a4f-3030-a476-65abc7d33a2a.png)

はじめに見た通り以下のように折りたたむことも可能です。
![スクリーンショット 2024-06-17 22.36.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3775049/b60f5951-f285-a132-4042-b62649090b4f.png)

これでプロダクトの整理、サービスの整理ができました。


## まとめ
いかがでしたでしょうか。
弊社ではこのようにモニタリングを行い、誰もが視覚的に操作、確認できるよう工夫しています。
サービス停止などの回避する手段としてのモニタリングを効率的に運用してみてはいかがでしょうか？
弊社ではアジャイル開発に興味のある方やエンジニアの募集を行っています。
Google Cloud、 GitHub Projectに関することや、採用に関するお問い合わせも、どうぞお気軽にご連絡ください。