Scénario : Fractionner les messages par flux de mesure

Découvrez comment configurer une alarme pour envoyer un message pour chaque flux de mesure. Dans cet exemple, vous souhaitez être averti lorsqu'un serveur dépasse un seuil. Avec cette configuration, vous recevez des messages propres au serveur.

Attention

Lorsque les messages sont fractionnés par flux de mesure, prenez en compte le nombre de ressources surveillées par l'alarme. Si des centaines de ressources déclenchent simultanément l'alarme, plusieurs messages sont envoyés en même temps. De nombreux messages peuvent envahir le téléphone (SMS), la boîte de réception (courriel) ou un autre point d'extrémité de messagerie, et certains messages peuvent être retardés en raison des limites de service. Pour plus d'informations sur les limites et les meilleures pratiques, voir Limites de messages d'alarme.

Politique GIA requise

Cette rubrique décrit les exigences d'accès pour le scénario.

Pour utiliser Oracle Cloud Infrastructure, un administrateur doit être membre d'un groupe auquel l'accès de sécurité est accordé dans une politique par un administrateur de location. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur de la location quel type d'accès vous avez et dans quel compartiment votre accès fonctionne.

Si vous êtes membre du groupe Administrateurs, vous disposez déjà de l'accès requis pour réaliser ce scénario.

Administrateurs : Pour les politiques communes permettant aux utilisateurs de gérer les alarmes et de créer des sujets, voir Accès aux alarmes pour les groupes.

Objectif

L'objectif de ce scénario hypothétique est de recevoir des messages d'alarme distincts par serveur. Supposons que vous surveillez 50 serveurs qui émettent une mesure d'utilisation d'UC personnalisée et vous voulez savoir si l'un d'eux dépasse 80 % d'utilisation d'UC. Vous voulez recevoir un message chaque fois que les mesures d'un serveur individuel déclenchent l'alarme.

Configuration pour ce scénario

La configuration consiste à créer une alarme de seuil activée pour les messages propres à un flux de mesure. Dans ce scénario hypothétique, vous sélectionnez la mesure personnalisée MyCustomCPUMetric et le groupe de ressources MyServerResourceGroup.

Vous pouvez effectuer ces tâches dans la console Oracle Cloud Infrastructure, l'interface de ligne de commande ou l'API.

    1. Dans la page de liste Définitions d'alarme, sélectionnez Créer une alarme. Si vous avez besoin d'aide pour trouver la page de liste, voir Liste des alarmes.
    2. Dans la page Créer une alarme, sous Définition d'une alarme, entrez un nom d'alarme.

      Exemple : Messages propres au serveur

      Facultativement, modifiez la gravité de l'alarme et entrez le texte du message pour le corps de l'alarme.

    3. Sous Description de la mesure, sélectionnez la mesure personnalisée et définissez l'interrogation.
      • Service : Sélectionnez le service .
      • Espace de noms de mesure : Sélectionnez l'espace de noms de la mesure personnalisée.
      • Groupe de ressources : MyServerResourceGroup
      • Nom de mesure : MyCustomCPUMetric

        Note

        Toutes les mesures OCI ou mesures personnalisées peuvent être sélectionnées.
      • Intervalle : 1m
      • Statistique : Nombre
    4. Ignorez Dimensions Mesure.
    5. Sous Règle de déclenchement, réglez le seuil à 80 et différez les messages de 10 minutes :
      • Opérateur : supérieur à
      • Valeur : 80
      • Délai de déclenchement en minutes : 10
    6. Sous Définir les avis d'alarme, Destination, fournissez les valeurs suivantes :
      • Service de destination : Avis
      • Compartiment : Sélectionnez le compartiment contenant le sujet.
      • Sujet : Sélectionnez le sujet auquel vous voulez envoyer des avis. Dans ce scénario, le sujet existe déjà et contient les abonnements qui vous intéressent (SMS, courriel, etc.).
      Ce scénario utilise un sujet pour les avis d'alarme. Vous pouvez choisir d'utiliser un flux à la place, ce qui est utile lorsque vous prévoyez un volume élevé d'avis d'alarme. Pour plus d'informations, voir Limites de messages d'alarme.
    7. Sous Regroupement de messages, sélectionnez Fractionner les avis par flux de mesure.
      Cette option est requise pour recevoir un message pour chaque flux de mesure.
    8. Sélectionnez Renvoyer l'avis et conservez la valeur par défaut de 60 minutes.
      Les messages sont envoyés toutes les heures tant que l'alarme est à l'état Firing pour un ou plusieurs flux de mesure.
    9. Sélectionnez Enregistrer l'alarme.
    Le service Surveillance commence à évaluer les mesures pour les serveurs dans le compartiment sélectionné, en envoyant un seul message d'alarme (par abonnement) pour chaque flux de mesure.
  • Créez l'alarme à l'aide de la commande oci monitoring alarm create. Pour configurer le fractionnement des messages par flux de mesure pour l'alarme, réglez --is-notifications-per-metric-dimension-enabled à true.

    Exemple de commande
    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"

    Pour la liste complète des indicateurs et des options de variable pour les commandes de l'interface de ligne de commande, voir Informations de référence sur la ligne de commande.

  • Utilisez l'opération CreateAlarm pour créer l'alarme. Pour configurer le fractionnement des messages par flux de mesure pour l'alarme, réglez isNotificationsPerMetricDimensionEnabled à true.

    Exemple de demande
    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"
    }