シナリオB: SlackおよびSMSへのアラーム・メッセージの送信

アラームがトリガーされたときに、SlackチャネルおよびSMS電話番号への自動通知を設定します。

このシナリオでは、チャネルのSlackエンドポイントを設定し、そのチャネルとSMS電話番号の両方にメッセージを送信するアラームを作成します。アラームが起動すると、通知サービスがアラームのメッセージを宛先トピックに送信し、さらにトピックのサブスクリプションに展開します。このシナリオでは、トピックのサブスクリプションには、SlackチャネルとSMS電話番号、および電子メール・アドレスが含まれます。

この図は、アラームのメッセージをSlackに送信するシナリオのコンテキストでの通知を示しています。

必須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: トピックの作成

トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。

  • ノート

    このシナリオの別のコンソール・ワークフローには、アラームの作成時、そのトピックの追加のサブスクリプションの作成時、新しいトピックおよび最初のサブスクリプションの作成が含まれます。
    1. 「トピックの作成」パネルを開きます。
      1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
      2. 操作権限を持つコンパートメントを選択します。
      3. 「トピックの作成」をクリックします。
    2. 「名前」に、「アラーム・トピック」と入力します。
    3. 「作成」をクリックします。
  • 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: サブスクリプションの作成

トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。

    1. 前に作成したトピックを選択します。
      1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします。「アプリケーション統合」で、「通知」をクリックします。
      2. 操作権限を持つコンパートメントを選択します。
      3. 前に作成したトピックの名前(例の名前はアラームのトピック)をクリックします。
    2. Slackサブスクリプションを作成します。
      1. 「サブスクリプションの作成」パネルを開きます: トピックの詳細ページで、「サブスクリプションの作成」をクリックします。
        「サブスクリプションの作成」パネルが開きます。
      2. 「プロトコル」で、「Slack」を選択します。
      3. 残りのフィールドに入力します。
        フィールド 摘要
        URL

        前に作成したSlackエンドポイントを入力(またはコピーして貼り付けます)します。Webフック・トークンを含めます。

        エンドポイントの例:

        https://hooks.slack.com/services/<webhook-token>
      4. 「作成」をクリックします。
      5. 新規Slackサブスクリプションの確認: Slackに送信された確認URLに移動します。
    3. SMSサブスクリプションを作成します。
      1. 「サブスクリプションの作成」パネルを開きます: トピックの詳細ページで、「サブスクリプションの作成」をクリックします。
        「サブスクリプションの作成」パネルが開きます。
      2. 「プロトコル」で、「SMS」を選択します。
      3. 残りのフィールドに入力します。
        フィールド 摘要
        電話番号の国を選択します。開始する前にを参照してください。
        電話番号 E.164書式を使用して電話番号を入力します。
      4. 「作成」をクリックします。
      5. 新しいSMSサブスクリプションの確認: 電話で受信した指示に従います。
    4. Eメール・サブスクリプションを作成します。
      1. 「サブスクリプションの作成」パネルを開きます: トピックの詳細ページで、「サブスクリプションの作成」をクリックします。
        「サブスクリプションの作成」パネルが開きます。
      2. 「プロトコル」で、「電子メール」を選択します。
      3. 残りのフィールドに入力します。
        フィールド 摘要
        電子メール 電子メール・アドレスを入力してください。
      4. 「作成」をクリックします。
      5. 新しい電子メール・サブスクリプションの確認:電子メールを開き、確認URLに移動します。
  • ノート

    サブスクリプションの作成後、確認します。

    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: アラームの作成

トラブルシューティングのヘルプは、通知のトラブルシューティングを参照してください。

    1. 「アラームの作成」ページを開きます。
      1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「モニタリング」で、「アラーム定義」をクリックします。
      2. 「アラームの作成」をクリックします。

    2. 「アラーム名」に、「使用率アラーム」と入力します。
    3. 「メトリックの説明」で、メトリック、間隔および統計を選択します。

      フィールド このシナリオの値の例
      コンパートメント 高CPU使用率を監視するインスタンスを含むコンパートメントを選択します。
      メトリック・ネームスペース oci_computeagent
      メトリック名 CpuUtilization
      間隔 1m
      統計 カウント
    4. 「トリガー・ルール」で、アラームしきい値を設定します。

      フィールド このシナリオの値の例
      演算子 次より大きい
      90
      トリガー遅延分数 1
    5. 「通知」「宛先」で、前に作成したトピックを選択します。
      フィールド このシナリオの値の例
      宛先サービス 通知サービス
      コンパートメント 前に作成したトピックを含むコンパートメントを選択します。
      トピック 前に作成したトピックを選択します。
    6. 「アラームの保存」をクリックします。

  • 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
    }