シナリオB: SlackおよびSMSへのアラーム・メッセージの送信
アラームがトリガーされたときに、SlackチャネルおよびSMS電話番号への自動通知を設定します。
このシナリオでは、チャネルのSlackエンドポイントを設定し、そのチャネルとSMS電話番号の両方にメッセージを送信するアラームを作成します。アラームが起動すると、通知サービスがアラームのメッセージを宛先トピックに送信し、さらにトピックのサブスクリプションに展開します。このシナリオでは、トピックのサブスクリプションには、SlackチャネルとSMS電話番号、および電子メール・アドレスが含まれます。
必須IAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。
管理者グループのメンバーであれば、このシナリオを実行するために必要なアクセス権はすでに持っています。そうでない場合は、モニタリングおよび通知にアクセスする必要があります。
タスク1: Slackエンドポイントの設定
Slackアプリケーションへの受信Webフックを作成します。
Slackアプリケーションへの受信Webフックの例(サブスクリプションのSlackエンドポイントと同等): https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
Slackエンドポイントを設定すると、コンソールで他のすべてのシナリオ・ステップを完了できます。または、Oracle Cloud Infrastructure CLIまたはAPIを使用して、各操作を自分で実行することもできます。
タスク2: トピックの作成
トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。
-
「トピックの作成」パネルを開きます。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
- 操作権限を持つコンパートメントを選択します。
- 「トピックの作成」をクリックします。
- 「名前」に、「アラーム・トピック」と入力します。
- 「作成」をクリックします。
-
「トピックの作成」パネルを開きます。
oci ons Topic createコマンドおよび必須パラメータを使用してトピックを作成します:
oci ons topic create --name <name> --compartment-id <compartment_OCID>
例:
oci ons topic create --name "Alarm Topic" --compartment-id "<compartment_OCID>"
CLIコマンドのパラメータおよび値の完全なリストは、通知のコマンドライン・リファレンスを参照してください。
CreateTopic操作を実行してトピックを作成します。
例:
POST /20181201/topics Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "name": "Alarm Topic", "compartmentId": "<compartment_OCID>" }
タスク3: サブスクリプションの作成
トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。
-
前に作成したトピックを選択します。
- ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
- 操作権限を持つコンパートメントを選択します。
- 前に作成したトピックの名前(例の名前はアラームのトピック)をクリックします。
-
Slackサブスクリプションを作成します。
-
SMSサブスクリプションを作成します。
-
Eメール・サブスクリプションを作成します。
-
前に作成したトピックを選択します。
oci ons Subscription createコマンドおよび必須パラメータを使用して、各サブスクリプションを作成します:
oci ons subscription create --protocol <subscription_type> --subscription-endpoint <endpoint> --compartment-id <compartment_OCID> --topic-id <topic_OCID>
Slackサブスクリプションの例:
oci ons subscription create --protocol "SLACK" --subscription-endpoint "<slack-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
SMSサブスクリプションの例:
oci ons subscription create --protocol "SMS" --subscription-endpoint "<sms-endpoint>" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
Eメール・サブスクリプションの例:
oci ons subscription create --protocol "EMAIL" --subscription-endpoint "john.smith@example.com" --compartment-id "<compartment_OCID>" --topic-id "<topic_OCID>"
CLIコマンドのパラメータおよび値の完全なリストは、通知のコマンドライン・リファレンスを参照してください。
CreateSubscription操作を実行して、各サブスクリプションを作成します。
Slackサブスクリプションの例:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SLACK", "endpoint": "<slack-endpoint>" }
SMSサブスクリプションの例:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "SMS", "endpoint": "<sms-endpoint>" }
Eメール・サブスクリプションの例:
POST /20181201/subscriptions Host: notification.us-phoenix-1.oraclecloud.com <authorization and other headers> { "topicId": "<topic_OCID>", "compartmentId": "<compartment_OCID>", "protocol": "EMAIL", "endpoint": "john.smith@example.com" }
タスク4: アラームの作成
トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。
- 「アラームの作成」ページを開きます。
- ナビゲーション・メニューを開き、「監視および管理」をクリックします。「モニタリング」で、「アラーム定義」をクリックします。
-
「アラームの作成」をクリックします。
- 「アラーム名」に、「使用率アラーム」と入力します。
-
「メトリックの説明」で、メトリック、間隔および統計を選択します。
フィールド このシナリオの値の例 コンパートメント 高CPU使用率を監視するインスタンスを含むコンパートメントを選択します。 メトリック・ネームスペース oci_computeagent メトリック名 CpuUtilization 間隔 1m 統計 カウント -
「トリガー・ルール」で、アラームしきい値を設定します。
フィールド このシナリオの値の例 演算子 次より大きい 値 90 トリガー遅延分数 1 - 「通知」の「宛先」で、前に作成したトピックを選択します。
フィールド このシナリオの値の例 宛先サービス 通知サービス コンパートメント 前に作成したトピックを含むコンパートメントを選択します。 トピック 前に作成したトピックを選択します。 -
「アラームの保存」をクリックします。
- 「アラームの作成」ページを開きます。
oci monitoring alarm createコマンドと必須パラメータを使用して、アラームを作成します:
oci monitoring alarm create --display-name <name> --compartment-id <compartment_OCID> --metric-compartment-id <compartment_OCID> --namespace <metric_namespace> --query-text <mql_expression> --severity <level> --destinations <file_or_text> --is-enabled <true_or_false>
例:
oci monitoring alarm create --display-name "Utilization Alarm" --compartment-id "<compartment_OCID>" --metric-compartment-id "<compartment_OCID>" --namespace "oci_computeagent" --query-text "CpuUtilization[1m].count() > 90" --severity "CRITICAL" --destinations "<topic_OCID>" --is-enabled true
CLIコマンドのパラメータおよび値の完全なリストは、モニタリングのコマンドライン・リファレンスを参照してください。
CreateAlarm操作を実行してアラームを作成します。
例:
POST /20180401/alarms Host: telemetry.us-phoenix-1.oraclecloud.com <authorization and other headers> { "displayName": "Utilization Alarm", "compartmentId": "<compartment_OCID>", "metricCompartmentId": "<compartment_OCID>", "namespace": "oci_computeagent", "query": "CpuUtilization[1m].count() > 90", "severity": "CRITICAL", "destinations": [ "<topic_OCID>" ], "isEnabled": true }