日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用API查詢監控數據

本文為您介紹如何使用API查詢阿里云各產品監控數據。

大型企業內部通常有自建的運維監控系統,上云過程中會面臨如何將云資源監控數據與已有系統集成的問題。下面本文將為您介紹如何通過云監控接口查詢各產品監控數據,從而將阿里云的監控數據與現有系統進行集成。

指標類監控數據查詢的接口

云監控提供以下3類接口用于指標類監控數據的查詢:

注意事項:

  • DescribeMetricListDescribeMetricLast接口支持批量獲取用戶下所有實例的某個指標的數據。如果想獲取多個指標,可以多個線程獲取多個指標,也可以單線程循環獲取多個指標。

  • DescribeMetricList接口支持的最大QPS是20,DescribeMetricLast接口的最大QPS是30。

  • DescribeMetricLast接口適用于需要定時全量拉取所有最新數據的情況。時間窗口自動往前滑動,每個周期都取一條最新數據。

  • 監控數據會有一定的延遲,且各產品的監控數據的延遲情況不太一樣,所以建議您使用DescribeMetricLast查詢最新數據時,時間窗口放寬到5-10分鐘。

  • 秒級精度的數據保存7天,分鐘級精度的數據保存31天。

  • 如果您需要查詢云賬號所有實例的數據,則不需要指定Dimensions。

實戰案例

通過Demo演示,為您介紹如何使用DescribeMetricLast接口查詢最新的監控數據,使用DescribeMetricList接口查詢指定時間段內的監控數據。

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.cms.model.v20190101.*;

/**
 * 使用DescribeMetricList接口可以查詢指定時間段內,指定實例的監控數據。
 * 該查詢允許指定多個實例進行批量查詢。
 * 如果需要獲取多個實例一段時間內的監控數據,可以在查詢時指定多個實例,每次最多10個實例。
 * 查詢一段時間內的監控數據
 */
public class DescribeMetricList {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        IAcsClient client = new DefaultAcsClient(profile);

        DescribeMetricListRequest request = new DescribeMetricListRequest();
        //namespace和metric通過DescribeMetricMetaList和DescribeProjectMeta獲取
        request.setNamespace("acs_ecs_dashboard");
        request.setMetricName("cpu_total");
        //period表示要獲取60s精度的監控數據。period根據每個metric有不同的定義,大部分metric都會有60s的period。
        request.setPeriod("60");
        //本次查詢的分頁長度,每次查詢最多返回1000條數據。
        request.setLength("1000");
        //查詢數據的開始時間
        request.setStartTime("2019-07-22 11:00:00");
        //查詢數據的結束時間
        request.setEndTime("2019-07-22 12:00:00");
        //查詢的關聯dimension過濾,既可以是一個JSONArray,也可以是一個JSONObject
        request.setDimensions("[{\"instanceId\":\"i-8vb******\"}]");

        try {
            DescribeMetricListResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}
                
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.cms.model.v20190101.*;

/**
 * 查詢最新監控數據。
 **/
public class DescribeMetricLast {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        IAcsClient client = new DefaultAcsClient(profile);

        DescribeMetricLastRequest request = new DescribeMetricLastRequest();

         //namespace和metric通過DescribeMetricMetaList和DescribeProjectMeta獲取。     
        request.setNamespace("acs_ecs_dashboard");
        request.setMetricName("cpu_total");
        //查詢的關聯dimension過濾,既可以是一個JSONArray,也可以是一個JSONObject。
        request.setDimensions("[{\"instanceId\":\"i-8vb6p*****\"}]");
        //本次查詢的分頁長度,每次查詢最多返回1000條數據。
        request.setLength("1000");
        //查詢數據的開始時間。
        request.setStartTime("2019-07-22 11:00:00");
        //查詢數據的結束時間。
        request.setEndTime("2019-07-22 12:00:00");
        request.setPeriod("60");

        try {
            DescribeMetricLastResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }

    }
}