ここでは、しきい値アラームをメッセージサービス (MNS) に書き込む方法について説明します。

手順

  1. CloudMonitor による MNS へのアラームの書き込みを許可するには、ここをクリックします。
  2. OpenAPI Explorer サービスを開始し、 PutResourceMetricRule操作を呼び出して、アラームルールを作成します。
  3. PutMetricRuleTargets操作を呼び出して、指定のアラームルールのアラームを作成し、対応する MNS パラメーターを設定します。

    ARN:"acs:mns:{$RegionId}:{$UserId}:/queues/{$queueName}/messages"の形式で対象の MNS キューを指定します。または、"acs:mns:{$RegionId}:{$UserId}:/topics/{$queueName}/messages"の形式で対象の MNS トピックを指定します。

次の例では、PutMetricRuleTargets のパラメーターを示します。

RuleId:"db17-4afc-b11a-568512d5a1f9",
Targets:[{
    Id: 1,
    Arn:"acs:mns:{$RegionId}:{$UserId}:/queues/{$queueName}/messages",
    Level: ["INFO", "WARN", "CRITICAL"],
}]

MNS に書き込むメッセージ本文

CloudMonitor は、メッセージ本文を JSON 文字列形式で MNS に書き込みます。 MNS がメッセージ本文を読み込むと、クライアントは次のようにメッセージ構造をJSON 文字列として解析します。

{
  "ruleId": "putNewAlarm_group_778af9ba-a291-46ab-ac53-3983bcee****",
  "ruleName": "test",
  //Current level.
  "curLevel": "WARN",
  //Previous level.
  "preLevel": "OK",
  //The instance that triggers the alarm.
  "resources": "{\"instanceId\": \"i-uf61rfofjd2iku7e****\"}",
  //The condition that triggers the alarm.
  "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,
    //Compare some metrics with those in the previous month and those in the same period of the previous year.--Start.
    "AliyunCmsPrevValues": { //Compared values.
      "timestamp": 1534649760000,
      "userId": "127067667954****",
      "instanceId": "i-uf61rfofjd2iku7e****",
      "Average": 468463616,
      "Maximum": 468549632,
      "Minimum": 468258816
    },
    //Comparison formula.
    "AliyunCmsComplexExpression": "100.0 * ($Average-$$prevAverage)/$$prevAverage",
    //Conversion formula.
    "AliyunCmsComplexMath": "100.0 * (470687744-468463616)/468463616",
    //Calculation result.
    "AliyunCmsComplexValue": 0.47477070236336133
    //Compare some metrics with those in the previous month and those in the same period last year.--End.
  },
  //Metric parameters.
  "metricName": "memory_actualusedspace#60",
  "namespace": "acs_ecs_dashboard",
  "period": "60",

  //Application group parameters.
  "groupBy": "group",
  "productGroupName": "RDS instance group",
  "groupId":"44958",

  //Alarm time
  "lastTime": 327362743, //The duration of the alarm.
  "time": 1534736160000, //The time when the data occurred.

  "userId": "173651113438****",
  "eventName": "AlertOk",
  "eventType": "Alert",
  //Use the following parameters to trace the alarm.
  "batchId": "4272653-152082****-0",
  "version": "1.0"
}