Tous les produits
Search
Centre de documentation

Cloud Monitor:Écrire les informations d'alerte dans Simple Message Queue (anciennement MNS)

Dernière mise à jour :Aug 08, 2026

Transférez les informations d'alerte de Cloud Monitor vers une file d'attente Simple Message Queue (anciennement MNS) (SMQ) spécifiée.

Procédure

  1. Autorisez Cloud Monitor à écrire les informations d'alerte dans SMQ.

    1. Accédez à la page Cloud Resource Access Authorization pour permettre à Cloud Monitor d'assumer le rôle AliyunCloudMonitorDefaultRole.

    2. Cliquez sur Confirm Authorization Policy.

  2. Appelez l'opération PutResourceMetricRule pour créer une règle d'alerte.

    Pour plus d'informations, consultez PutResourceMetricRule.

  3. Appelez l'opération PutMetricRuleTargets pour créer des messages d'alerte pour la règle d'alerte spécifiée et les écrire dans la file d'attente SMQ désignée.

    Pour plus d'informations, consultez PutMetricRuleTargets.

    L'Alibaba Cloud Resource Name (ARN) d'une file d'attente SMQ suit le format "acs:mns:{$RegionId}:{$UserId}:/queues/{$queueName}/messages".

    Le code suivant illustre un exemple de l'opération PutMetricRuleTargets :

    RuleId:"putNewAlarm_group_778af9ba-a291-46ab-ac53-3983bcee****",
    Targets:[{
        Id: 1,
        Arn:"acs:mns:{$RegionId}:{$UserId}:/queues/{$queueName}/messages",
        Level: ["INFO", "WARN", "CRITICAL"],
    }]

Corps du message écrit dans SMQ

Cloud Monitor écrit les corps des messages d'alerte dans SMQ au format JSON. L'exemple ci-dessous présente la structure d'un corps de message JSON :

{
  "ruleId": "putNewAlarm_group_778af9ba-a291-46ab-ac53-3983bcee****",
  "ruleName": "test123",
  // The current alert level. 
  "curLevel": "WARN",
  // The previous alert level. 
  "preLevel": "OK",
  // The instance that triggers the alert. 
  "resources": "{\"instanceId\": \"i-uf61rfofjd2iku7e****\"}",
  // The condition that triggers the alert. 
  "escalation": {
    "comparisonOperator": "GreaterThanYesterday",
    "level": 3,
    "statistics": "Average",
    "tag": "WARN",
    "threshold": "0",
    "times": 1
  },
  "metricData": {
    "timestamp": 1534736160000,
    "userId": "127067667954****",
    "instanceId": "i-uf61rfofjd2iku7e****",
    "Average": 470687744,
    "Maximum": 470794240,
    "Minimum": 470556672,
    // The historical value of the AliyunCmsPrevValues parameter. For example, you can compare the value in the current period between today and yesterday. 
    "AliyunCmsPrevValues": { 
      "timestamp": 1534649760000,
      "userId": "127067667954****",
      "instanceId": "i-uf61rfofjd2iku7e****",
      "Average": 468463616,
      "Maximum": 468549632,
      "Minimum": 468258816
    },
    // The comparison formula. 
    "AliyunCmsComplexExpression": "100.0 * ($Average-$$prevAverage)/$$prevAverage",
    // The conversion formula. 
    "AliyunCmsComplexMath": "100.0 * (470687744-468463616)/468463616",
    // The calculation result. 
    "AliyunCmsComplexValue": 0.47477070236336133
  },
  // The metric information. 
  "metricName": "memory_actualusedspace#60",
  "namespace": "acs_ecs_dashboard",
  "period": "60",

  // The information about the application group. 
  "groupBy": "group",
  "productGroupName": "ECS instance",
  "groupId":"7301****",

  // The alert time. 
  "lastTime": 327362743, // The duration of the alert. Unit: milliseconds. 
  "time": 1534736160000, // The time when the alert was generated. Unit: milliseconds. 

  "userId": "173651113438****",
  "eventName": "AlertOk",
  "eventType": "Alert",
  // The trace information. 
  "batchId": "4272653-152082****",
  "version": "1.0"
}