ホームページ >Java >&#&チュートリアル >Java 関数のパフォーマンスを監視し、問題が発生したときにアラートを受け取るにはどうすればよいですか?
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 ファイルに次の依存関係を追加します。 <pre class='brush:xml;toolbar:false;'><dependency>
<groupId>io.opencensus</groupId>
<artifactId>opencensus-exporter-stats-cloud</artifactId>
<version>0.16.0</version>
</dependency></pre>
関数クラスに、監視およびアラート コードを追加します。 <pre class='brush:java;toolbar:false;'>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();
}
}</pre>
FUNCTIONS_SIGNATURE_TYPE 環境変数が設定されていることを確認します。
gcloud functions deploy my-function \ --entry-point MyFunction \ --runtime java11 \ --trigger-http
4. アラートを設定する
ルールの作成:
[ルールの作成]ボタンをクリックします。
custom.googleapis.com/cloud_function/http/latency
しきい値を設定します: しきい値を関数実行時間の予想値に設定します。
次のステップ
このチュートリアルでは、Stackdriver を使用して Java 関数のパフォーマンスを監視し、アラートを設定する方法を説明します。詳細については、次のリソースを参照することもできます:[Google Cloud Functions Monitoring API](https://cloud.google.com/functions/docs/monitoring/concepts)
[OpenCensus Java](https://github.com/census-instrumentation/opencensus-java)
以上がJava 関数のパフォーマンスを監視し、問題が発生したときにアラートを受け取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。