シナリオ: メトリック・ストリーム別のメッセージの分割

メトリック・ストリームごとにメッセージを送信するためのアラームの設定を段階的に進めます。この例では、サーバーがしきい値を超えると通知を受けるようにします。この設定では、サーバー固有のメッセージを受信します。

注意

メッセージがメトリック・ストリームごとに分割されている場合は、アラームによってモニターされるリソースの数を考慮してください。何百ものリソースが同時にアラームを起動すると、複数のメッセージが同時に送信されます。多くのメッセージが電話(SMS)、受信ボックス(電子メール)またはその他のメッセージング・エンドポイントに送信され、サービス制限のために一部のメッセージが遅延する可能性があります。制限およびベスト・プラクティスの詳細は、アラーム・メッセージの制限を参照してください。

必須IAMポリシー

このトピックでは、このシナリオのアクセス要件について説明します。

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

管理者グループのメンバーであれば、このシナリオを完了するために必要なアクセス権をすでに持っています。

管理者: ユーザーがアラームを管理し、トピックを作成できる一般的なポリシーについては、グループのアラーム・アクセスを参照してください。

目標

この仮定のシナリオの目標は、サーバーごとに個別のアラーム・メッセージを受信することです。たとえば、カスタムCPU使用率メトリックを発行する50台のサーバーをモニターしており、CPU使用率が80%を超えているかどうかを確認するとします。個々のサーバーのメトリックがアラームをトリガーするたびにメッセージを受信するようにします。

このシナリオの設定

設定には、メトリック・ストリーム固有のメッセージに対して有効なしきい値アラームの作成が含まれます。この仮定のシナリオでは、カスタム・メトリックMyCustomCPUMetricおよびリソース・グループMyServerResourceGroupを選択します。

これらのタスクは、Oracle Cloud Infrastructureコンソール、CLIまたはAPIで完了できます。

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

      例: サーバー固有のメッセージ

      オプションで、「アラーム重大度」を変更し、「アラーム本文」のメッセージ・テキストを入力します。

    4. 「メトリックの説明」で、カスタム・メトリックを選択し、問合せを定義します。
      • コンパートメント: コンパートメントを選択します。
      • メトリック・ネームスペース: カスタム・メトリックのネームスペースを選択します。
      • リソース・グループ: MyServerResourceGroup
      • メトリック名: MyCustomCPUMetric

        ノート

        OCIメトリックまたはカスタム・メトリックを選択できます。
      • 間隔: 1 m
      • 統計: 件数
    5. 「メトリック・ディメンション」をスキップします。
    6. 「トリガー・ルール」で、しきい値を80に設定し、メッセージを10分遅らせます:
      • 演算子: 次より大きい
      • : 80
      • トリガー遅延分数: 10
    7. 「アラーム通知の設定」「宛先」で、次の値を指定します:
      • 宛先サービス: 通知
      • コンパートメント: トピックを含むコンパートメントを選択します。
      • トピック: 通知を送信するトピックを選択します。このシナリオでは、トピックはすでに存在し、必要なサブスクリプション(SMS、電子メールなど)が含まれています。
      このシナリオでは、アラーム通知にトピックを使用します。かわりにストリームを使用するように選択できます。これは、大量のアラーム通知が予想される場合に役立ちます。詳細は、アラーム・メッセージの制限を参照してください。
    8. 「メッセージのグループ化」で、「メトリック・ストリームごとに通知を分割」を選択します。
      このオプションは、メトリック・ストリームごとにメッセージを受信するために必要です。
    9. 「通知の繰返し」を選択し、デフォルト設定を60分のままにします。
      メッセージは、1つ以上のメトリック・ストリームのアラームがFiring状態であるかぎり、1時間ごとに送信されます。
    10. 「アラームの保存」をクリックします
    モニタリングは、選択したコンパートメント内のサーバーのメトリックの評価を開始し、メトリック・ストリームごとに単一のアラーム・メッセージ(サブスクリプション当たり)を送信します。
  • oci monitoring alarm createコマンドを使用して、アラームを作成します。メトリック・ストリーム別に分割メッセージのアラームを構成するには、--is-notifications-per-metric-dimension-enabledtrueに設定します。

    コマンド例
    oci monitoring alarm create 
    --compartment-id "<compartment_OCID>"
    --destinations ["<topic_OCID>"]
    --display-name "Server-Specific Messages"
    --is-enabled true
    --is-notifications-per-metric-dimension-enabled true
    --message-format "ONS_OPTIMIZED"
    --metric-compartment-id "<metric_compartment_OCID>"
    --namespace "<custom_metric_namespace>"
    --query-text "MyCustomCPUMetric[1m].count() > 80"
    --repeat-notification-duration "PT1H"
    --resource-group "MyServerResourceGroup"
    --severity "CRITICAL"

    CLIコマンドのフラグおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。

  • アラームを作成にするには、CreateAlarm操作を使用します。メトリック・ストリーム別に分割メッセージのアラームを構成するには、isNotificationsPerMetricDimensionEnabledtrueに設定します。

    リクエストの例
    POST /20180401/alarms
    Host: telemetry.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "body": "Server exceeded CPU utilization threshold",
      "compartmentId": "<compartment_OCID>",
      "destinations": ["<topic_OCID>"],
      "displayName": "Server-Specific Messages",
      "isEnabled": true
      "isNotificationsPerMetricDimensionEnabled": true
      "messageFormat": "ONS_OPTIMIZED",
      "metricCompartmentId": "<metric_compartment_OCID>",
      "namespace": "<custom_metric_namespace>",
      "query": "MyCustomCPUMetric[1m].count() > 80",
      "repeatNotificationDuration": "PT1H",
      "resourceGroup": "MyServerResourceGroup",
      "severity": "CRITICAL"
    }