Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwenden Sie benutzerdefinierte Metriken mit Amazon Managed Service für Apache Flink

Fokusmodus
Verwenden Sie benutzerdefinierte Metriken mit Amazon Managed Service für Apache Flink - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Managed Service für Apache Flink stellt 19 Metriken zur Verfügung CloudWatch, darunter Metriken für Ressourcennutzung und Durchsatz. Darüber hinaus können Sie Ihre eigenen Metriken erstellen, um anwendungsspezifische Daten zu verfolgen, z. B. Verarbeitungsereignisse oder den Zugriff auf externe Ressourcen.

Funktionsweise

Benutzerdefinierte Metriken in Managed Service für Apache Flink verwenden das Apache Flink-Metriksystem. Apache Flink-Metriken haben die folgenden Attribute:

  • Typ: Der Typ einer Metrik beschreibt, wie Daten gemessen und gemeldet werden. Zu den verfügbaren Apache Flink-Metriktypen gehören Anzahl, Diagramm, Histogramm und Messung. Weitere Informationen zu den Metriktypen von Apache Flink finden Sie unter Metriktypen.

    Anmerkung

    AWS CloudWatch Metrics unterstützt den Metriktyp Histogramm Apache Flink nicht. CloudWatch kann nur Apache Flink-Metriken der Typen Count, Gauge und Meter anzeigen.

  • Umfang: Der Geltungsbereich einer Metrik besteht aus ihrer Kennung und einer Reihe von Schlüssel-Wert-Paaren, die angeben, wie die Metrik gemeldet werden soll. CloudWatch Die Kennung einer Metrik enthält die folgenden Elemente:

    • Einen Systembereich, der die Ebene angibt, auf der die Metrik gemeldet wird (z. B. Operator).

    • Einen Benutzerbereich, der Attribute wie Benutzervariablen oder Metrikgruppennamen definiert. Diese Attribute werden mit MetricGroup.addGroup(key, value) oder MetricGroup.addGroup(name) definiert.

    Weitere Informationen zu Metrikbereichen finden Sie unter Bereich.

Weitere Informationen zu Apache Flink-Metriken finden Sie unter Metriken in der Apache Flink-Dokumentation.

Um eine benutzerdefinierte Metrik in Ihrem Managed Service für Apache Flink zu erstellen, können Sie von jeder Benutzerfunktion aus, die RichFunction erweitert, durch Aufrufen von GetMetricGroup auf das Apache Flink-Metriksystem zugreifen. Diese Methode gibt ein MetricGroupObjekt zurück, mit dem Sie benutzerdefinierte Metriken erstellen und registrieren können. Managed Service for Apache Flink meldet alle Metriken, die mit dem Gruppenschlüssel KinesisAnalytics für erstellt wurden. CloudWatch Benutzerdefinierte Metriken, die Sie definieren, weisen folgende Merkmale auf:

  • Ihre benutzerdefinierte Metrik hat einen Metriknamen und einen Gruppennamen. Diese Namen müssen gemäß den Benennungsregeln von Prometheus aus alphanumerischen Zeichen bestehen.

  • Attribute, die Sie im Benutzerbereich definieren (mit Ausnahme der KinesisAnalytics Metrikgruppe), werden als Dimensionen veröffentlicht. CloudWatch

  • Benutzerdefinierte Metriken werden standardmäßig auf der Application-Ebene veröffentlicht.

  • Dimensionen (Aufgabe/Operator/Parallelismus) werden der Metrik auf der Grundlage der Überwachungsebene der Anwendung hinzugefügt. Sie legen die Überwachungsebene der Anwendung mithilfe des MonitoringConfigurationAktionsparameters oder des CreateApplicationMonitoringConfigurationUpdateAktionsparameters oder der UpdateApplicationAktion fest.

Sehen Sie sich Beispiele für die Erstellung einer Mapping-Klasse an

Die folgenden Codebeispiele zeigen, wie Sie eine Mapping-Klasse erstellen, die eine benutzerdefinierte Metrik erstellt und inkrementiert, und wie Sie die Mapping-Klasse in Ihrer Anwendung implementieren, indem Sie sie einem DataStream Objekt hinzufügen.

Benutzerdefinierte Metrik für die Anzahl der Datensätze

Das folgende Codebeispiel zeigt, wie eine Mapping-Klasse erstellt wird, die eine Metrik erstellt, die Datensätze in einem Datenstrom zählt (dieselbe Funktionalität wie die numRecordsIn-Metrik):

private static class NoOpMapperFunction extends RichMapFunction<String, String> { private transient int valueToExpose = 0; private final String customMetricName; public NoOpMapperFunction(final String customMetricName) { this.customMetricName = customMetricName; } @Override public void open(Configuration config) { getRuntimeContext().getMetricGroup() .addGroup("KinesisAnalytics") .addGroup("Program", "RecordCountApplication") .addGroup("NoOpMapperFunction") .gauge(customMetricName, (Gauge<Integer>) () -> valueToExpose); } @Override public String map(String value) throws Exception { valueToExpose++; return value; } }

Im vorherigen Beispiel wird die valueToExpose-Variable für jeden Datensatz, den die Anwendung verarbeitet, inkrementiert.

Nachdem Sie Ihre Mapping-Klasse definiert haben, erstellen Sie einen anwendungsinternen Stream, der die Map implementiert:

DataStream<String> noopMapperFunctionAfterFilter = kinesisProcessed.map(new NoOpMapperFunction("FilteredRecords"));

Den vollständigen Code für diese Anwendung finden Sie unter Datensatzanzahl benutzerdefinierte Metrikanwendung.

Benutzerdefinierte Metrik für die Anzahl der Wörter

Das folgende Codebeispiel zeigt, wie eine Mapping-Klasse erstellt wird, die eine Metrik erstellt, die Wörter in einem Datenstrom zählt:

private static final class Tokenizer extends RichFlatMapFunction<String, Tuple2<String, Integer>> { private transient Counter counter; @Override public void open(Configuration config) { this.counter = getRuntimeContext().getMetricGroup() .addGroup("KinesisAnalytics") .addGroup("Service", "WordCountApplication") .addGroup("Tokenizer") .counter("TotalWords"); } @Override public void flatMap(String value, Collector<Tuple2<String, Integer>>out) { // normalize and split the line String[] tokens = value.toLowerCase().split("\\W+"); // emit the pairs for (String token : tokens) { if (token.length() > 0) { counter.inc(); out.collect(new Tuple2<>(token, 1)); } } } }

Im vorherigen Beispiel wird die counter-Variable für jedes Wort, das die Anwendung verarbeitet, inkrementiert.

Nachdem Sie Ihre Mapping-Klasse definiert haben, erstellen Sie einen anwendungsinternen Stream, der die Map implementiert:

// Split up the lines in pairs (2-tuples) containing: (word,1), and // group by the tuple field "0" and sum up tuple field "1" DataStream<Tuple2<String, Integer>> wordCountStream = input.flatMap(new Tokenizer()).keyBy(0).sum(1); // Serialize the tuple to string format, and publish the output to kinesis sink wordCountStream.map(tuple -> tuple.toString()).addSink(createSinkFromStaticConfig());

Den vollständigen Code für diese Anwendung finden Sie unter Wortanzahl benutzerdefinierte Metrikanwendung.

Benutzerdefinierte Metriken anzeigen

Benutzerdefinierte Metriken für Ihre Anwendung werden in der CloudWatch Metrics-Konsole im AWS/KinesisAnalyticsDashboard unter der Metrikgruppe „Anwendung“.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.