报警信息写入轻量消息队列(原 MNS)

本文为您介绍如何将报警信息写入到指定的轻量消息队列(原 MNS)。

操作步骤

  1. 授予云监控将报警信息写入轻量消息队列(原 MNS)的权限。

    1. 单击云资源访问授权

    2. 单击同意授权

  2. 调用PutResourceMetricRule接口,创建报警规则。

    关于如何设置请求参数,请参见PutResourceMetricRule

  3. 调用PutMetricRuleTargets接口,为目标报警规则创建报警信息,并写入指定轻量消息队列(原 MNS)的消息队列。

    关于如何设置请求参数,请参见PutMetricRuleTargets

    Arn指具体写入的轻量消息队列(原 MNS)的消息队列,格式为"acs:mns:{$RegionId}:{$UserId}:/queues/{$queueName}/messages"

    PutMetricRuleTargets接口请求参数示例:

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

写入轻量消息队列(原 MNS)的消息体说明

写入轻量消息队列(原 MNS)的MessageBody为JSON格式,在MessageBody中,按JSON格式解析,消息结构如下:

{
  "ruleId": "putNewAlarm_group_778af9ba-a291-46ab-ac53-3983bcee****",
  "ruleName": "test123",
  //当前报警级别。
  "curLevel": "WARN",
  //上次报警级别。
  "preLevel": "OK",
  //触发本次报警的实例。
  "resources": "{\"instanceId\": \"i-uf61rfofjd2iku7e****\"}",
  //触发本次报警的条件。
  "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,
    //AliyunCmsPrevValues的历史数据值(例如:同比昨天,表示昨天此时的数据)。
    "AliyunCmsPrevValues": { 
      "timestamp": 1534649760000,
      "userId": "127067667954****",
      "instanceId": "i-uf61rfofjd2iku7e****",
      "Average": 468463616,
      "Maximum": 468549632,
      "Minimum": 468258816
    },
    //对比计算公式。
    "AliyunCmsComplexExpression": "100.0 * ($Average-$$prevAverage)/$$prevAverage",
    //对比计算的换算式。
    "AliyunCmsComplexMath": "100.0 * (470687744-468463616)/468463616",
    //对比计算结果。
    "AliyunCmsComplexValue": 0.47477070236336133
  },
  //监控项信息。
  "metricName": "memory_actualusedspace#60",
  "namespace": "acs_ecs_dashboard",
  "period": "60",

  //应用分组信息。
  "groupBy": "group",
  "productGroupName": "ECS实例",
  "groupId":"7301****",

  //报警时间。
  "lastTime": 327362743, //持续时间。单位:毫秒。
  "time": 1534736160000, //数据发生时间。单位:毫秒。

  "userId": "173651113438****",
  "eventName": "AlertOk",
  "eventType": "Alert",
  //跟踪消息。
  "batchId": "4272653-152082****",
  "version": "1.0"
}