すべてのプロダクト
Search
ドキュメントセンター

Function Compute:モニタリングデータ

最終更新日:Sep 06, 2025

このトピックでは、CloudMonitor API を使用して Function Compute メトリックをクエリする方法について説明します。関連する API 操作を呼び出し、異なるリクエストパラメーターを使用して、Function Compute のモニタリングデータを取得できます。これらのパラメーターには、Project、StartTime、EndTime、Dimensions、Period、および Metric が含まれます。

API 操作の詳細については、「関数別の操作リスト」をご参照ください。

Project

すべての Function Compute メトリックは、acs_fc プロジェクトでクエリできます。

次のサンプルコードは、SDK for Java を使用してプロジェクトを設定する方法を示しています。

QueryMetricRequest request = new QueryMetricRequest();
request.setProject("acs_fc"); // プロジェクトを acs_fc に設定

StartTime and EndTime

CloudMonitor では、時間範囲は (StartTime, EndTime] 形式の StartTime パラメーターと EndTime パラメーターによって定義されます。時間範囲は StartTime を除き、EndTime を含みます。

説明

CloudMonitor はデータを 31 日間保持します。このため、StartTime と EndTime の間の時間範囲は 31 日を超えることはできず、31 日より前のデータはクエリできません。

その他の時間パラメーターの詳細については、「関数別の操作リスト」をご参照ください。

次のサンプルコードは、SDK for Java を使用してプロジェクトを設定する方法を示しています。

request.setStartTime("2024-07-19 08:00:00"); // 開始時間を設定
request.setEndTime("2024-07-19 09:00:00");        // 終了時間を設定

Dimensions

Function Compute のモニタリングサービスは、リージョン、サービス、および関数ディメンションの観点から Function Compute メトリックを分割します。各ディメンションは、Dimensions パラメーターの値に異なる形式を使用します。

  • リージョンメトリックの Dimensions パラメーターは、次の形式です。

    {"region": "${お使いのリージョン}"}    
  • 関数メトリックの Dimensions パラメーターは、次の形式です。

    {"region": "${your_region}", "functionName": "${your_functionName}"} // 関数ディメンションを設定
説明

Dimensions パラメーターの値は、1 つ以上のキーと値のペアを含む JSON 文字列です。次のサンプルコードは、SDK for Java を使用してプロジェクトを設定する方法を示しています。

request.setDimensions("{\"region\":\"your_region\"}"); // ディメンションを設定

Period

Function Compute メトリックの集計期間の粒度は 60 秒である必要があります。

次のサンプルコードは、SDK for Java を使用してプロジェクトを設定する方法を示しています。

request.setPeriod("60"); // 期間を 60 秒に設定

Metric

次のサンプルコードは、SDK for Java を使用してプロジェクトを設定する方法を示しています。

request.setMetric("your_metric"); // メトリックを設定

次の表に、Function Compute ドキュメントに記載されているメトリックを示します。

Dimension

Metric

リージョン ID

RegionTotalInvocations

RegionServerErrors

RegionClientErrors

RegionFunctionErrors

RegionThrottles

RegionResourceThrottles

RegionConcurrencyLimit

RegionConcurrentCount

RegionProvisionedCurrentInstance

関数

FunctionTotalInvocations

FunctionProvisionInvocations

FunctionHTTPStatus2xx

FunctionHTTPStatus3xx

FunctionHTTPStatus4xx

FunctionHTTPStatus5xx

FunctionServerErrors

FunctionClientErrors

FunctionFunctionErrors

FunctionConcurrencyThrottles

FunctionResourceThrottles

FunctionAvgDuration

FunctionP90Duration

FunctionP99Duration

FunctionMaxDuration

FunctionLatencyAvg

FunctionMemoryLimitMB

FunctionMaxMemoryUsage

FunctionOndemandInstanceQuota

FunctionOndemandActiveInstance

FunctionProvisionedCurrentInstance

FunctionEnqueueCount

FunctionDequeueCount

FunctionAsyncMessageLatencyAvg

FunctionAsyncMessageLatencyMax

FunctionAsyncEventExpiredDropped

FunctionDestinationErrors

FunctionDestinationSucceed

FunctionAsyncMessagesBacklog

FunctionAsyncMessagesInProcess

FunctionMaxConcurrentRequests

FunctionAvgConcurrentRequests

FunctionvCPUQuotaCores

FunctionMaxvCPUCores

FunctionAvgvCPUCores

FunctionMaxvCPUUtilization

FunctionAvgvCPUUtilization

FunctionRXBytesPerSec

FunctionTXBytesPerSec

FunctionMemoryLimitMB

FunctionMaxMemoryUsageMB

FunctionAvgMemoryUsageMB

FunctionMaxMemoryUtilization

FunctionAvgMemoryUtilization

FunctionGPUMemoryLimitMB

FunctionGPUMaxMemoryUsage

FunctionGPUMemoryUsagePercent

FunctionGPUSMPercent

FunctionGPUEncoderPercent

FunctionGPUDecoderPercent

Example:

次のテキストは、pom.xml ファイルのサンプルを示しています。

...
    <dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-cms</artifactId>
            <version>5.0.1</version>
        </dependency>
    </dependencies>
...
            

サンプルコード:

import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.cms.model.v20170301.QueryMetricListRequest;
import com.aliyuncs.cms.model.v20170301.QueryMetricListResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

public class MonitorService {
    public static void main(String[] args) {
        /*
        Alibaba Cloud アカウントの AccessKey ペアを使用して、すべての API 操作にアクセスできます。これらの認証情報を使用して Function Compute で操作を実行することは、リスクの高い操作です。 API 操作の呼び出しや日常の O&M の実行には、RAM ユーザーを使用することをお勧めします。
        プロジェクトコードに AccesKey ペア (AccessKey ID と AccessKey シークレット) を保存しないことをお勧めします。そうしないと、AccessKey ペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。
        この例では、認証のために AccessKey ペアが環境変数に保存されています。
        サンプルコードを実行する前に、ローカル環境で ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数を設定します。
        Function Compute のランタイムでは、実行権限を設定した後、ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が自動的に設定されます。
        */
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessSecretKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKey, accessSecretKey);
        IAcsClient client = new DefaultAcsClient(profile);


        QueryMetricListRequest request = new QueryMetricListRequest();
        request.setProject("acs_fc"); // プロジェクトを設定
        request.setPeriod("60"); // 期間を設定
        request.setStartTime("2023-08-26 16:20:00"); // 開始時間を設定
        request.setEndTime("2023-08-26 16:30:00"); // 終了時間を設定
        request.setAcceptFormat(FormatType.JSON); // 応答フォーマットを設定

        try {
            // リージョンディメンション JSONObject dim = new JSONObject();
            request.setMetric("RegionTotalInvocations");  // メトリックを指定します。
            dim.put("region", "<your_region>");  // 例: cn-shanghai
            request.setDimensions(dim.toJSONString()); // ディメンションを設定
            QueryMetricListResponse response = client.getAcsResponse(request); // リクエストを送信
            System.out.println(response.getCode()); // 応答コードを出力
            System.out.println(response.getMessage()); // 応答メッセージを出力
            System.out.println(response.getRequestId()); // リクエスト ID を出力
            System.out.println(response.getDatapoints()); // データポイントを出力

            // 関数ディメンション dim = new JSONObject();
            request.setMetric("FunctionTotalInvocations");  // メトリックを指定します。
            dim.put("region", "<your_region>"); // リージョンを設定
            dim.put("serviceName", ""); // Function Compute 2.0 で作成された関数の名前: {serviceName}${functionName}。メトリックを取得するには、dim.put("serviceName",{serviceName}) を使用する必要があります。 Function Compute 3.0 で作成された関数: {functionName}。メトリックを取得するには、dim.put("serviceName","") を使用する必要があります。
            dim.put("functionName", "<your_function_name>"); // 関数名を設定
            request.setDimensions(dim.toJSONString()); // ディメンションを設定
            response = client.getAcsResponse(request); // リクエストを送信
            System.out.println(response.getCode()); // 応答コードを出力
            System.out.println(response.getMessage()); // 応答メッセージを出力
            System.out.println(response.getRequestId()); // リクエスト ID を出力
            System.out.println(response.getDatapoints()); // データポイントを出力
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}