シナリオ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サブスクリプションを作成します。
-
電子メール・サブスクリプションを作成します。
各サブスクリプションを作成するには、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 }