OCI Operations Insights を試してみた

本記事では OCI Operations Insights を試してみたいと思います。 
# OCI Operations Insights とは

OCI といえば Oracle Database かと思うのですが、 Operations Insights ではそのデータベースのキャパプラ、 SQL レベルで今どんな負荷流れてる？みたいなことを可視化することが可能です。よさげなところとしては、個別の DB インスタンスにアクセスして診断、分析するのではなく OCI のコンソールからざくっと状況が把握できるという点で、インフラやサービス横断での状況把握・方針立案に役立てられそうです。また SQL レベルでの分析機能もついているので、大きな方針を立てるときに「例えばどんなクエリ流れてるんだろうね？」みたいな会話ができるようになります。

そしてこの機能は無料です。

概要は以下の blog からご参照ください。画面イメージとかは blog 内にリンクのある動画が詳しいです。

[Oracle Cloud Infrastructure Operations Insights 提供開始](https://blogs.oracle.com/oracle4engineer/announcing-the-general-availability-of-oracle-cloud-infrastructure-operations-insights-v2)
上記のブログからリンクされている↓の動画見て頂ければ、正直このあとの本記事読まなくてもよさそう･･･。
[Oracle Cloud Infrastructure Operations Insights Capacity Planning](https://www.youtube.com/watch?v=OAskeC1Cnow)

ドキュメントは今のところ、英語版になりますが、以下です。

[Oracle Cloud Infrastructure Operations Insightsについて](https://docs.oracle.com/en-us/iaas/operations-insights/doc/operations-insights.html)

# OCI Operations Insights の管理対象に設定する

### Policy 設定

Policy 設定については以下を参照ください。管理のためには autonomous-database-family に対する use 権限が必要なようです。以下、特定のコンパートメントの all-resource の manage 権限がある環境で試していきます。

[Operations Insightsの使用を開始する](https://docs.oracle.com/en-us/iaas/operations-insights/doc/get-started-operations-insights.html)

### 管理対象に設定する

OCI Operations Insight ですが、メニュー上結構下のモニタリングと診断のところにあります。「管理」をクリックします。

![image-20210209182140450.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/5a2b3be1-eeb9-5f48-1cf7-c09387609bd0.png)


キューピー3分クッキング方式で事前に ADW-S を一つ作っておいたので、それが表示されます。データベース表示名の横のチェックボックスをクリックします。現時点では Autonomous Database のみ対応していますが、将来的にはその他のターゲットも対象にできるようになる予定とのことです。 Big Data Service (Hadoop クラスタ)とか対象になったらアツいなと個人的には思います。

![image-20210209210611061.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/48fdf3d8-b99f-f157-29b9-94124da03bda.png)

オペレーション・インサイトの有効化をクリックします。

![image-20210209210711893.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/16a09d4b-6e7b-a3fa-6a96-03592c3f28ba.png)


確認のウインドウがポップアップするので有効化をクリックします。

![image-20210209210934451.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/e7760822-680c-29ca-7ef5-db480a07929c.png)

Operation Insights のデータ保存期間は以下のようになっています。無料のサービスにしては太っ腹感があります。

- Operations Insightsによって収集および分析されたデータは、現在の日付から過去25か月間保存される
- Operations Insightsによって収集および分析されたデータは、無効化すると、30日後に削除される

表示どおり、数分で有効になりました。

![image-20210209212024700.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/31c1e47f-81f9-9c0e-beb0-2d4868fd5d47.png)

# Capacity Planning (容量計画) を見てみる

Capacity Planning (容量計画)を見てみます。

![image-20210209212652299.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/e8980829-ed41-1501-3b63-1b2763aa83dc.png)

無風状態だとデータがないので、どの画面も見つかりません状態になるのですが、[APEX](https://apex.oracle.com/ja/) のアプリ等を作ってみると少し負荷がかかったようで表示されるようになりました。

![image-20210210154747805.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/ce9691ff-8fbf-4ce9-f98d-9db3c884f541.png)

メニューは左に表示されており、ここで見るリソース (CPU なのかストレージなのか)、対象とする期間やデータベースを選択できるようになっています。

![image-20210210154834478.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/a8bc5f9c-7f7b-74d8-a17b-3c18c4c6d9b1.png)

### CPU のページ

CPU の使用率の統計が見られます。 DB を1つしか登録して入れないので、継続的に負荷をかけていないので、シンプルなものですが、過去傾向に基づく予測等も表示されるようです。

![image-20210210155140872.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/8cdcb58e-4c71-2594-36fe-6e8a9d9f4885.png)

また、右肩にある CSV をダウンロードボタンを押すと、以下の感じで画面に表示されてるデータが CSV で落とせます。

```
データベース表示名,データベース・タイプ,使用率(%),使用率の変化(%),使用状況(平均アクティブCPU),ベース割当て(CPU),最大割当て(CPU),自動スケーリング
"KKADB","ADW-S","1.53","0","0.09","2","6","有効"
```

### ストレージのページ

ストレージのページも同じような雰囲気です。

![image-20210210155512358.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/7152ae0b-2b69-2982-6b21-a57f4a26b396.png)

# SQL Warehouse を見てみる

SQL Warehouse では、 SQL レベルでの分析に基づくレスポンス状況を概観することができますｂ。

![image-20210210160153518.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/bf0df445-1371-7fcc-1dbc-dc1dcefc9909.png)

個別の SQL というよりは大きく概要を捉えて、劣化している・変動しているものがあれば対処するという雰囲気です。

![image-20210210160320378.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/72f393c2-bd75-f90a-2d42-7dcacd3a2b59.png)

上記の青丸をクリックすると以下のような SQL の詳細を見られる画面に遷移します。

![image-20210210160345872.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/9ae8b86c-9579-4e70-2a92-2395d7997831.png)

# まとめ

Operations Insights の雰囲気を見てみたのですが、現時点では Autonomous Database がたくさんあるときにキャパシティ・性能状況をざくっと把握するためのツールという印象を受けました。もう少し監視対象が広がってくると使い道が広がりそうです。また、複数インスタンスを管理・監視するという観点では、 Oracle Management Cloud や Enterprise Manager Cloud Control のほうが適用範囲も広く使い勝手がよいのかなとも思います。あと、エンハンスの方向性としては可視化するというだけでなく、アクションするみたいなところまでカバーされてくると使い勝手が上がるように思います。

Oracle Management Cloud については素敵なまとめがありますので、こちらをご覧ください。
[Oracle Management Cloud まとめ](https://qiita.com/western24/items/1e44bfcaa77f3251a263)

一方で、本ツールは無償なのと、今後もエンハンスされていきそうな雰囲気があるので、とりあえず有効にして様子見てみてもいいのかなと思います。

こういったツールが揃ってくると、 Autonomous Database を部署毎・サービス毎に払い出すような共通サービスの提供も可能になるのかなと思いました。各ユーザ・部署に高性能・従量課金で安価な Autonomous Database を払い出して、IT 部門でガバナンスはかけるというような使い方をイメージしてます。

### 参考 : Autonomous Database のパフォーマンス・ハブ

ちなみに Autonomous Database の場合、組み込みで以下のような SQL レベルでの性能調査ができ、 SQL Monitor をそのままダウンロードできたりと標準でもかなりべんりです。

![image-20210210161731473.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/dbc404ab-3c6b-daf1-403b-c08db5d8a62e.png)

![image-20210210161644750.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131447/8a575d55-f621-4634-79a6-456e71a4ee24.png)