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.
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.
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
surtrue
.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"
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
surtrue
.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" }