全部产品
Search
文档中心

Function Compute:Data Pemantauan

更新时间:Sep 06, 2025

Topik ini menjelaskan cara meminta data pemantauan Function Compute menggunakan API CloudMonitor. Anda dapat memanggil operasi API dan mengonfigurasi parameter permintaan seperti Proyek, StartTime, EndTime, Dimensions, Period, dan Metric untuk mendapatkan data pemantauan Function Compute.

Untuk informasi lebih lanjut tentang operasi API, lihat Daftar Operasi Berdasarkan Fungsi.

Proyek

Semua metrik Function Compute tersedia untuk diperiksa di bawah proyek acs_fc.

Contoh kode berikut menunjukkan implementasi menggunakan Java SDK:

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

StartTime dan EndTime

Di CloudMonitor, rentang waktu ditentukan oleh parameter StartTime dan EndTime dalam format (StartTime, EndTime]. Rentang waktu bersifat eksklusif terhadap StartTime dan inklusif terhadap EndTime.

Catatan

CloudMonitor menyimpan data selama 31 hari. Oleh karena itu, rentang waktu antara StartTime dan EndTime tidak boleh melebihi 31 hari, dan data yang lebih lama dari 31 hari tidak dapat diperiksa.

Untuk informasi lebih lanjut tentang parameter waktu lainnya, lihat Daftar Operasi Berdasarkan Fungsi.

Contoh kode berikut menunjukkan implementasi menggunakan Java SDK:

request.setStartTime("2024-07-19 08:00:00");
request.setEndTime("2024-08-19 08:00:00");        

Dimensions

Metrik pemantauan Function Compute dikategorikan ke dalam dimensi wilayah, layanan, dan fungsi berdasarkan struktur sumber daya dan skenario penggunaan Function Compute. Anda dapat menentukan dimensi menggunakan parameter Dimensions.

  • Potongan kode berikut menunjukkan format Dimensions dalam dimensi wilayah:

    {"region": "${your_region}"}    
  • Potongan kode berikut menunjukkan format Dimensions dalam dimensi layanan:

    {"region": "${your_region}", "serviceName": "${your_serviceName}"}            
  • Potongan kode berikut menunjukkan format Dimensions dalam dimensi fungsi:

    {"region": "${your_region}", "serviceName": "${your_serviceName}", "functionName": "${your_functionName}"}
Catatan

Nilai Dimensi adalah string JSON. Satu atau lebih pasangan kunci-nilai terkandung dalam Dimensi untuk metrik pemantauan yang berbeda. Contoh kode berikut memberikan contoh untuk Java SDK:

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

Period

Granularitas periode agregasi untuk metrik Function Compute adalah 60 detik.

Contoh kode berikut menunjukkan implementasi menggunakan Java SDK:

request.setPeriod("60");

Metric

Contoh kode berikut menunjukkan implementasi menggunakan Java SDK:

request.setMetric("your_metric");

Tabel berikut mencantumkan metrik yang dijelaskan dalam dokumentasi Function Compute.

Dimensi

Metric

Wilayah

RegionTotalInvocations

RegionServerErrors

RegionClientErrors

RegionFunctionErrors

RegionThrottles

RegionResourceThrottles

RegionConcurrencyLimit

RegionConcurrentCount

RegionProvisionedCurrentInstance

Layanan

ServiceTotalInvocations

ServiceServerErrors

ServiceClientErrors

ServiceFunctionErrors

ServiceThrottles

ServiceResourceThrottles

ServiceProvisionedCurrentInstance

Fungsi

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

Contoh:

Kode contoh berikut menunjukkan file 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>
...
            

Kode contoh:

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) {
        /*
        Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Menggunakan kredensial ini untuk melakukan operasi di Function Compute adalah operasi berisiko tinggi. Kami merekomendasikan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin.
        Kami merekomendasikan agar Anda tidak menyimpan pasangan AccessKey (ID AccessKey dan Rahasia AccessKey) dalam kode proyek Anda. Jika tidak, pasangan AccessKey mungkin bocor dan keamanan semua sumber daya di akun Anda dapat terganggu.
        Dalam contoh ini, pasangan AccessKey disimpan dalam variabel lingkungan untuk otentikasi.
        Konfigurasikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET di lingkungan lokal Anda sebelum menjalankan kode contoh.
        Di runtime Function Compute, variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi secara otomatis setelah Anda mengonfigurasi izin eksekusi.
        */
        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 {
            // Dimensi wilayah. JSONObject dim = new JSONObject();
            request.setMetric("RegionTotalInvocations");  // Tentukan metrik.
            dim.put("region", "<your_region>");  // Contoh: 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());

            // Dimensi layanan. dim = new JSONObject();
            request.setMetric("ServiceTotalInvocations");  // Tentukan metrik.
            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());

            // Dimensi fungsi. dim = new JSONObject();
            request.setMetric("FunctionTotalInvocations");  // Tentukan metrik.
            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();
        }
    }
}