云监控服务 CES-批量查询监控数据:接口调用过程中常见问题

时间:2024-09-03 19:24:11

接口调用过程中常见问题

  1. 问题一

    问题描述

    调用批量查询监控数据接口,响应状态码200,无指标数据返回。响应体样例如下:

    {
    	"metrics": [{
    		"namespace": "SYS.RDS",
    		"metric_name": "rds039_disk_util",
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "5e319882ffa04c968e469035a116b2d1in04"
    		}],
    		"datapoints": [],##指标数据列表中没有指标数据
    		"unit": "unknown"
    	}]
    }

    可能原因

    • 原因1:云服务对应的命名空间写错。详见下方【案例一】。
    • 原因2:请求资源不存在。详见下方【案例二】。
    • 原因2:维度不属于云服务。详见下方【案例三】。
    • 原因3:指标ID不属于云服务。详见下方【案例四】。

    解决方法

    支持监控的服务列表中命名空间、维度、监控指标参考文档三列内容匹配。

    案例一 云服务对应的命名空间写错

    指标ID mem_usedPercent 对应的命名空间为AGT.E CS

    请求参数

    {
    	"from": 1724311893283,
    	"to": 1724315493283,
    	"period": "1",
    	"filter": "average",
    	"metrics": [{
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "129718f5-833d-4f78-b685-6b1c3091ea6"  
    		}],
    		"metric_name": "mem_usedPercent",
    		"namespace": "SYS.ECS"  ##命名空间错误
    	}]
    }

    响应参数

    {
    	"metrics": [{
    		"namespace": "SYS.ECS",
    		"metric_name": "mem_usedPercent",
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "129718f5-833d-4f78-b685-6b1c3091ea6"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }

    案例二 请求资源不存在

    资源实例 129718f5-833d-4f78-b685-6b1c3091ea7 没有在ECS云服务资源列表中。

    请求参数

    {
    	"from": 1724311893283,
    	"to": 1724315493283,
    	"period": "1",
    	"filter": "average",
    	"metrics": [{
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "129718f5-833d-4f78-b685-6b1c3091ea7"  ##资源实例129718f5-833d-4f78-b685-6b1c3091ea7 没在ECS云服务资源列表中
    		}],
    		"metric_name": "mem_usedPercent",
    		"namespace": "AGT.ECS"
    	}]
    }

    响应参数

    {
    	"metrics": [{
    		"namespace": "AGT.ECS",
    		"metric_name": "mem_usedPercent",
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "129718f5-833d-4f78-b685-6b1c3091ea6"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }

    案例三 维度不属于云服务

    instance_id维度不属于RDS云服务

    请求参数:

    {
    	"metrics": [{
    		"dimensions": [{
    			"name": "instance_id",   ##instance_id维度不属于RDS云服务
    			"value": "5e319882ffa04c968e469035a116b2d1in04"
    		}],
    		"metric_name": "rds039_disk_util",
    		"namespace": "SYS.RDS"
    	}],
    	"filter": "average",
    	"period": "1",
    	"from": 1724312777938,
    	"to": 1724316377938
    }

    响应参数:

    {
    	"metrics": [{
    		"namespace": "SYS.RDS",
    		"metric_name": "rds039_disk_util",
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "5e319882ffa04c968e469035a116b2d1in04"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }

    案例四 指标ID不属于云服务

    rds958_disk_util指标ID不属于RDS云服务。

    请求参数:

    {
    	"metrics": [{
    		"dimensions": [{
    			"name": "rds_cluster_sqlserver_id",
    			"value": "5e319882ffa04c968e469035a116b2d1in04"
    		}],
    		"metric_name": "rds958_disk_util",   ##rds958_disk_util指标ID不属于RDS云服务
    		"namespace": "SYS.RDS"
    	}],
    	"filter": "average",
    	"period": "1",
    	"from": 1724312777938,
    	"to": 1724316377938
    }

    响应参数:

    {
    	"metrics": [{
    		"namespace": "SYS.RDS",
    		"metric_name": "rds958_disk_util",
    		"dimensions": [{
    			"name": "rds_cluster_sqlserver_id",
    			"value": "5e319882ffa04c968e469035a116b2d1in04"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }
  2. 问题二

    问题描述

    调用批量查询监控数据接口,查询弹性云服务器中操作系统监控的磁盘使用率,响应状态码200,无指标数据返回。响应体样例如下:

    {
    	"metrics": [{
    		"namespace": "AGT.ECS",
    		"metric_name": "disk_usedPercent",
    		"dimensions": [{
    			"name": "disk",
    			"value": "012bec14bc176310c19f40e384fd629b"
    		}, {
    			"name": "instance_id",
    			"value": "07d878a9-2243-4e84-aeef-c47747d18024"
    		}],
    		"datapoints": [],  ##指标数据列表中没有指标数据
    		"unit": "unknown"
    	}]
    }

    可能原因

    原因1:命名空间错误。详见下方【案例一】

    原因2:指标对应的维度错误。详见下方【案例二】

    原因3:ECS实例未安装agent插件。详见下方【案例三】

    原因4:ECS实例安装的agent插件没有上报磁盘使用率指标数据。详见下方【案例四】

    案例一 命名空间错误

    命名空间错误。若查询的是弹性云服务器中操作系统监控指标,命名空间需为AGT.ECS。

    请求参数:

    {
    	"from": 1724118017498,
    	"to": 1724121617498,
    	"period": "1",
    	"filter": "average",
    	"metrics": [{
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "07d878a9-2243-4e84-aeef-c47747d18024"
    		}, {
    			"name": "mount_point",
    			"value": "012bec14bc176310c19f40e384fd629b"
    		}],
    		"metric_name": "disk_usedPercent",
    		"namespace": "SYS.ECS"  ##命名空间错误
    	}]
    }

    响应参数:

    {
    	"metrics": [{
    		"namespace": "SYS.ECS",
    		"metric_name": "disk_usedPercent",
    		"dimensions": [{
    			"name": "mount_point",
    			"value": "012bec14bc176310c19f40e384fd629b"
    		}, {
    			"name": "instance_id",
    			"value": "07d878a9-2243-4e84-aeef-c47747d18024"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }

    案例二 指标对应的维度错误

    磁盘使用率是挂载点维度,对于磁盘使用率查询在请求参数中需要写两个维度,维度一为云服务实例instance_id,维度二为挂载点mount_point。

    请求参数:

    {
    	"from": 1724118017498,
    	"to": 1724121617498,
    	"period": "1",
    	"filter": "average",
    	"metrics": [{
    		"dimensions": [{
    			"name": "instance_id",
    			"value": "07d878a9-2243-4e84-aeef-c47747d18024"
    		}, {
    			"name": "disk",  ##指标对应的维度错误
    			"value": "012bec14bc176310c19f40e384fd629b"
    		}],
    		"metric_name": "disk_usedPercent",
    		"namespace": "AGT.ECS"
    	}]
    }

    响应参数:

    {
    	"metrics": [{
    		"namespace": "AGT.ECS",
    		"metric_name": "disk_usedPercent",
    		"dimensions": [{
    			"name": "disk",
    			"value": "012bec14bc176310c19f40e384fd629b"
    		}, {
    			"name": "instance_id",
    			"value": "07d878a9-2243-4e84-aeef-c47747d18024"
    		}],
    		"datapoints": [],
    		"unit": "unknown"
    	}]
    }

    案例三 ECS实例未安装agent插件

    CES 页面“主机监控”下的【弹性云服务器】中找到对应ECS的实例,在【插件状态】列点击,未安装,然后根据使用指南安装agent插件。

    案例四 ECS实例安装的agent插件没有上报磁盘使用率指标数据

    agent插件故障导致没有上报指标数据,详见agent常见问题排查

  3. 问题二

    问题描述

    指定时间范围内上报的指标数据量大于3000,但调用批量查询监控数据接口,返回的指标数据量小于3000。

    可能原因

    对于不同的period取值和查询的指标数量,其对应的默认最大查询区间(to - from)也不同,计算规则为“指标数量 * (to - from) / 监控周期 ≤ 3000”。

    • 指标数量:请求参数metrics属性对应元素的个数。
    • 监控周期:请求参数period属性对应的值,单位默认为分钟,需转化为毫秒。
    • 3000:响应体中的所有datapoints(指标数据列表)总和。

    原因1:若上报指标周期小于批量查询监控数据的监控周期,会将监控周期内上报的多条指标数据按照聚合规则聚合成一个点,所以导致查询出来的指标数据量少于上报的数据量。

    原因2:若上报指标周期与批量查询监控数据的监控周期相同,根据上面计算规则,最多返回的指标数据量为3000。

    解决方法

    1. 将请求参数监控周期按照接口文档给出的枚举值选择小点的监控周期。
    2. 使用查询监控数据接口查询指标数据(仅支持单指标查询),该接口对返回的指标数据量无限制操作。
  4. 问题二

    问题描述

    调用批量查询监控数据接口,返回的指标数据点时间远大于请求参数from对应的值。

    可能原因

    对于不同的period取值和查询的指标数量,其对应的默认最大查询区间(to - from)也不同,计算规则为“指标数量 * (to - from) / 监控周期 ≤ 3000”。

    • 指标数量:请求参数metrics属性对应元素的个数。
    • 监控周期:请求参数period属性对应的值,单位默认为分钟,需转化为毫秒。
    • 3000:响应体中的所有datapoints(指标数据列表)总和。

    例如批量查询300个指标,监控周期为60000ms,可算出(to - from)最大值为"600000",若设定的请求参数(to - from)超出最大值,from值会自动调整为"to-600000"

    原因1: 根据以上公式可知指标数量过多。详见下方【案例一】

    原因2: 根据以上公式可知监控周期过小。详见下方【案例一】

    解决方法

    原因1:指标数量过多。

    解决方法:减少指标数量。

    使用查询监控数据接口查询指标数据(仅支持单指标查询)。

    原因2:选择的监控周期对应的枚举值小。

    解决方法: 将请求参数监控周期按照接口文档给出的枚举值选择大点的监控周期。

    案例一 指标数量过多,监控周期过小

    若请求参数指标数量为300个,监控周期为1min对应60000ms,根据以上公式可算出(to - from)最大值为"600000"。请求参数to-from=1724742027556-1724738427556=3600000,超出了600000,from值会自动调整为"to-600000"即1724742027556-600000=1724741427556。

    接口在指定时间范围内返回指标数据点最早的时间为2024-08-27 14:51:27,但查询的开始时间为2024-08-27 14:00:27。

    请求参数

    {
      "metrics": [
        {
          "dimensions": [
            {
              "name": "disk_name",
              "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vda"
            }
          ],
          "metric_name": "disk_device_read_bytes_rate",
          "namespace": "SYS.EVS"
        },
        {
          "dimensions": [
            {
              "name": "disk_name",
              "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vdc"
            }
          ],
          "metric_name": "disk_device_read_bytes_rate",
          "namespace": "SYS.EVS"
        },
        {
          "dimensions": [
            {
              "name": "disk_name",
              "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vda"
            }
          ],
          "metric_name": "disk_device_write_bytes_rate",
          "namespace": "SYS.EVS"
        },
        {
          "dimensions": [
            {
              "name": "disk_name",
              "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vdc"
            }
          ],
          "metric_name": "disk_device_write_bytes_rate",
          "namespace": "SYS.EVS"
        },
        ......
        {
          "dimensions": [
            {
              "name": "nat_gateway_id",
              "value": "3c55363f-6416-45ca-8512-cf1f6f2533e7"
            }
          ],
          "metric_name": "inbound_pps",
          "namespace": "SYS.NAT"
        }
      ],
      "filter": "max",
      "period": "1",
      "from": 1724738427556, ##2024-08-27 14:00:27
      "to": 1724742027556 ##2024-08-27 15:00:27
    }

    响应参数

    {
        "metrics": [
            {
                "namespace": "SYS.EVS",
                "metric_name": "disk_device_read_bytes_rate",
                "dimensions": [
                    {
                        "name": "disk_name",
                        "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vda"
                    }
                ],
                "datapoints": [
                    {
                        "max": 0,
                        "timestamp": 1724741487000  ##2024-08-27 14:51:27
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741547000  ##2024-08-27 14:52:27
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741607000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741667000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741727000
                    },
    				......
                ],
                "unit": "B/s"
            },
            {
                "namespace": "SYS.EVS",
                "metric_name": "disk_device_read_bytes_rate",
                "dimensions": [
                    {
                        "name": "disk_name",
                        "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vdc"
                    }
                ],
                "datapoints": [
                    {
                        "max": 0,
                        "timestamp": 1724741487000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741547000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741607000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741667000
                    },
                    {
                        "max": 0,
                        "timestamp": 1724741727000
                    },
                     ......
                ],
                "unit": "B/s"
            },
            {
                "namespace": "SYS.EVS",
                "metric_name": "disk_device_write_bytes_rate",
                "dimensions": [
                    {
                        "name": "disk_name",
                        "value": "6a2bf14a-e3be-4fc9-8522-ba6fe7f0b503-vda"
                    }
                ],
                "datapoints": [
                    {
                        "max": 3055.1,
                        "timestamp": 1724741487000
                    },
                    {
                        "max": 3195.78,
                        "timestamp": 1724741547000
                    },
                    {
                        "max": 2973.39,
                        "timestamp": 1724741607000
                    },
                    {
                        "max": 3533.52,
                        "timestamp": 1724741667000
                    },
                    {
                        "max": 2636.8,
                        "timestamp": 1724741727000
                    },
                     .......
                ],
                "unit": "B/s"
            },
            ......
        ]
    }
support.huaweicloud.com/ces_faq/ces_faq_0111.html