シナリオ: メトリック・ストリーム別のメッセージの分割
メトリック・ストリームごとにメッセージを送信するためのアラームの設定を段階的に進めます。この例では、サーバーがしきい値を超えると通知を受けるようにします。この設定では、サーバー固有のメッセージを受信します。
メッセージがメトリック・ストリームごとに分割されている場合は、アラームによってモニターされるリソースの数を考慮してください。何百ものリソースが同時にアラームを起動すると、複数のメッセージが同時に送信されます。多くのメッセージが電話(SMS)、受信ボックス(電子メール)またはその他のメッセージング・エンドポイントに送信され、サービス制限のために一部のメッセージが遅延する可能性があります。制限およびベスト・プラクティスの詳細は、アラーム・メッセージの制限を参照してください。
必須IAMポリシー
このトピックでは、このシナリオのアクセス要件について説明します。
Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。
管理者グループのメンバーであれば、このシナリオを完了するために必要なアクセス権をすでに持っています。
管理者: ユーザーがアラームを管理し、トピックを作成できる一般的なポリシーについては、グループのアラーム・アクセスを参照してください。
目標
この仮定のシナリオの目標は、サーバーごとに個別のアラーム・メッセージを受信することです。たとえば、カスタムCPU使用率メトリックを発行する50台のサーバーをモニターしており、CPU使用率が80%を超えているかどうかを確認するとします。個々のサーバーのメトリックがアラームをトリガーするたびにメッセージを受信するようにします。
このシナリオの設定
設定には、メトリック・ストリーム固有のメッセージに対して有効なしきい値アラームの作成が含まれます。この仮定のシナリオでは、カスタム・メトリックMyCustomCPUMetric
およびリソース・グループMyServerResourceGroup
を選択します。
これらのタスクは、Oracle Cloud Infrastructureコンソール、CLIまたはAPIで完了できます。
モニタリングは、選択したコンパートメント内のサーバーのメトリックの評価を開始し、メトリック・ストリームごとに単一のアラーム・メッセージ(サブスクリプション当たり)を送信します。 oci monitoring alarm createコマンドを使用して、アラームを作成します。メトリック・ストリーム別に分割メッセージのアラームを構成するには、
--is-notifications-per-metric-dimension-enabled
をtrue
に設定します。コマンド例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操作を使用します。メトリック・ストリーム別に分割メッセージのアラームを構成するには、
isNotificationsPerMetricDimensionEnabled
をtrue
に設定します。リクエストの例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" }