皆さま、こんにちは!y.takanashiです。
2025年1月のOCI リリースノートで、個人的に気になるアップデートが発表されました。
それはイベント・サービスで設定したルール用のアラームを作成できるという内容です。
https://docs.oracle.com/ja-jp/iaas/releasenotes/monitoring/event-based-alarms.htm
今回はオブジェクト・ストレージにファイルをアップロードした時のイベントを使用して、OCI モニタリングでイベントベースのアラームを作成してみましたので、その手順について皆様に共有したいと思います。
※モニタリングの詳細については、先日投稿した以下の記事をご覧ください。
作業手順
- 事前準備
- 本手順
- イベント・サービスの作成
- テストファイルのアップロード
- モニタリングの作成
- イベントの実行
本記事の構成図は以下となります。
事前準備
本手順の前に、事前準備としてイベント・サービスとモニタリング用アラームの通知先として使用する電子メールやSMSなどのエンドポイントを設定するために、OCIのトピックサービスが必要となります。
本解説ではトピックサービスの設定手順については範囲外のため割愛しますが、以下のドキュメントを参考に設定を進めてください。
※今回は、アラームの通知先として「電子メール」を使用します。
本記事では、イベント・サービス用(今回は「topic-event」で作成)とモニタリング用(今回は「topic-monitoring」で作成)で2つのトピックを作成します。
イベント・サービス用のトピックには、サブスクリプション用のメールアドレスを設定せずに作成する必要があります。
これは、登録するとイベント・サービスのJSONベースのメールとモニタリング用アラームメールの両方を受信してしまうためです。
(モニタリング用のトピックには、メールアドレスを設定して問題ありません。)

また管理者権限がないユーザーで実行する場合、以下のIAMポリシーを適用する必要があります。
- イベント・サービス
- Allow group <group-name> to manage cloudevents-rules in tenancy
- モニタリング
- Allow group <group-name> to manage alarms in tenancy
- Allow group <group-name> to read metrics in tenancy
- Allow group <group-name> to manage ons-topics in tenancy
- Allow group <group-name> to use streams in tenancy
- ※"tenancy"は"compartment"に変更して、コンパートメント単位で設定しても問題ありません。
本手順
イベント・サービスの作成
OCIコンソール画面左上のナビゲーションメニューから「監視および管理」→イベント・サービス内の「ルール」を選択します。
「ルールの作成」から以下を入力、再度「ルールの作成」を選択します。
- 表示名:任意(ここでは「event」)
- 説明:任意(ここではオブジェクト・ストレージにファイルがアップロードされた場合、通知を送信します。)
- ルール条件
- 条件:イベント・タイプ
- サービス名:Object Storage
- イベント・タイプ:Object - Create
- アクション
- アクション・タイプ:通知
- トピック:任意(ここでは「topic-event」)
イベント・サービスが作成されます。
テストファイルのアップロード
イベントが収集されていないとモニタリングの設定ができないため、テストファイル(ここでは「test.txt」)をオブジェクト・ストレージにアップロードします。
オブジェクト・ストレージのイベントを出力する場合、オブジェクト・イベントの出力の箇所を「有効」にする必要があります。
モニタリングの作成
OCIコンソール画面左上のナビゲーションメニューから「監視および管理」→モニタリング内の「アラーム定義」を選択します。
「アラームの作成(Create Alarm)」を選択します。
イベントベースのアラームを作成する場合、以下の項目を入力、「アラームの保存(Save alarm)」を選択します。
※他の項目は任意の値で問題ありません。
- メトリック・ネームスペース(Metric namespace):oci_cloudevents
- メトリック名(Metric name):MatchedEvents
- メトリック・ディメンション(Metric dimensions)
- ディメンション名(Dimension name):resourceDisplayName
- ディメンション値(Dimension value):「イベント・サービス」で作成したイベント名
イベント用アラームが作成されます。
作成時まだアラームが発報していないため、「Ok」の状態となります。
イベントを実行
アラームの作成後、イベントを実行します。
再度テストファイル(ここでは「test2.txt」)をオブジェクト・ストレージにアップロードします。
アップロード後、3分程度でOCIからアラーム・メールが送信されます。
この時、メール本文内のTypeは「OK_TO_FIRING」の状態となります。
アラーム発報後、ステータスは「Firing」に遷移します。
アラーム・メールの発報後、追加のイベントが発生しない場合、10分後にOCIからTypeが「RESET」のメールが送信されます。
上記のアラーム・メールを受信後、OCIコンソールのアラームの詳細画面に戻ると、アラームの状態が「Ok」に戻ります。
イベントベースのアラーム作成の手順については以上です。
最後に
簡単にですが、イベントベースのアラームの作成については以上とさせていただきます。
JSONベースのメールは見づらいと思っていたので、今回のリリースは個人的にも待ち望んでいました!✨
さらに、モニタリングと連携できるようになったことで、「5分間に5回検知」などの閾値設定も可能になっています。
今回紹介したサービスについて、個人的には以下の機能が追加されると非常にありがたいと感じました。
- イベント・サービスの連携先にモニタリングも選択可能にする
- RESETメールは送信有無をユーザー側で選択できる機能
(RESETメールを受信すると、問題が解決したと誤認する担当者がいるため)
以上となります。
この記事を通じて読者の皆様の問題解決の一助となれば幸いです。
最後まで読んで頂き、ありがとうございましたm(_ _)m