OCI モニタリングでComputeインスタンスの死活を監視

このシリーズの他の記事は、[オラクル・クラウドの個人ブログ一覧 ](https://qiita.com/letian/items/10152a4fec813c1b7d98)からご覧いただけます。

# 初めに
OCI上のComputeインスタンスがダウンした場合、自動的に検知して通知先に通知するのは一般的な監視の要件です。OCIネイティブの監視サービス（モニタリング）を利用すれば、簡単にこれを実現できますので、それをご紹介したいと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/24f7371d-97f0-e020-58b5-53cc4a623a76.png)


__ステップ__
- [1. 事前準備](#1-事前準備)
  - [1-1. トピックの作成](#1-1-トピックの作成)
  - [1-2. サブスクリプションの作成](#1-2-サブスクリプションの作成)
  - [1-3. サブスクリプションの確認](#1-3-サブスクリプションの確認)
- [2. アラームの作成](#2-アラームの作成)
- [3. インスタンスを停止し、通知を確認](#3-インスタンスを停止し通知を確認)

# 1. 事前準備
まず、OCI通信サービス(Notification)の用語を理解する。
- <strong>トピック</strong> (Topic)：メッセージをサブスクリプションに送信するための<font color=blue>通信チャネル</font>。
- <strong>サブスクリプション</strong> (Subscription)：トピックの<font color=blue>エンドポイント</font>。公開されたメッセージは、トピックの各サブスクリプションに送信される。
サポートされているサブスクリプション・プロトコル：電子メール、ファンクション、HTTPS (カスタムURL)、PagerDuty、Slack、SMS

※、この例では、<strong>電子メール</strong>（デフォルト）を利用する。

## 1-1. トピックの作成
開発者サービス > アプリケーション統合 > 通知
「トピックの作成」をクリックし、名前を入力した後、作成をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/1335e81e-203e-4085-acd9-e3e10168cc27.png)
トピック名前は、一つテナンシ内に一意する。

## 1-2. サブスクリプションの作成
「サブスクリプションの作成」をクリックし、作成画面を開く。デフォルトの電子メールを使用するため、電子メールアドレスを入力したら、「作成」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/2adc3225-c0de-7ba5-4ffd-6121bb5ed93c.png)

作成後の状態は、"<font color=blue>Pending</font>"となる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/f7c08ea1-5ca0-ded2-e49f-67aaf747d862.png)

## 1-3. サブスクリプションの確認
指定した受信者に次のようなメールが届いたら、"<strong>Confirm subscription</strong>"をクリックする。

送信者：noreply@notification.\<リージョン識別子>.oci.oraclecloud.com
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/e3452736-ce70-ab57-c029-c208f4a9f71a.png", width="500">

確認後、次の画面が表示される。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/de3ff406-09f3-d0cb-ab4c-ebc04e84ead0.png", width="500">

サブスクリプションの状態は、"<font color=blue>Active</font>"に変わったことを確認。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/c33eb03d-411b-2199-0ffb-6db64c750d24.png)

# 2. アラームの作成
監視および管理 > モニタリング > アラーム定義 > アラームの作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/39a262da-058f-09d5-8d32-0b5f4c75101e.png)

__入力項目の詳細__
|項目名|必須|コメント|
|:--|:--|:--|
|アラーム名|Yes|通知メールの<strong>表題と本文</strong>に表示|
|アラームの重大度|Yes|通知メールの<strong>表題と本文</strong>に表示|
|アラーム本体|No|入力した場合、通知メールの<strong>本文</strong>に表示|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/649a2b3f-7dc1-f134-0541-17e22847e9b8.png)

|項目名|内容|コメント|
|:--|:--|:--|
|メトリック・ネームスペース|<font color=blue>oci_computeagent</font>||
|メトリック名|<font color=blue>CpuUtilization</font>||
|ディメンション名|resourceDisplayName|リソース名以外も選択できる|
|ディメンション値|インスタンス名||
|トリガー・ルールの演算子|<strong>なし</strong>||

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/2a2c2f06-a216-1a3f-d6c2-295f58228e98.png)

作成したトピックを指定し、アラームを作成する。
通知の繰り返しをするのはできるが、この例ではデフォルトのまま（繰り返さない）にする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/8bcaca03-510a-fd97-1d72-5f6896c892fb.png)

作成後、次のように表示される。
※、この時点のアラーム・ステータスは<strong>OK</strong>であり、トリガーされた後、<strong>FIRE</strong>に変わる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/28eb7f6a-e303-c8ed-8231-937930c7e52b.png)

アラーム定義は<strong>アクティブ</strong>になることを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/04cb5471-ffc7-a7f0-46c4-69208932c4f5.png)

# 3. インスタンスを停止し、通知を確認
インスタンス停止が検知されたら、以下のような通知メールが受信者に届く。

|項目名|内容|
|:--|:--|
|送信者|noreply@notification.<リージョンID>.oci.oraclecloud.com|
|表題|Alarm: OK_TO_FIRING \| \<重大度\> \| \<アラーム名\> \| \<UTC時刻\>|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1121622/acc8b7f0-5726-e023-e639-58b2b069076d.png)

メッセージ・タイプは、以下の４つがある。
 OK_TO_FIRING, FIRING_TO_OK, REPEAT と RESET。詳しくは、[こちら](https://docs.oracle.com/ja-jp/iaas/Content/Monitoring/Concepts/monitoringoverview.htm#MessageTypes)をご参照。

以上です。

----
__関連記事__
[OCIカスタム・メトリックでディスク使用率を監視](https://qiita.com/liu-wei/items/3f5593eab06c5885a83a)

----
__公式ドキュメント__
モニタリングの概要: [英語](https://docs.oracle.com/en-us/iaas/Content/Monitoring/Concepts/monitoringoverview.htm) [日本語](https://docs.oracle.com/ja-jp/iaas/Content/Monitoring/Concepts/monitoringoverview.htm)