Afin de surveiller les performances de la fonction Java et de définir des alertes, suivez ces étapes : Ajoutez les dépendances requises. Dans la classe de fonctions, ajoutez du code de surveillance et d’alerte. Déployez la fonction en vous assurant que la variable d'environnement FUNCTIONS_SIGNATURE_TYPE est définie. Dans le tableau de bord Google Cloud Monitoring, créez une règle d'alerte avec des seuils de métriques personnalisés qui déclenchent des alertes lorsque les temps d'exécution dépassent les attentes.
Comment surveiller les performances des fonctions Java et être alerté lorsque des problèmes surviennent
Introduction
La surveillance des performances des fonctions Java est essentielle pour garantir la disponibilité et les performances de votre application. En définissant des alertes, vous pouvez recevoir des notifications en temps opportun lorsque des indicateurs clés semblent anormaux, afin que vous puissiez prendre des mesures en temps opportun. Cet article vous explique comment utiliser l'API de surveillance de Google Cloud Functions pour surveiller les performances des fonctions Java et définir des alertes.
Prérequis
1. Créer une fonction Java
Créer un nouveau projet Maven ou Gradle. et ajouter les dépendances suivantes :
<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>
Créez une classe pour implémenter votre fonction :
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. Ajoutez une surveillance et des alertes
dans pom.xml
ou build.gradle</ code> fichier, ajoutez la dépendance suivante : <code>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
custom.googleapis.com/cloud_function/http/latency
FUNCTIONS_SIGNATURE_TYPE
est défini. > Variables d'environnement. Créer une règle :
Définissez le seuil sur la valeur attendue du temps d'exécution de la fonction.
Configurer un canal :Sélectionnez un canal de notification tel que l'e-mail ou Slack.
Cas pratique
Par exemple, vous pouvez définir une alarme qui se déclenchera lorsque le temps d'exécution de la fonction dépasse 1 seconde. De cette façon, vous pouvez être immédiatement averti en cas de problèmes de performances des fonctions afin que vous puissiez prendre des mesures pour enquêter et atténuer.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!