You need to enable JavaScript to run this app.
导航

告警回调使用说明

最近更新时间2023.10.12 17:50:00

首次发布时间2022.06.20 15:04:07

云监控告警策略中可以指定告警回调URL,本文主要介绍该URL的使用规范,以及云监控告警回调接口发送的POST请求包含的参数信息。

背景信息

当您创建告警策略时,在创建页面的通知方式区域,除了可以指定告警联系组接收告警通知,还可以设置告警回调URL接收告警通知。页面展示信息如下图所示,关于创建告警策略的具体操作,请参见创建告警策略

说明

如果您之前已创建了告警策略但是没有设置告警回调,则可以编辑已有的告警策略添加告警回调URL。具体操作,请参见修改告警策略

图片
如果您创建的告警策略设置了告警回调,当被监控的云服务触发告警策略时,云监控会发送告警通知至联系组成员,同时还会调用告警回调接口向指定的URL发起一次POST请求并携带告警通知的请求体(application/json)。
告警回调的重试策略为3次,超时时间为8秒。有一定概率出现客户端判定请求超时并触发重试,而服务端能够正常接收请求,导致重复回调的情况,可以根据请求header中的x-volc-trace-id内容判断请求的唯一性,重试请求x-volc-trace-id均相同。

告警回调URL限制条件

告警回调的URL必须符合以下限制条件,才可以成功接收告警通知。

  • 云监控服务可以直接访问该URL,即URL必须具备公网访问能力。

  • URL的组成字符必须是英文字符(即半角字符),且URL的首尾部不要添加无意义的空格或换行符。

  • URL的结构必须符合以下规范:

    schema://host/path#query-param
    

    具体说明如下:

    • schema:请求协议。
      云监控不会主动为告警回调URL添加任何协议,因此您在指定URL时必须手动添加协议。

      说明

      云监控支持HTTP和HTTPS请求协议,如果因协议不正确导致URL无法解析,则云监控无法进行告警回调。

    • host/path:请求域名和路由。
      配置您用于接收告警通知的域名以及路由信息。
    • query-param:请求参数。
      云监控不会修改请求参数的内容,但是会对请求参数进行编码。因此回调的接收方需要对URL中的数据进行解码,以保证获取到正确的参数数据。

      说明

      云监控不推荐使用请求参数;云监控也不会添加任何请求参数。

    示例URL如下:

    http://example.com
    

查看指标告警回调请求内容

当告警策略被触发且满足发送告警通知的聚合条件后,云监控通过告警回调接口发送POST请求至指定的URL。请求Header和Body包含的主要参数说明如下所示。

说明

您可以忽略实际接收到的请求体中,没有提供参数说明的参数。这些参数将不会影响您获取告警通知的详细信息。

回调请求头(Header)

Header键

Header值

说明

x-volc-trace-id

随机uuid

用于请求追踪。

x-volc-rule-id

{ rule_id }

策略ID。

回调请求体(Body)

请求体的数据类型为application/json

参数

类型

示例值

说明

Type

string

Metric

告警类型。

  • Metric:阈值
  • Event:事件

AccountId

string

2000000007

账户ID。

RuleName

string

测试告警策略

策略名称。

RuleId

string

1574726******98880

策略ID。

Namespace

string

VCM_FileNAS

产品类型。

SubNamespace

string

latency

维度。

Level

string

critical

告警级别。

  • critical:严重
  • warning:警告
  • notice:提示

Resources

List of Resource

-

资源详情。具体格式,请参见Resource结构

Resource结构

参数

类型

示例值

说明

Id

string

enas-cn04*****45d06f

资源ID。

Name

string

enas-cn04*****45d06f

资源名称。

Region

string

cn-north-3

地域。

FirstAlertTime

integer

1664332705

初次告警时间。

LastAlertTime

integer

1664332705

本次告警发生时间。

Metrics

List of Metric

-

告警指标及当前值。具体格式,请参见Metric结构

Dimensions

List of Dimension

-

资源维度信息。具体格式,请参见Dimension结构

Metric结构

参数

类型

示例值

说明

Name

string

Nfsv3WriteLatency

指标名称。

Unit

string

ms

指标的单位。

Threshold

float

1

该策略下该指标阈值。

CurrentValue

float

0.0001

该指标当前值。

DescriptionCN

string

NFSv3写延时

该指标中文描述。

DescriptionEN

string

NFSv3 write latency

该指标英文描述。

Dimension结构

参数

类型

示例值

说明

Name

string

ResourceID

指标维度。

Value

string

enas-cn04*****45d06f

该维度的值。

NameCN

string

实例ID

维度的中文名称。

完整的请求体示例:

{
  "Type": "Metric",
  "AccountId": "20******007",
  "RuleName": "测试告警策略",
  "RuleId": "1574726******98880",
  "Namespace": "VCM_FileNAS",
  "SubNamespace": "latency",
  "Level": "critical",
  "Resources": [
    {
      "Id": "enas-cn04*****45d06f",
      "Name": "enas-cn04*****45d06f",
      "Region": "cn-north-3",
      "FirstAlertTime": 1664332705,
      "LastAlertTime": 1664332705,
      "Metrics": [
        {
          "Name": "Nfsv3WriteLatency",
          "Unit": "ms",
          "Threshold": 1,
          "CurrentValue": 0.0001,
          "DescriptionCN": "NFSv3写延时",
          "DescriptionEN": "NFSv3 write latency"
        }
      ],
      "Dimensions": [
        {
          "Name": "ResourceID",
          "NameCN": "实例ID",
          "Value": "enas-cn04*****45d06f"
        },
        {
          "Name": "Node",
          "NameCN": "节点",
          "Value": "enas-cn04*****45d06f-pod-0"
        }
      ]
    }
  ]
}

查看事件告警回调请求内容

当告警策略被触发且满足发送告警通知的聚合条件后,云监控通过告警回调接口发送POST请求至指定的URL。请求Header和Body包含的主要参数说明如下所示。

说明

您可以忽略实际接收到的请求体中,没有提供参数说明的参数。这些参数将不会影响您获取告警通知的详细信息。

回调请求头(Header)

Header键

Header值

说明

x-volc-trace-id

随机uuid

用于请求追踪。

x-volc-event-id

{ event_id }

事件ID。

回调请求体(Body)

请求体的数据类型为application/json

参数

类型

示例值

说明

Type

string

Event

告警类型。

  • Event:事件
  • Metric:阈值

AccountId

string

21*******53

账户ID。

Region

string

cn-guangzhou

地域。

Source

string

ecs

事件源,即产品类型。

Id

string

1658*****04000

事件唯一ID。

EventType

string

ecs:Disk:DiskError.Redeploy.Executing

事件名称。

DescriptionCN

string

硬盘异常,实例重新部署:执行中

事件中文名称。

HappenedAt

int64

1664332705

事件发生时间。

Details

string

-

事件原文。

Rules

List of Rule

-

资源详情。具体格式,请参见Rule结构

Rule结构

参数

类型

示例值

说明

RuleId

string

1574**********8880

策略ID。

RuleName

string

测试事件告警1

策略名称。

Level

string

notice

告警级别。

  • critical:严重
  • warning:警告
  • notice:提示

完整的请求体示例:

{
    "Type":"Event",
    "AccountId":"21*****53",
    "Source":"ecs",
    "Id":"1658*****04000",
    "EventType":"ecs:Disk:DiskError.Redeploy.Executing",
    "DescriptionCN":"硬盘异常,实例重新部署:执行中",
    "HappenedAt":1664332705,
    "Region":"cn-guangzhou",
    "Details":{
        "specversion":"1.0",
        "id":"1658*****04000",
        "source":"ecs",
        "type":"ecs:Disk:DiskError.Redeploy.Executing",
        "volcpublishtime":"2023-05-16T14:23:26+08:00",
        "volcregion":"cn-guangzhou",
        "volcaccountid":"21*****53",
        "volceventbusname":"default",
        "volcresourcename":"test_resource_name_A",
        "subject":"ecs:cn-north-1:21*****53:instance/test-instanceId-A/tag/test-instanceId-B",
        "time":"2023-05-16T14:23:26+08:00",
        "data":{
            "kafka":"kafka-boe"
        },
        "biz":"event_center_to_kafka",
        "sasl_user":"event_producer"
    },
    "Rules":[
        {
            "RuleId":"1574**********8880",
            "RuleName":"测试事件告警1",
            "Level":"notice"
        },
        {
            "RuleId":"1574**********8881",
            "RuleName":"测试事件告警2",
            "Level":"warning"
        }
    ]
}

说明

details中包含固定字段和扩展字段:

  • 固定字段:specversion、id、source、type、volcpublishtime、volcregion、volcaccountid、volceventbusname、volcresourcename、subject、time,固定字段即使为空也会显示。
  • 扩展字段:除了固定字段以外,其他字段都是扩展字段。扩展字段是云产品自定义的事件类型。