Maison > Java > javaDidacticiel > Comment surveiller les performances d'une fonction Java et recevoir des alertes lorsque des problèmes surviennent ?

Comment surveiller les performances d'une fonction Java et recevoir des alertes lorsque des problèmes surviennent ?

PHPz
Libérer: 2024-04-20 08:36:01
original
940 Les gens l'ont consulté

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 dune fonction Java et recevoir des alertes lorsque des problèmes surviennent ?

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

  • Java 11 ou supérieur
  • Maven ou Gradle
  • SDK Google Cloud Functions
  • Compte Google Cloud

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>
Copier après la connexion

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!");
    }
}
Copier après la connexion

2. Ajoutez une surveillance et des alertes

dans pom.xml ou build.gradle</ code> fichier, ajoutez la dépendance suivante : <code>pom.xmlbuild.gradle 文件中,添加以下依赖项:

<dependency>
  <groupId>io.opencensus</groupId>
  <artifactId>opencensus-exporter-stats-cloud</artifactId>
  <version>0.16.0</version>
</dependency>
Copier après la connexion

在函数类中,添加监控和警报代码:

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();
    }
}
Copier après la connexion

3. 部署函数

部署您的函数,确保已设置 FUNCTIONS_SIGNATURE_TYPE

gcloud functions deploy my-function \
--entry-point MyFunction \
--runtime java11 \
--trigger-http
Copier après la connexion

Dans la classe de fonction, ajoutez le code de surveillance et d'alerte :

custom.googleapis.com/cloud_function/http/latency
Copier après la connexion
3. Déployez la fonction

Déployez votre fonction, en vous assurant que FUNCTIONS_SIGNATURE_TYPEest défini. > Variables d'environnement.
    rrreee
  • 4. Configurer des alertes
  • Connectez-vous au tableau de bord Google Cloud Monitoring et accédez à l'onglet Alertes.

    Créer une règle :
  • Cliquez sur le bouton "Créer une règle".
  • Spécifiez les conditions :
  • Sélectionnez le type de métrique "Métriques" et sélectionnez les métriques suivantes : rrreee
Définir le seuil :

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.
  • Prochaines étapes
Ce tutoriel montre comment utiliser Stackdriver pour surveiller les performances d'une fonction Java et définir des alertes. Vous pouvez également explorer les ressources suivantes pour plus d'informations : 🎜🎜🎜[API de surveillance de Google Cloud Functions](https://cloud.google.com/functions/docs/monitoring/concepts)🎜🎜[OpenCensus Java](https: / /github.com/census-instrumentation/opencensus-java)🎜🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal