
# 云原生监控
#### 插件介绍
云原生监控插件（kube-prometheus-stack）通过使用Prometheus-operator和Prometheus，提供简单易用的端到端Kubernetes集群监控能力。
使用kube-prometheus-stack可将监控数据与监控中心对接，在监控中心控制台查看监控数据，配置告警等。
#### 字段说明
表1参数描述 
| 参数     | 是否必选 | 参数类型                                            | 描述             |
|:---|:---|:---|:---|
| basic  | 否    | object                                          | 插件基础配置参数，无需指定。 |
| flavor | 是    | [表2] object      | 插件规格参数         |
| custom | 是    | [表3] object | 插件自定义参数        |
   
 表2flavor 
| 参数          | 是否必选 | 参数类型                                                | 描述              |
|:---|:---|:---|:---|
| description | 否    | String                                              | 插件相关的描述信息       |
| name        | 是    | String                                              | 插件规格名称          |
| resources   | 是    | [resources] object | 容器资源（CPU、内存）配额。 |
   
 表3custom 
| 参数                        | 是否必选 | 参数类型    | 描述                              |
|:---|:---|:---|:---|
| aom_enable                | 否    | Boolean | 是否对接AOM                         |
| aom_instance_id           | 否    | String  | AOM实例ID，对接AOM时必选                |
| aom_project_id            | 否    | String  | AOM实例所在项目ID，对接AOM时必选            |
| aom_auth_type             | 否    | String  | 对接AOM的认证类型，对接AOM时必选，取值固定Bearer  |
| aom_app_key               | 否    | String  | 对接AOM的app_key，对接AOM时必选          |
| aom_app_secret            | 否    | String  | 对接AOM的app_secret，对接AOM时必选       |
| deploy_mode               | 是    | String  | 普罗插件模型，取值agent、server，推荐使用agent |
| enablethird               | 否    | Boolean | 指标是否上报第三方监控系统                   |
| url_third                 | 否    | String  | 三方监控系统上报指标URL                   |
| basic_auth_username_third | 否    | String  | 对接三方监控系统的账号（BasicAuth认证方式）      |
| basic_auth_password_third | 否    | String  | 对接三方监控系统的密码（BasicAuth认证方式）      |
| bearer_token              | 否    | String  | 对接三方监控系统的Token（BearerToken认证方式） |
| cluster                   | 是    | String  | 集群名称                            |
| clusterId                 | 是    | String  | 集群ID                            |
| enable_custom_metrics     | 否    | Boolean | 是否开启自定义指标采集，默认值false            |
| highAvailability          | 否    | Boolean | 是否高可用，默认false                   |
| scrapeInterval            | 是    | String  | 默认指标采集周期，默认值15s                 |
| shards                    | 否    | Integer | 采集分片数，仅在agent模式下生效，默认值1         |
   
 表4resources字段数据结构说明 
| 参数          | 是否必选 | 参数类型   | 描述            |
|:---|:---|:---|:---|
| limitsCpu   | 是    | String | CPU大小限制，单位：m  |
| limitsMem   | 是    | String | 内存大小限制，单位：Mi  |
| name        | 是    | String | 负载名称          |
| requestsCpu | 是    | String | 申请的CPU大小，单位：m |
| requestsMem | 是    | String | 申请的内存大小，单位：Mi |
   
#### 请求示例
```
{
    "kind":"Addon",
    "apiVersion":"v3",
    "metadata":{
        "annotations":{
            "addon.install/type":"install"
        }
    },
    "spec":{
        "clusterID":"b889764e-c100-11ee-80cf-0255ac100b0f",
        "version":"3.9.5",
        "addonTemplateName":"cie-collector",
        "values":{
            "basic":{
                "aom_endpoint":"https://***",
                "aom_url":"https://***",
                "region_id":"***",
                "swr_addr":"***",
                "swr_user":"***",
                "rbac_enabled":true,
                "cluster_version":"v1.27"
            },
            "flavor":{
                "deploy_mode":"agent",
                "description":"Default flavor for agent mode.",
                "name":"Agent-Default",
                "resources":[
                    {
                        "limitsCpu":"500m",
                        "limitsMem":"500Mi",
                        "name":"prometheusOperator",
                        "requestsCpu":"100m",
                        "requestsMem":"100Mi"
                    },
                    {
                        "limitsCpu":"4",
                        "limitsMem":"8Gi",
                        "name":"prometheus",
                        "requestsCpu":"500m",
                        "requestsMem":"500Mi"
                    },
                    {
                        "limitsCpu":"500m",
                        "limitsMem":"500Mi",
                        "name":"kubeStateMetrics",
                        "requestsCpu":"200m",
                        "requestsMem":"200Mi"
                    },
                    {
                        "limitsCpu":"500m",
                        "limitsMem":"1Gi",
                        "name":"nodeExporter",
                        "requestsCpu":"200m",
                        "requestsMem":"100Mi"
                    }
                ],
                "category":[
                    "CCE",
                    "Turbo"
                ]
            },
            "custom":{
                "aom_app_key":"******",
                "aom_app_secret":"******",
                "aom_auth_type":"Bearer",
                "aom_enable":true,
                "aom_instance_id":"a2bf5a6f-2c64-4a7f-a369-78dccd9cb6fd",
                "aom_project_id":"b6315dd3d0ff4be5b31a963256794989",
                "basic_auth_password_third":"",
                "basic_auth_username_third":"",
                "bearer_token":"",
                "cluster":"test-cluster",
                "clusterId":"b889764e-c100-11ee-80cf-0255ac100b0f",
                "deploy_mode":"agent",
                "enable_custom_metrics":true,
                "enablethird":false,
                "highAvailability":false,
                "projectId":"b6315dd3d0ff4be5b31a963256794989",
                "region":"***",
                "scrapeInterval":"15s",
                "shards":1,
                "url_third":"",
            }
        }
    }
}
```
