Scénario : séparation des messages par flux de données de mesure

Parcourez la procédure de configuration d'une alarme permettant d'envoyer un message pour chaque flux de données de mesure. Dans cet exemple, vous souhaitez être averti dès qu'un serveur dépasse un seuil. Avec cette configuration, vous recevez des messages propres au serveur.

Attention

Lorsque les messages sont séparés par flux de données de mesure, tenez compte du nombre de ressources surveillées par l'alarme. Si des centaines de ressources déclenchent simultanément de l'alarme, plusieurs messages sont envoyés en même temps. Un nombre élevé de messages peut saturer le téléphone (SMS), la boîte de réception (courriel) ou d'autres adresses de messagerie, et certains messages peuvent être retardés en raison de limites du service. Pour plus d'informations sur les limites et les meilleures pratiques, reportez-vous à Limites de message d'alarme.

Stratégie IAM 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 un administrateur de location a accordé un accès de sécurité dans une stratégie . Cet accès est requis, que vous utilisiez la console ou l'API REST avec un kit SDK, une interface de ligne de commande ou un autre outil. Si un message vous informe que vous n'avez pas d'autorisation ou que vous n'êtes pas autorisé, vérifiez auprès de l'utilisateur le type d'accès qui vous est accordé et le compartiment dans lequel vous travaillez.

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

Administrateurs : afin de connaître les stratégies courantes autorisant les utilisateurs à gérer les alarmes et à créer des sujets, reportez-vous à Accès aux alarmes pour les groupes.

Objectif

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

Configuration de ce scénario

Cette configuration implique la création d'une alarme de seuil activée pour les messages propres à un flux de données de mesure. Dans ce scénario fictif, vous sélectionnez la mesure personnalisée MyCustomCPUMetric et le groupe de ressources MyServerResourceGroup.

Vous pouvez effectuer ces tâches dans la CLI, l'API ou la console Oracle Cloud Infrastructure.

    1. Sur 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, reportez-vous à Liste des alarmes.
    2. Sur la page Créer une alarme, sous Définir une alarme, entrez un nom d'alarme.

      Exemple : Server-Specific Messages

      Modifiez éventuellement la gravité de l'alerte et saisissez le texte de message dans Corps de l'alerte.

    3. Sous Description de mesure, sélectionnez la mesure personnalisée et définissez la requête.
      • Compartiment : sélectionnez le compartiment .
      • Espace de noms de mesure : sélectionnez l'espace de noms de la mesure personnalisée.
      • Groupes de ressources : MyServerResourceGroup
      • Nom de mesure : MyCustomCPUMetric

        Remarque

        N'importe quelle mesure OCI ou mesure personnalisée peut être sélectionnée.
      • Intervalle 1m
      • Statistique : nombre
    4. Ignorez les dimensions de mesure.
    5. Sous Règle de déclencheur, définissez le seuil sur la valeur 80 et retarde les messages de l'ordre de 10 minutes :
      • Opérateur : supérieur à
      • Valeur : 80
      • Délai de déclenchement en minutes: 10
    6. Sous Définir les notifications d'alarme, Destination, indiquez les valeurs suivantes :
      • Service de destination : Notifications
      • Compartiment : sélectionnez le compartiment contenant le sujet.
      • Sujet : sélectionnez le sujet auquel vous voulez envoyer des notifications. Dans ce scénario, le sujet existe déjà et contient les abonnements de votre choix (SMS, courriel et autres).
      Ce scénario utilise un sujet pour les notifications d'alarme. Vous pouvez choisir d'utiliser un flux de données à la place, ce qui est utile lorsque vous vous attendez à un volume élevé de notifications d'alarme. Pour plus d'informations, reportez-vous à Limites de message d'alarme.
    7. Sous Regroupement de message, sélectionnez Séparer les notifications par flux d'informations de mesure.
      Cette option est requise afin de recevoir un message pour chaque flux de données de mesure.
    8. Sélectionnez Répéter une notification ? et conservez le paramètre par défaut de 60 minutes.
      Les messages sont envoyés toutes les heures tant que l'alarme est à l'état Firing pour des flux de données de mesure.
    9. Sélectionnez Enregistrer l'alarme.
    Monitoring commence l'évaluation des mesures des serveurs du compartiment sélectionné et envoie un seul message d'alarme (par abonnement) pour chaque flux de données.
  • Créez l'alarme à l'aide de la commande oci monitoring alarm create. Afin de configurer l'alarme pour séparer les messages par flux de données de mesure, définissez --is-notifications-per-metric-dimension-enabled sur 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"

    Afin d'obtenir la liste complète des indicateurs et des options de variable des commandes d'interface de ligne de commande, reportez-vous à Référence de ligne de commande.

  • Utilisez l'opération CreateAlarm pour créer l'alarme. Afin de configurer l'alarme pour séparer les messages par flux de données de mesure, définissez isNotificationsPerMetricDimensionEnabled sur 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"
    }