Heim  >  Artikel  >  Java  >  Wie kann ich die Leistung einer Java-Funktion überwachen und Benachrichtigungen erhalten, wenn Probleme auftreten?

Wie kann ich die Leistung einer Java-Funktion überwachen und Benachrichtigungen erhalten, wenn Probleme auftreten?

PHPz
PHPzOriginal
2024-04-20 08:36:01844Durchsuche

Um die Leistung von Java-Funktionen zu überwachen und Warnungen festzulegen, befolgen Sie diese Schritte: Fügen Sie die erforderlichen Abhängigkeiten hinzu. Fügen Sie in der Funktionsklasse Überwachungs- und Warncode hinzu. Stellen Sie die Funktion bereit und stellen Sie sicher, dass die Umgebungsvariable FUNCTIONS_SIGNATURE_TYPE festgelegt ist. Erstellen Sie im Google Cloud Monitoring-Dashboard eine Benachrichtigungsregel mit benutzerdefinierten Metrikschwellenwerten, die Benachrichtigungen auslöst, wenn die Ausführungszeiten die Erwartungen überschreiten.

Wie kann ich die Leistung einer Java-Funktion überwachen und Benachrichtigungen erhalten, wenn Probleme auftreten?

So überwachen Sie die Leistung von Java-Funktionen und werden benachrichtigt, wenn Probleme auftreten

Einführung

Die Überwachung der Leistung von Java-Funktionen ist entscheidend, um die Verfügbarkeit und Leistung Ihrer Anwendung sicherzustellen. Durch das Festlegen von Warnungen können Sie rechtzeitig benachrichtigt werden, wenn Schlüsselindikatoren abnormal erscheinen, sodass Sie rechtzeitig Maßnahmen ergreifen können. In diesem Artikel erfahren Sie, wie Sie mit der Google Cloud Functions Monitoring API die Leistung von Java-Funktionen überwachen und Warnungen festlegen.

Voraussetzungen

  • Java 11 oder höher
  • Maven oder Gradle
  • Google Cloud Functions SDK
  • Google Cloud-Konto

1. Erstellen Sie eine Java-Funktion Hinzufügen die folgenden Abhängigkeiten:

<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>

Erstellen Sie eine Klasse, um Ihre Funktion zu implementieren:

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. Fügen Sie Überwachung und Warnungen

in pom.xml oder build.gradle code> hinzu Fügen Sie in der Datei die folgende Abhängigkeit hinzu:

<dependency>
  <groupId>io.opencensus</groupId>
  <artifactId>opencensus-exporter-stats-cloud</artifactId>
  <version>0.16.0</version>
</dependency>

Fügen Sie in der Funktionsklasse den Überwachungs- und Alarmcode hinzu:

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();
    }
}
pom.xmlbuild.gradle 文件中,添加以下依赖项:

gcloud functions deploy my-function \
--entry-point MyFunction \
--runtime java11 \
--trigger-http

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

custom.googleapis.com/cloud_function/http/latency

3. 部署函数

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

3. Stellen Sie die Funktion bereit

Stellen Sie Ihre Funktion bereit und stellen Sie sicher, dass FUNCTIONS_SIGNATURE_TYPEfestgelegt ist > Umgebungsvariablen.

rrreee

4. Benachrichtigungen einrichten
  • Melden Sie sich beim Google Cloud Monitoring-Dashboard an und navigieren Sie zur Registerkarte „Benachrichtigungen“.
  • Regel erstellen: Klicken Sie auf die Schaltfläche „Regel erstellen“.

  • Bedingungen angeben: Wählen Sie den Metriktyp „Metriken“ und wählen Sie die folgenden Metriken aus: rrreee
  • Schwellenwert festlegen: Schwellenwert auf den erwarteten Wert der Funktionsausführungszeit setzen.

Einen Kanal einrichten: Wählen Sie einen Benachrichtigungskanal wie E-Mail oder Slack.

Praktischer Fall

Sie können beispielsweise einen Alarm einstellen, der ausgelöst wird, wenn die Ausführungszeit der Funktion 1 Sekunde überschreitet. Auf diese Weise können Sie sofort benachrichtigt werden, wenn es Probleme mit der Funktionsleistung gibt, sodass Sie Maßnahmen zur Untersuchung und Abhilfe ergreifen können.

Nächste Schritte
  • Dieses Tutorial zeigt, wie Sie Stackdriver verwenden, um die Leistung einer Java-Funktion zu überwachen und Warnungen festzulegen. Weitere Informationen finden Sie auch in den folgenden Ressourcen:
[Google Cloud Functions Monitoring API](https://cloud.google.com/functions/docs/monitoring/concepts)🎜🎜[OpenCensus Java](https: / /github.com/census-instrumentation/opencensus-java)🎜🎜

Das obige ist der detaillierte Inhalt vonWie kann ich die Leistung einer Java-Funktion überwachen und Benachrichtigungen erhalten, wenn Probleme auftreten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn