百度智能云

All Product Document

          Cloud Monitor

          Batch Data Query Interface

          API description

          API for retrieving batch instance data, supporting multi-dimensional and multi-metric queries, including data from Cloud Product Monitor, Site Monitor, or custom monitor data you've pushed.

          API restriction

          • The maximum number of DataPoints returned for any metric of an instance in one response is 1,440.

          Request parameters

          Name Types Description Required or not Parameter location
          userId String Tenant ID Yes URL parameter
          scope String, limited to the following character set: 0~9, A~Z, a~z, _ Scope Yes URL parameter
          metricName String, limited to the following character set: "0~9, A~Z, a~z", "_"
          . When searching for multiple Metrics, use a String array, with each array element being a Metric.
          Monitor Metric name Yes Query
          statistics Statistics, in statistics1, statistics2, statistics3 format, options: average, maximum, minimum, sum, sampleCount Statistic Method Type Yes Query
          dimensions String, composed of dimensionName:dimensionValue. When a Metric has multiple Dimensions, connect them with semicolons, e.g., dimensionName:dimensionValue;dimensionName:dimensionValue. Only one dimension value can be specified for the same dimension.
          When querying batch instance data, connect complete dimensions of each instance with commas, e.g., dimensionName:dimensionValue,dimensionName:dimensionValue
          Dimension list Yes Query
          startTime DateTime, refer to Date and Time, expressed in UTC date Query start time Yes Query
          endTime DateTime, refer to Date and Time, expressed in UTC date Query end time Yes Query
          periodInSecond int, multiple of 60, unit: second (s) Statistical Period Yes Query

          Parameter explanation

          • For concepts like Scope, Metric, Statistic, and Dimension, refer to [Core Concepts](BCM/Product Description/Core concepts.md).

          Response parameters

          Name Types Description
          requestId String Request identifier
          code String Return code
          message String Error message
          errorList List<ErrorMetricData> Invalid Monitor Metrics
          successList List<SuccessMetricData> Successful Monitor Metrics

          ErrorMetricData

          Name Types Description
          metricName String Metric name
          message String Error message
          dimensions List<Dimension> Dimension Information

          SuccessMetricData

          Name Types Description
          metricName String Metric name
          dimensions List<Dimension> Dimension Information
          dataPoints List<DataPoint> Monitor Metric

          Dimension

          Name Types Description
          name String Dimension name
          value String Dimension value

          DataPoint

          Name Types Description
          average double Average of Metrics within the statistical period
          sum double Sum of Metrics within the statistical period
          minimum double Minimum value of Metrics within the statistical period
          maximum double Maximum value of Metrics within the counting cycle
          sampleCount int Number of DataPoints for the Metric within the statistical period
          timestamp DateTime, refer to [Date and Time](BCM/API Reference/General Description.md#Date and time regulations), expressed in UTC date Time corresponding to the statistical period of Metric

          Request example

          // Multiple instance IDs, separated by commas; e.g.: i-RN****Hw,i-YB****4F
          dimensions := map[string]string{
              "InstanceId": "i-RN****Hw",
          }
          req := &model.BatchGetMetricDataRequest{
              UserId:         "453bf9********************9090dc",
              Scope:          "BCE_BCC",
              MetricNames:    []string{"vCPUUsagePercent", "CpuIdlePercent"},
              Dimensions:     dimensions,
              Statistics:     []string{"average", "sum"},
              PeriodInSecond: 60,
              StartTime:      time.Now().UTC().Add(-2 * time.Hour).Format("2006-01-02T15:04:05Z"),
              EndTime:        time.Now().UTC().Add(-1 * time.Hour).Format("2006-01-02T15:04:05Z"),
          }
          resp, err := bcmClient.BatchGetMetricData(req)

          Response result

          {
              "metadata": {
                  "bceRequestId": "024348c6-1ef4-4ee5-a411-c48ddf6b9cdd"
              },
              "requestId": "024348c6-1ef4-4ee5-a411-c48ddf6b9cdd",
              "code": "OK",
              "message": "",
              "errorList": null,
              "successList": [
                  {
                      "metricName": "vCPUUsagePercent",
                      "dimensions": [
                          {
                              "name": "InstanceId",
                              "value": "i-RN****Hw"
                          }
                      ],
                      "dataPoints": [
                          {
                              "average": 5.974418891389501,
                              "sum": null,
                              "maximum": 5.974689065937,
                              "minimum": null,
                              "sampleCount": null,
                              "value": null,
                              "timestamp": "2024-04-11T07:01:00Z"
                          }
                      ]
                  },
                  {
                      "metricName": "CpuIdlePercent",
                      "dimensions": [
                          {
                              "name": "InstanceId",
                              "value": "i-RN****Hw"
                          }
                      ],
                      "dataPoints": [
                          {
                              "average": 0.4166418167165,
                              "sum": null,
                              "maximum": 0.483133433283,
                              "minimum": null,
                              "sampleCount": null,
                              "value": null,
                              "timestamp": "2024-04-11T07:01:00Z"
                          }
                      ]
                  }
              ]
          }
          Previous
          Alarm Strategy-related APIs
          Next
          Batch Query Monitoring Data Interface V2