edit-icon download-icon

メトリックデータのユーザーガイド

最終更新日: Jun 22, 2018

このセクションでは、API または Cloud Monitor SDK を使用して Function Compute モニタリングサービスのメトリックデータを照会する方法に関するパラメーターの参照を提供します。

プロジェクト

Function Compute モニタリングサービスのメトリックデータは、同じプロジェクト名 acs_fc を使用します。

Java SDK によって記述されたサンプルコード

  1. QueryMetricRequest request = new QueryMetricRequest();
  2. request.setProject("acs_fc");

StartTime と EndTime

Cloud Monitor の時間パラメーターの値の範囲は (StartTime、EndTime) の形式です。StartTime に該当するデータは収集されませんが、EndTime に該当するデータは照会できます。

Cloud Monitor のデータは 31 日間保持されます。StartTime と EndTime の間隔は 31 日を超えることはできず、31 日より前のデータは照会できません。

その他の時間パラメーターの詳細については、「Cloud Monitor API の説明 」をご参照ください。

Java SDK によって記述されたサンプルコード

  1. request.setStartTime("2017-04-26 08:00:00");
  2. request.setEndTime("2017-04-26 09:00:00");

ディメンション

Function Compute モニタリングサービスは、Function Compute のリソース構造とユースケースに基づいて、メトリックをリージョン、サービス、および関数のディメンションに分類します。ディメンションパラメーターの値は、メトリックのディメンションによって異なります。

  • リージョンディメンションメトリックデータにアクセスするには、ディメンションを次のように設定します。
  1. {"region": "${your_region}"}
  • サービスディメンションメトリックデータにアクセスするには、ディメンションを次のように設定します。
  1. {"region": "${your_region}", "serviceName": "${your_serviceName}"}
  • 関数ディメンションメトリックデータにアクセスするには、ディメンションを次のように設定します。
  1. {"region": "${your_region}", "serviceName": "${your_serviceName}", "functionName": "${your_functionName}"}

注意:ディメンションは JSON 文字列で、Function Compute のメトリック表示は 1 つの Key-Value ペアしかありません。Java SDK によって記述されたサンプルコード:

  1. request.setDimensions("{\"region\":\"your_region\"}");

周期

モニタリングメトリックデータは、1 分に 1 回集計されます。

Java SDK によって記述されたサンプルコード

  1. request.setPeriod("60");

メトリック

Java SDK によって記述されたサンプルコード

  1. request.setMetric("your_metric");

Function Compute メトリックの詳細については、「関連ドキュメント」をご参照ください。以下はメトリックのリストです。

メトリック メトリック名
RegionTotalInvocations リージョンディメンションの呼び出し合計
RegionBillableInvocations リージョンディメンションの請求可能な呼び出し
RegionThrottles リージョンディメンションのスロットリング
RegionClientErrors リージョンディメンションのクライアントエラー
RegionServerErrors リージョンディメンションのサーバーエラー
RegionBillableInvocationsRate リージョンディメンションの請求可能な呼び出しの割合
RegionThrottlesRate リージョンディメンションのスロットリングの割合
RegionClientErrorsRate リージョンディメンションのクライアントエラーの割合
RegionServerErrorsRate リージョンディメンションのサーバーエラーの割合
ServiceTotalInvocations サービスディメンションの呼び出し合計
ServiceBillableInvocations サービスディメンションの請求可能な呼び出し
ServiceThrottles サービスディメンションのスロットル
ServiceClientErrors サービスディメンションのクライアントエラー
ServiceServerErrors サービスディメンションのサーバーエラー
ServiceBillableInvocationsRate サービスディメンションの請求可能な呼び出しの割合
ServiceThrottlesRate サービスディメンションのスロットルの割合
ServiceClientErrorsRate サービスディメンションのクライアントエラーの割合
ServiceServerErrorsRate サービスディメンションのサーバーエラーの割合
FunctionTotalInvocations 関数ディメンションの呼び出し合計
FunctionBillableInvocations 関数ディメンションの請求可能な呼び出し
FunctionThrottles 関数ディメンションのスロットリング
FunctionClientErrors 関数ディメンションのクライアントエラー
FunctionServerErrors 関数ディメンションのサーバーエラー
FunctionBillableInvocationsRate 関数ディメンションの請求可能な呼び出しの割合
FunctionThrottlesRate 関数ディメンションのスロットリングの割合
FunctionClientErrorsRate 関数ディメンションのクライアントエラーの割合
FunctionServerErrorsRate 関数ディメンションのサーバーエラーの割合
FunctionAvgDuration 関数ディメンションの平均時間

pom.xml:

  1. ...
  2. <dependencies>
  3. <dependency>
  4. <groupId>com.aliyun</groupId>
  5. <artifactId>aliyun-java-sdk-core</artifactId>
  6. <version>3.1.0</version>
  7. </dependency>
  8. <dependency>
  9. <groupId>com.aliyun</groupId>
  10. <artifactId>aliyun-java-sdk-cms</artifactId>
  11. <version>5.0.1</version>
  12. </dependency>
  13. </dependencies>
  14. ...

サンプルコード

  1. import com.alibaba.fastjson.JSONObject;
  2. import com.aliyuncs.DefaultAcsClient;
  3. import com.aliyuncs.IAcsClient;
  4. import com.aliyuncs.cms.model.v20170301.QueryMetricListRequest;
  5. import com.aliyuncs.cms.model.v20170301.QueryMetricListResponse;
  6. import com.aliyuncs.exceptions.ClientException;
  7. import com.aliyuncs.exceptions.ServerException;
  8. import com.aliyuncs.http.FormatType;
  9. import com.aliyuncs.profile.DefaultProfile;
  10. import com.aliyuncs.profile.IClientProfile;
  11. public class MonitorService {
  12. public static void main(String[] args) {
  13. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<your_access_key_id>", "<your_access_key_secret>");
  14. IAcsClient client = new DefaultAcsClient(profile);
  15. QueryMetricListRequest request = new QueryMetricListRequest();
  16. request.setProject("acs_fc");
  17. request.setPeriod("60");
  18. request.setStartTime("2017-04-26 16:20:00");
  19. request.setEndTime("2017-04-26 16:30:00");
  20. request.setAcceptFormat(FormatType.JSON);
  21. try {
  22. // Region dimension
  23. JSONObject dim = new JSONObject();
  24. request.setMetric("RegionTotalInvocations"); // Select the metric
  25. dim.put("region", "<your_region>"); // 如: cn-shanghai
  26. request.setDimensions(dim.toJSONString());
  27. QueryMetricListResponse response = client.getAcsResponse(request);
  28. System.out.println(response.getCode());
  29. System.out.println(response.getMessage());
  30. System.out.println(response.getRequestId());
  31. System.out.println(response.getDatapoints());
  32. // Service dimension
  33. dim = new JSONObject();
  34. request.setMetric("ServiceTotalInvocations"); // Select the metric
  35. dim.put("region", "<your_region>");
  36. dim.put("serviceName", "<your_service_name>");
  37. request.setDimensions(dim.toJSONString());
  38. response = client.getAcsResponse(request);
  39. System.out.println(response.getCode());
  40. System.out.println(response.getMessage());
  41. System.out.println(response.getRequestId());
  42. System.out.println(response.getDatapoints());
  43. // Function dimension
  44. dim = new JSONObject();
  45. request.setMetric("FunctionTotalInvocations"); // Select the metric
  46. dim.put("region", "<your_region>");
  47. dim.put("serviceName", "<your_service_name>");
  48. dim.put("functionName", "<your_function_name>");
  49. request.setDimensions(dim.toJSONString());
  50. response = client.getAcsResponse(request);
  51. System.out.println(response.getCode());
  52. System.out.println(response.getMessage());
  53. System.out.println(response.getRequestId());
  54. System.out.println(response.getDatapoints());
  55. } catch (ServerException e) {
  56. e.printStackTrace();
  57. } catch (ClientException e) {
  58. e.printStackTrace();
  59. }
  60. }
  61. }