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

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

最終更新日:Apr 01, 2026

CloudMonitor API を使用して、Function Compute のメトリックをプログラムでクエリします。すべてのリクエストには、以下の 6 つのパラメーターが必要です:ProjectStartTimeEndTimeDimensionsPeriod、および Metric。API の完全なリファレンスについては、「機能別オペレーション一覧」をご参照ください。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • Function Compute にアクセスできる Alibaba Cloud アカウント

  • プロジェクトに CloudMonitor Java SDK の依存関係が追加されていること(「依存関係」を参照)

  • AccessKey 認証情報を環境変数として保存済みであること(ALIBABA_CLOUD_ACCESS_KEY_ID および ALIBABA_CLOUD_ACCESS_KEY_SECRET

  • 必要な権限を持つ RAM ユーザーが設定済みであること(API 呼び出しでは root アカウントの認証情報を使用しないでください)

パラメーター

Project

すべての Function Compute メトリックは acs_fc プロジェクト — CloudMonitor 上における Function Compute の名前空間 — に属します。

request.setProject("acs_fc");

StartTime および EndTime

時間範囲は半開区間で指定します:(StartTime, EndTime]。StartTime は排他的(含まれず)、EndTime は包括的(含まれる)です。

CloudMonitor では、31 日分のデータが保持されます。StartTime と EndTime の間隔は 31 日を超えてはならず、31 日より古いデータはクエリできません。
request.setStartTime("2024-07-19 16:20:00");
request.setEndTime("2024-07-19 16:30:00");

その他の時間関連パラメーターの詳細については、「機能別オペレーション一覧」をご参照ください。

Dimensions

Function Compute のメトリックは、リソース階層(リージョン、サービス、関数)に対応する 3 つのディメンションで構成されています。クエリ対象となるデータの範囲に応じて、適切なディメンションを選択してください。

ディメンション使用するケース形式
リージョン特定のリージョン内のすべてのリソースを集計したデータをクエリする場合{"region": "${your_region}"}
サービス特定のサービスに絞り込んでクエリする場合{"region": "${your_region}", "serviceName": "${your_serviceName}"}
関数特定の関数のメトリックのみを抽出する場合{"region": "${your_region}", "serviceName": "${your_serviceName}", "functionName": "${your_functionName}"}

Dimensions の値は JSON 文字列です。例:

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

Period

Function Compute メトリックの集計期間は固定で 60 秒です。

request.setPeriod("60");

Metric

メトリック名を文字列として指定します。例:

request.setMetric("FunctionTotalInvocations");

メトリックのディメンション

メトリック

リージョン

RegionTotalInvocations

RegionServerErrors

RegionClientErrors

RegionFunctionErrors

RegionThrottles

RegionResourceThrottles

RegionConcurrencyLimit

RegionConcurrentCount

RegionProvisionedCurrentInstance

サービス

ServiceTotalInvocations

ServiceServerErrors

ServiceClientErrors

ServiceFunctionErrors

ServiceThrottles

ServiceResourceThrottles

ServiceProvisionedCurrentInstance

関数

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

FunctionDestinationSucceeded

FunctionAsyncMessagesBacklogV2

FunctionAsyncMessagesInProcess

FunctionMaxConcurrentRequests

FunctionAvgConcurrentRequests

FunctionvCPUQuotaCores

FunctionMaxvCPUCores

FunctionAvgvCPUCores

FunctionMaxvCPUUtilization

FunctionAvgvCPUUtilization

FunctionRXBytesPerSec

FunctionTXBytesPerSec

FunctionMemoryLimitMB

FunctionMaxMemoryUsageMB

FunctionAvgMemoryUsageMB

FunctionMaxMemoryUtilization

FunctionAvgMemoryUtilization

FunctionGPUMemoryLimitMB

FunctionGPUMaxMemoryUsage

FunctionGPUMemoryUsagePercent

FunctionGPUSMPercent

FunctionGPUEncoderPercent

FunctionGPUDecoderPercent

利用可能なメトリック

以下の一覧表には、ディメンション別にグループ化された Function Compute で利用可能なすべてのメトリックが記載されています。

リージョンレベルのメトリック

メトリック
RegionTotalInvocations
RegionServerErrors
RegionClientErrors
RegionFunctionErrors
RegionThrottles
RegionResourceThrottles
RegionConcurrencyLimit
RegionConcurrentCount
RegionProvisionedCurrentInstance

サービスメトリック

メトリック
ServiceTotalInvocations
ServiceServerErrors
ServiceClientErrors
ServiceFunctionErrors
ServiceThrottles
ServiceResourceThrottles
ServiceProvisionedCurrentInstance

関数レベルのメトリック

関数レベルのメトリックは最も細かい粒度で提供され、特定の関数におけるパフォーマンスの問題や予期せぬ動作の診断に役立ちます。

呼び出しとエラー

メトリック
FunctionTotalInvocations
FunctionProvisionInvocations
FunctionHTTPStatus2xx
FunctionHTTPStatus3xx
FunctionHTTPStatus4xx
FunctionHTTPStatus5xx
FunctionServerErrors
FunctionClientErrors
FunctionFunctionErrors

同時実行性

メトリック
FunctionConcurrencyThrottles
FunctionResourceThrottles
FunctionMaxConcurrentRequests
FunctionAvgConcurrentRequests
FunctionOndemandInstanceQuota
FunctionOndemandActiveInstance
FunctionProvisionedCurrentInstance

実行時間およびレイテンシ

メトリック
FunctionAvgDuration
FunctionP90Duration
FunctionP99Duration
FunctionMaxDuration
FunctionLatencyAvg

メモリ

メトリック
FunctionMemoryLimitMB
FunctionMaxMemoryUsage
FunctionMaxMemoryUsageMB
FunctionAvgMemoryUsageMB
FunctionMaxMemoryUtilization
FunctionAvgMemoryUtilization

vCPU

メトリック
FunctionvCPUQuotaCores
FunctionMaxvCPUCores
FunctionAvgvCPUCores
FunctionMaxvCPUUtilization
FunctionAvgvCPUUtilization

ネットワーク

メトリック
FunctionRXBytesPerSec
FunctionTXBytesPerSec

GPU

メトリック
FunctionGPUMemoryLimitMB
FunctionGPUMaxMemoryUsage
FunctionGPUMemoryUsagePercent
FunctionGPUSMPercent
FunctionGPUEncoderPercent
FunctionGPUDecoderPercent

非同期呼び出し

メトリック
FunctionEnqueueCount
FunctionDequeueCount
FunctionAsyncMessagesBacklog
FunctionAsyncMessagesInProcess
FunctionAsyncMessageLatencyAvg
FunctionAsyncMessageLatencyMax
FunctionAsyncEventExpiredDropped
FunctionDestinationErrors
FunctionDestinationSucceed

サンプル

以下の完全なサンプルでは、Java SDK を使用して、3 つのディメンション(リージョン、サービス、関数)すべてにわたるメトリックをクエリします。

依存関係

以下の依存関係を 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) {
        // 認証情報を環境変数から読み込みます。
        // AccessKey ID および AccessKey Secret をソースコード内にハードコードせず、
        // 環境変数として保存してください。
        // Function Compute のランタイムでは、実行権限を設定後にこれらの環境変数が自動的に設定されます。
        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("2024-07-19 16:20:00");
        request.setEndTime("2024-07-19 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());
            System.out.println(response.getDatapoints());

            // サービスディメンション:特定のサービスにスコープを限定したメトリック。
            dim = new JSONObject();
            request.setMetric("ServiceTotalInvocations");
            dim.put("region", "<your_region>");
            dim.put("serviceName", "<your_service_name>");
            request.setDimensions(dim.toJSONString());
            response = client.getAcsResponse(request);
            System.out.println(response.getCode());
            System.out.println(response.getMessage());
            System.out.println(response.getRequestId());
            System.out.println(response.getDatapoints());

            // 関数ディメンション:特定の関数のメトリック。
            dim = new JSONObject();
            request.setMetric("FunctionTotalInvocations");
            dim.put("region", "<your_region>");
            dim.put("serviceName", "<your_service_name>");
            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());
            System.out.println(response.getDatapoints());

        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

以下のプレースホルダーを実際の値に置き換えてください。

プレースホルダー説明
<your_region>Function Compute リソースがデプロイされているリージョン IDcn-shanghai
<your_service_name>Function Compute サービスの名前my-service
<your_function_name>関数の名前my-function

次のステップ