AOM支持用户订阅指标或者告警信息,订阅后可以将数据转发到用户配置的kafka或DMS的Topic中,供消费者消费转发的订阅的信息。
说明最多可创建10个数据订阅规则。
创建订阅规则
步骤 1 在左侧导航栏中选择“配置管理 > 数据订阅”。
步骤 2 单击“创建订阅规则”,设置相关参数后,单击“确定”。
您可根据实际需求,选择订阅目标类型为“自定义Kafka”或“分布式消息服务DMS”。
1、订阅目标类型为“自定义Kafka”。
数据订阅规则参数说明
参数 | 说明 | 示例 |
---|---|---|
规则名称 | 订阅规则名称。 | 输入:aom-kafka-test。 |
订阅内容 | 支持“指标”和“告警”。 | 选择:指标。 |
订阅目标类型 | 选择“自定义Kafka”或“分布式消息服务DMS”。 | 自定义Kafka |
订阅目标连接地址 | 用户自己的kafka地址,需要打通网络。格式为逗号分割的ipv4:port。例如: 192.168.0.1:9092,192.168.0.2:9092** | 根据实际情况填写。 |
a.(可选)进入到“规则详情”,单击 ,配置Kafka SASL_SSL,参数如下表所示。
说明AOM当前仅支持Kafka SASL_SSL安全认证配置,如果目前实例已经开启Kafka SASL_SSL,请打开此开关。
配置Kafka SASL_SSL参数
参数 | 说明 | 示例 |
---|---|---|
用户名 | SASL用户名用于实例访问认证。 | demo |
密码 | SASL密码用于实例访问认证,请妥善管理密码,系统无法获取您设置的密码内容。 | - |
客户端证书 | 请采用.pem格式的客户端证书 | - |
b.单击“验证并保存自定义Kafka配置信息”,验证自定义Kafka实例连通性。
c.选择数据发送topic后,单击“确定”。
2、订阅目标类型选择“分布式消息服务DMS”,请参考下表配置参数。
数据订阅规则参数说明
参数 | 说明 | 示例 |
---|---|---|
规则名称 | 订阅规则名称 | 输入:aom-kafka-test。 |
订阅内容 | 支持“指标”和“告警”。 | 选择:指标。 |
订阅目标类型 | 选择“自定义Kafka”或“分布式消息服务DMS”。 | 分布式消息服务DMS |
实例 | 选择DMS实例,如没有DMS实例,请单击“创建DMS实例”,创建DMS实例。 | kafka-aom-7160 |
a. 进入到“规则详情”,单击“创建网络连接通道”。
b. 验证DMS实例连通性。
您需要确保在安全组"入方向规则"中,放通9011端口,源地址为"198.19.128.0/20"的网络流量。设置安全组规则操作如下:
i. 登录管理控制台。
ii. 在左侧导航栏,单击 ,选择“网络 > 虚拟私有云 VPC”。
iii. 在左侧导航栏单击“访问控制 > 安全组”,在使用DMS所在的安全组右侧,单击“配置规则”。
iv. 在“入方向规则”页签下,单击“添加规则”,放通9011端口、源地址为“198.19.128.0/20”的网络流量。
c. 单击“验证并保存DMS配置信息”。
d. 选择数据发送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"
}
参数说明:
告警参数
参数 | 参数类型 | 描述 |
---|---|---|
events | Array ofobjects | 事件或者告警详情。 |
project_id | String | 租户从IAM申请到的projectid,一般为32位字符串。 |
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的值一样。 事件或者告警的详细信息,为键值对形式。必须字段为:
event_name:事件或者告警名称,类型为String;
event_severity:事件级别枚举值。类型为String,四种类型 "Critical", "Major", "Minor", "Info";
event_type:事件类别枚举值。类型为String,event为普通告警,alarm为告警事件;
resource_provider:事件对应云服务名称。类型为String;
resource_type:事件对应资源类型。类型为String;
resource_id:事件对应资源信息。类型为String。事件或者告警附加字段,可以为空。
事件或者告警预留字段,为空。
后续操作
数据订阅规则设置完成后,AOM会将数据发到配置的kafka或DMS的Topic中,您可以消费订阅的指标或者告警信息。