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 des limites de 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 vous accorder un accès sécurisé dans une stratégie. Cet accès est requis que vous utilisiez la console ou l'API REST avec un kit SDK, l'interface de ligne de commande ou un autre outil. Si un message vous indique que vous ne disposez pas des droits d'accès ou des autorisations nécessaires, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé et le compartiment dans lequel vous devez travailler.

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 l'interface de ligne de commande, l'API ou la console Oracle Cloud Infrastructure.

    1. Ouvrez le menu de navigation et cliquez sur Observation & gestion. Sous Surveillance, cliquez sur Définitions d'alarme.
    2. Cliquez sur Créer une alerte.
    3. 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'alarme et saisissez le texte de message dans Corps de l'alarme.

    4. 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.
      • Groupe de ressources : MyServerResourceGroup
      • Nom de mesure : MyCustomCPUMetric

        Remarque

        Vous pouvez sélectionner n'importe quelle mesure OCI ou mesure personnalisée.
      • Intervalle : 1m
      • Statistique : nombre
    5. Ignorez Dimension de mesure.
    6. Sous Règle de déclencheur, définissez le seuil sur 80 et retardez les messages de 10 minutes :
      • Opérateur : plus grand que
      • Valeur : 80
      • Minutes de délai de déclenchement : 10
    7. Sous Définir des 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 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.
    8. Sous Regroupement de messages, sélectionnez Séparer les notifications par flux de données de mesure.
      Cette option est requise afin de recevoir un message pour chaque flux de données de mesure.
    9. Sélectionnez Répéter la 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.
    10. Cliquez sur Enregistrer l'alarme.
    Monitoring commence à évaluer les mesures des serveurs du compartiment sélectionné et envoie un seul message d'alarme (par abonnement) pour chaque flux de données de mesure.
  • 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"
    }