更新时间:2022-08-11 GMT+08:00

数据订阅

AOM支持用户订阅指标或者告警信息,订阅后可以将数据转发到用户配置的kafka或DMS的Topic中,供消费者消费转发的订阅的信息。

  • 数据订阅功能当前受限开放,如有需求可以通过提交工单,联系工程师为您开放此功能。
  • 最多可创建10个数据订阅规则。

创建订阅规则

  1. 在左侧导航栏中选择“配置管理 > 数据订阅”。
  2. 单击“创建订阅规则”,设置相关参数后,单击“确定”。

    您可根据实际需求,选择订阅目标类型为“自定义Kafka”或“分布式消息服务DMS”。

    • 订阅目标类型为“自定义Kafka”,请参考表1配置参数。
      表1 数据订阅规则参数说明

      参数

      说明

      示例

      规则名称

      订阅规则名称。

      输入:aom-kafka-test。

      订阅内容

      支持“指标”和“告警”。

      选择:指标。

      订阅目标类型

      选择“自定义Kafka”或“分布式消息服务DMS”。

      自定义Kafka

      订阅目标连接地址

      用户自己的kafka地址,需要打通网络。

      格式为逗号分割的ipv4:port。例如: 192.168.0.1:9092,192.168.0.2:9092

      根据实际情况填写。

      1. (可选)进入到“规则详情”,单击,配置Kafka SASL_SSL,参数如表2所示。

        AOM当前仅支持Kafka SASL_SSL安全认证配置,如果目前实例已经开启Kafka SASL_SSL,请打开此开关。

        表2 配置Kafka SASL_SSL参数

        参数

        说明

        示例

        用户名

        SASL用户名用于实例访问认证。

        demo

        密码

        SASL密码用于实例访问认证,请妥善管理密码,系统无法获取您设置的密码内容。

        -

        客户端证书

        请采用.pem格式的客户端证书

        -

      2. 单击“验证并保存自定义Kafka配置信息”,验证自定义Kafka实例连通性。
      3. 选择数据发送topic后,单击“确定”。
    • 订阅目标类型选择“分布式消息服务DMS”,请参考表3配置参数。
      表3 数据订阅规则参数说明

      参数

      说明

      示例

      规则名称

      订阅规则名称

      输入:aom-kafka-test。

      订阅内容

      支持“指标”和“告警”。

      选择:指标。

      订阅目标类型

      选择“自定义Kafka”或“分布式消息服务DMS”。

      分布式消息服务DMS

      实例

      选择DMS实例,如没有DMS实例,请单击“创建DMS实例”,创建DMS实例。

      kafka-aom-7160

      1. 进入到“规则详情”,单击“创建网络连接通道”。
      2. 验证DMS实例连通性。

        您需要确保在安全组"入方向规则"中,放通9011端口,源地址为"198.19.128.0/20"的网络流量。设置安全组规则操作如下:

        1. 登录管理控制台。
        2. 在左侧导航栏,单击,选择网络 > 虚拟私有云 VPC
        3. 在左侧导航栏单击“访问控制 > 安全组”,在使用DMS所在的安全组右侧,单击“配置规则”。
        4. 在“入方向规则”页签下,单击“添加规则”,放通9011端口、源地址为“198.19.128.0/20”的网络流量。
          图1 添加入方向规则
      3. 单击“验证并保存DMS配置信息”。
      4. 选择数据发送topic后,单击“确定”。

数据订阅格式说明

  • AOM格式的指标JSON格式代码片断
    package metric
    
    type MetricDatas struct {
       Metrics   []Metrics `json:"metrics"`
       ProjectId string    `json:"project_id"`
    }
    
    type Metrics struct {
       Metric      Metric  `json:"metric"`
       Values      []Value `json:"values"`
       CollectTime int64   `json:"collect_time"`
    }
    
    type Metric struct {
       Namespace  string      `json:"namespace"`
       Dimensions []Dimension `json:"dimensions"`
    }
    
    type Value struct {
       Value           interface{} `json:"value"`
       Type            string      `json:"type"`
       Unit            string      `json:"unit"`
       StatisticValues string      `json:"statisticvalues"`
       MetricName      string      `json:"metric_name"`
    }
    
    type Dimension struct {
       Name  string `json:"name"`
       Value string `json:"value"`
    }
    
  • kafka消息示例
    key:,
    value:{"metrics":[{"metric":{"namespace":"PAAS.NODE","dimensions":[{"name":"nodeName","value":"test-vss-cop-master-1"},{"name":"nodeIP","value":"1.1.1.1"},{"name":"hostID","value":"75d97111-4734-4c6c-ae9e-f6111111111"},{"name":"nameSpace","value":"default"},{"name":"clusterId","value":"46a7bc0d-1d8b-11ea-9b04-333333333333333"},{"name":"clusterName","value":"test-vss-111"},{"name":"diskDevice","value":"vda"},{"name":"master","value":"true"}]},"values":[{"value":0,"type":"","unit":"Kilobytes/Second","statisticvalues":"","metric_name":"diskReadRate"},{"value":30.267,"type":"","unit":"Kilobytes/Second","statisticvalues":"","metric_name":"diskWriteRate"}],"collect_time":1597821030037}],"project_id":"111111111111111111111"}
  • 告警数据格式说明

    示例:

    {
        "events": [{
            "id": "4346299651651991683",
            "starts_at": 1597822250194,
            "ends_at": 0,
            "arrives_at": 1597822250194,
            "timeout": 300000,
            "resource_group_id": "312313123112222222222232131312131",
            "metadata": {
                "kind": "Pod",
                "event_severity": "Major",
                "resource_type": "service",
                "clusterId": "6add4ef5-1358-11ea-a5bf-111111111",
                "event_type": "alarm",
                "clusterName": "cce-ief-4516140c-96ca-4a5f-8d85-1111111",
                "namespace": "PAAS.NODE",
                "name": "test15769793809553052-f5557bd7f-qnfkm",
                "event_name": "调度失败##FailedScheduling",
                "resource_id": "clusterName=cce-ief-4516140c-96ca-4a5f-8d85-111111;clusterID=6add4ef5-1358-11ea-a5bf-11111111111;kind=Pod;namespace=30d5758f166947c6b164af604a654b09;name=test15769793809553052-f5557bd7f-qnfkm;uid=589fc746-245d-11ea-a465-fa163e5fc15d",
                "nameSpace": "30d5758f166947c6b164af604a654b09",
                "resource_provider": "CCE",
                "nodeID": "589fc746-245d-11ea-a465-fa163e5fc15d"
            },
            "annotations": {
                "alarm_probableCause_zh_cn": "FailedScheduling",
                "alarm_probableCause_en_us": "FailedScheduling",
                "message": "0/110 nodes are available: 1 node(s) had taints that the pod didn't tolerate, 109 node(s) didn't match node selector."
            },
            "attach_rule": {
                
            }
        }],
        "project_id": "312313123112222222222232131312131"
    }

    参数说明:

    表4 告警参数

    参数

    参数类型

    描述

    events

    Array ofobjects,详见 表5

    事件或者告警详情。

    project_id

    String

    租户从IAM申请到的projectid,一般为32位字符串。

    表5 EventModel

    参数

    参数类型

    描述

    id

    String

    事件或者告警id,系统自动生成。

    starts_at

    Long

    事件或者告警产生的时间,CST毫秒级时间戳。

    ends_at

    Long

    事件或者告警清除的时间,CST毫秒级时间戳,为0时表示未删除。

    arrives_at

    Long

    事件或者告警到达AOM的时间,CST毫秒级时间戳。

    timeout

    Long

    告警自动清除时间。毫秒数,例如一分钟则填写为60000。默认清除时间为3天。

    resource_group_id

    String

    资源组预留字段,当前默认和projectid的值一样。

    metadata

    Object

    事件或者告警的详细信息,为键值对形式。必须字段为:

    • event_name:事件或者告警名称,类型为String;
    • event_severity:事件级别枚举值。类型为String,四种类型 "Critical", "Major", "Minor", "Info";
    • event_type:事件类别枚举值。类型为String,event为普通告警,alarm为告警事件;
    • resource_provider:事件对应云服务名称。类型为String;
    • resource_type:事件对应资源类型。类型为String;
    • resource_id:事件对应资源信息。类型为String。

    annotations

    Object

    事件或者告警附加字段,可以为空。

    attach_rule

    Object

    事件或者告警预留字段,为空。

后续操作

数据订阅规则设置完成后,AOM会将数据发到配置的kafka或DMS的Topic中,您可以消费订阅的指标或者告警信息。