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.
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.
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 commandeoci 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 demandePOST /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" }