数据订阅
AOM支持用户订阅指标或者告警信息,订阅后可以将数据转发到用户配置的kafka或DMS的Topic中,供消费者消费转发的订阅的信息。
- 数据订阅功能当前受限开放,如有需求可以通过提交工单,联系工程师为您开放此功能。
- 最多可创建10个数据订阅规则。
创建订阅规则
- 在左侧导航栏中选择“配置管理 > 数据订阅”。
- 单击“创建订阅规则”,设置相关参数后,单击“确定”。
您可根据实际需求,选择订阅目标类型为“自定义Kafka”或“分布式消息服务DMS”。
- 订阅目标类型为“自定义Kafka”,请参考表1配置参数。
表1 数据订阅规则参数说明 参数
说明
示例
规则名称
订阅规则名称。
输入:aom-kafka-test。
订阅内容
支持“指标”和“告警”。
选择:指标。
订阅目标类型
选择“自定义Kafka”或“分布式消息服务DMS”。
自定义Kafka
订阅目标连接地址
用户自己的kafka地址,需要打通网络。
格式为逗号分隔的ipv4:port。例如: 192.168.0.1:9092,192.168.0.2:9092
根据实际情况填写。
- (可选)进入到“规则详情”,单击,配置Kafka SASL_SSL,参数如表2所示。
AOM当前仅支持Kafka SASL_SSL安全认证配置,如果目前实例已经开启Kafka SASL_SSL,请打开此开关。
- 单击“验证并保存自定义Kafka配置信息”,验证自定义Kafka实例连通性。
- 选择数据发送topic后,单击“确定”。
- (可选)进入到“规则详情”,单击,配置Kafka SASL_SSL,参数如表2所示。
- 订阅目标类型选择“分布式消息服务DMS”,请参考表3配置参数。
- 订阅目标类型为“自定义Kafka”,请参考表1配置参数。
数据订阅格式说明
- 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中,您可以消费订阅的指标或者告警信息。