為了監控 Java 函數效能和設定警報,請執行下列步驟:新增所需的依賴項。在函數類別中,新增監控和警報代碼。部署函數,確保已設定 FUNCTIONS_SIGNATURE_TYPE 環境變數。在 Google Cloud Monitoring 儀表板中,建立包含自訂指標閾值的警報規則,以便在執行時間超出期望值時觸發警報。
如何監控Java 函數的效能並在發生問題時收到警報
簡介
#監控Java 函數的效能對於確保應用程式的可用性和效能至關重要。透過設定警報,可以在關鍵指標出現異常情況時及時獲得通知,以便及時採取行動。本文將指導您如何使用 Google Cloud Functions Monitoring API 監控 Java 函數的效能並設定警報。
先決條件
1. 建立Java 函數
新建一個Maven 或Gradle 專案並新增下列相依性:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>functions-framework-java</artifactId> <version>1.0.35</version> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-functions</artifactId> <version>3.3.0</version> </dependency>
建立一個類別來實作您的函數:
import com.google.cloud.functions.HttpFunction; import com.google.cloud.functions.HttpRequest; import com.google.cloud.functions.HttpResponse; import java.io.IOException; import java.io.PrintWriter; public class MyFunction implements HttpFunction { @Override public void service(HttpRequest request, HttpResponse response) throws IOException { // 您的函数逻辑 PrintWriter writer = response.getWriter(); writer.print("Hello World!"); } }
2. 新增監控和警報
在pom.xml
或 build.gradle
檔案中,新增以下相依性:
<dependency> <groupId>io.opencensus</groupId> <artifactId>opencensus-exporter-stats-cloud</artifactId> <version>0.16.0</version> </dependency>
在函數類別中,新增監控與警報程式碼:
import io.opencensus.exporter.stats.stackdriver.StackdriverStatsExporter; import io.opencensus.stats.Stats; import io.opencensus.stats.ViewManager; import java.util.List; public class MyFunction implements HttpFunction { private static final StackdriverStatsExporter exporter = StackdriverStatsExporter.createAndRegister(); private static final List<String> MONITORED_FUNCTIONS = List.of("http_server", "fn"); // Add a shutdown hook to stop the exporter at the end of the app lifecycle. // This is a best-effort attempt to ensure that metrics are flushed before termination. public static void init() { Runtime.getRuntime().addShutdownHook(exporter::shutdown); } @Override public void service(HttpRequest request, HttpResponse response) throws IOException { // Monitor the execution of your function using Stackdriver. // You can enable monitoring by setting the FUNCTIONS_SIGNATURE_TYPE environment // variable as shown at https://cloud.google.com/functions/docs/monitoring/logging. ViewManager viewManager = Stats.getViewManager(); // We only need to register the default views once per JVM. // However, you can register views more than once, and the duplicate registrations // will be ignored after the first time. Alternatively, you can configure all of the // default views with a parameter. viewManager.registerAllViews(); } }
3.部署函數
部署您的函數,確保已設定FUNCTIONS_SIGNATURE_TYPE
環境變數。
gcloud functions deploy my-function \ --entry-point MyFunction \ --runtime java11 \ --trigger-http
4. 設定警報
登入 Google Cloud Monitoring 儀表板,然後導覽至「警報」標籤。
指定條件:選擇「指標」指標類型,然後選擇下列度量標準:
custom.googleapis.com/cloud_function/http/latency
實戰案例
例如,您可以設定警報,當函數執行時間超過 1 秒時觸發。這樣,您可以在函數效能出現問題時立即獲得通知,從而可以採取措施進行調查和緩解。
後續步驟
本教學示範如何使用 Stackdriver 監控 Java 函數的效能並設定警報。您也可以探索以下資源以獲取更多資訊:
以上是如何監控Java函數的效能並在發生問題時收到警報?的詳細內容。更多資訊請關注PHP中文網其他相關文章!