1. はじめに
今回の記事ではIBM Cloud LogsのAlert機能を利用する際必要となるEvent Notificationsとインスタント統合する流れについてまとめています。
すでにIBM Cloud Logsのインスタンスを作成していることを前提としていますので、必要に応じて以下の記事もご参考ください。
①【IBM Cloud】 Log AnalysisからCloud LogsへのLogs Routingサービス変更の流れ
②【IBM Cloud】 Activity TrackerからCloud LogsへのActivity Tracker Event Routing設定変更の流れ
③【IBM Cloud】 Log AnalysisからCloud Logsへのマイグレーションの流れ
④【IBM Cloud】IBM Cloud LogsダッシュボードでTCO Optimizerを構成してみた
なお、今回の内容にはIBM Cloudのアカウント(無料利用可能)も前提となっています。
2. Event Notificationsとは?
2-1. 概要
IBM Cloud® Event Notifications は、 IBM Cloud アカウントで発生する重大なイベントについてユーザーに提供したり、Webhook を使用して自動化アクションをトリガーしたりするルーティング・サービスです。 Monitoringなどの IBM Cloud サービスから、E メール、SMS、Webhook などの通信チャネルにイベント通知をフィルタリングしてルーティングできます。
2-2. Event Notificationsでの用語解説
- ソース
- イベント通知を送信したり Event Notifications サービス内のトピックにイベント通知をパブリッシュしたりする IBM Cloud のサービスまたはリソース
- 宛先
- イベント通知の配信ターゲット(Eメール、Webhook、プッシュなどの宛先)
- トピック
- トピックによって対象になる一連の着信イベント通知を保持します。 各ソースは、ユーザー定義フィルター経由でトピックに接続されます。 トピックに渡された通知は、サブスクライブしているすべての宛先にプッシュされます。(複数のソースに接続可能)
- サブスクリプション
- サブスクリプションによって、トピックを宛先に接続します。 サブスクリプションは 1つのトピックを1つの宛先に接続しますが、トピックには複数の宛先が設定できます。 通知がトピックに到達すると、サブスクライブしているすべての宛先にそのトピックから通知が送信されます。
- SDK
- イベント通知でサービスを構成できます。
- サービス資格情報
- アプリまたは外部利用者を IBM Cloud サービスに手動で接続する場合は、資格情報の新しいセットを生成できます。
- プラン
2-3. 利用可能リージョン
2024年10月30日時点で、以下のリージョンで利用可能です。
なお、Cloud LogsのGAに伴い、Event Notificationsの利用可能リージョンも徐々に増える見込みです。
- シドニー(au-syd)
- マドリッド(eu-es)
- フランクフルト(eu-de)
- ロンドン(eu-gb)
- ダラス(us-south)
3. 作業の流れ
3-1. Cloud Logs、Object Storageの作成
繰り返しとなりますが、今回はCloud Logsとログ永続化のためのObejct Storageのインスタンス(バケット含む)はすでに作成した前提で記載しています。
もし作成されていない場合は、以下の記事を参考に作成してください。
①【IBM Cloud】 Log AnalysisからCloud LogsへのLogs Routingサービス変更の流れ
②【IBM Cloud】 Activity TrackerからCloud LogsへのActivity Tracker Event Routing設定変更の流れ
③【IBM Cloud】 Log AnalysisからCloud Logsへのマイグレーションの流れ
④【IBM Cloud】IBM Cloud LogsダッシュボードでTCO Optimizerを構成してみた
3-2. Event Notificationsインスタンスの作成
IBM Cloudのコンソールに入ってカタログ
に入ります。
Event Notificationsを検索し、クリックします。
上記の通り、今回はLite Planを選択しています。その後、リージョン、サービス名などを設定します。ここでEndpointなどの設定も可能です。
なお、Event NotificationsのリージョンはCloud Logsと同様のリージョンを選択する必要があります。前提のCloud LogsやObject Storageバケットのリージョンはフランクフルトにて作成しているため、今回は同様にEvent Notificationsのリージョンもフランクフルトに設定しています。
その後、必要に応じてリソース・グループやタグなどを入力し、作成
をクリックします。
作成されたEvent Notificationsの画面は以下となります。
3-3. インスタンスの統合
各インスタンスの作成が完了したら、以下の手順にてCloud LogsとEvent Notificationsのインスタンス統合を行います。
すでに作成したCloud Logsのダッシュボードにアクセスし、integrationsアイコン
→Outbound integrations
をクリックします。
Event NotificationsのAdd
→Add new
をクリックします。
3-3-1. Authorization setup
こちらの画面にてアクセス権限を確認する必要があります。もし権限がなく次に進めない場合、インスタンス統合に関するアクセス権限がないためであり、以下の手順に沿ってIAMにてアクセス権限を付与する必要があります。
3-3-1-a. IAMにてアクセス権限を付与する流れ
Create a new authorization policy in IAM Authorizations.
をクリックし、IAM画面にアクセスします。
IAM画面にて権限を付与するため、作成
をクリックします。
まずはソース・サービスを設定します。
ソース・アカウントは当アカウント
(別のアカウントも設定可能)、サービスはCloud Logs
、リソースは作成された特定のCloud Logsのインスタンス(全てのリソースも指定可能)を選択し、次へ
をクリックします。
次はターゲット・サービスを設定します。
サービスはEvent Notifications
、リソースは上記で作成したEvent Notificationsのインスタンス(全てのリソースも指定可能)、役割にて必ず Event Source Manager
を選択します。
全ての設定が完了したら許可
をクリックし、権限を付与します。
以上、権限付与は完了です。
3-3-2. Settings
次はSettings画面にて統合するサービスとインスタンスを設定します。上記で作成したEvent Notificationsのインスタンスを選択し、Save
をクリックします。
3-3-3. Test
Test画面にて、Event Notificationsの複数の設定を行い、Testをクリアする必要があります。
新しく作成したインスタンスの場合、必要な設定がされていないと思いますので、手順に沿って設定を行ってください。
3-3-3-a. Event Notificationsインスタンスにアクセス
Event Notificationsの設定ではソースとトピック、サブスクリプションが必要となります。
そのため、Visit your Event Notification instance details page.
をクリック、作成したインスタンス詳細画面にアクセスします。
3-3-3-b. Sourceの設定
まずは、イベント通知を送信しするソースを設定するため、カテゴリーにてSources
→追加
→IBM Cloudのソース
をクリックします。
ソースとして利用できるサービスはこちらに記載されていますが、今回はSecret Managerを選択しています。
サービスを表示する
にてインスタンス作成画面に移動します。
こちらは、必ずSecrets Managerである必要はないですが、上記の通りSourceの設定ができていない場合次の段階に進むことができませんので、Sourceとして使うインスタンスを適宜作成ください。
Secerts Managerの作成画面にてインスタンスを作成します。
なお、ロケーションはCloud LogsやEvent Notificationsと同様にフランクフルト、プランは無料版で作成しています。(インスタンス作成には数分ほどかかりました)
インスタンスが作成されたら、インスタンスのマウントのため、設定
カテゴリーにてEvent Notifications
→接続
をクリックします。
接続するインスタンスとしては、上記で作成したEvent Notificationsを選択し、接続
をクリックします。
なお、Secrets ManagerからEvent Notificationsの接続ができない場合は、他のサービスと同様にアクセス権限を付与する必要がありますので、Event Source Manager
権限を付与ください。
3-3-3-c. Topicの設定
次は、フィルター処理されたイベントが到着する場所を設定するため、カテゴリーにてTopics
→作成
をクリックします。
トピックの作成画面が表示されたら、トピックの名前やソースとしてCloud Logsのインスタンスを選択、イベント・タイプはTest Event
を選択し、必要に応じて重要度(INFO,WARNING,CRITICAL,ERROR)を選択し、条件を追加する
をクリックします。
イベント条件が追加されたことを確認し、作成
をクリックします。
3-3-3-d. Subscriptionの設定
最後に、設定したトピックと宛先を紐づけるサブスクリプションを設定します。
カテゴリーにてSubscriptions
→作成
をクリックします。
サブスクリプションの作成画面にて、サブスクリプション名を適宜入力し、先ほど作成したトピックを選択します。
また、宛先の種類(Mail、SMS)を選択しますが、今回はメールを選択しています。
メール通知に関する設定を行います。メールの受信先名と返信先名を適宜入力し、通知を送信するメールアドレスを入力します。
最後に通知を受け取るメールアドレスを入力し、追加
ボタンをクリックします。
メールアドレスが追加されたことを確認し、作成
ボタンをクリックします。
サブスクリプションの設定が完了したら、早速先ほど指定したメールアドレスに確認メールが飛ぶので、link
にアクセスします。
メール通知を受け取ることを許可するかのメッセージが表示されるので、Confirm
をクリックし、メール通知を許可します。
以上、Event Notificationsの設定は完了です。
3-3-4. Alert Notifications
最後にAlert Notificationsにて通知の頻度を適宜設定し、Done
をクリックすると統合が完了します。
3-4. 結果
今回は検証に使われたアカウントの制限上、統合された後実際通知を飛ばす部分までは確認できませんでしたが、次回の検証の際にその内容も含みたいと思います。