Verwenden Sie die Amazon CloudWatch Internet Monitor-Abfrageschnittstelle - Amazon CloudWatch

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.

Verwenden Sie die Amazon CloudWatch Internet Monitor-Abfrageschnittstelle

Eine Option, um mehr über den Internetverkehr für Ihre AWS Anwendung zu erfahren, ist die Verwendung der Amazon CloudWatch Internet Monitor-Abfrageschnittstelle. Um die Abfrageschnittstelle zu verwenden, erstellen Sie eine Abfrage mit von Ihnen ausgewählten Datenfiltern und führen dann die Abfrage aus, um eine Teilmenge Ihrer Internet-Monitor-Daten zurückzugeben. Wenn Sie die Daten untersuchen, die die Abfrage zurückgibt, erhalten Sie Einblicke in die Leistung Ihrer Anwendung im Internet.

Sie können alle Messwerte, die Internet Monitor mit Ihrem Monitor erfasst, abfragen und untersuchen, darunter Verfügbarkeits- und Leistungswerte, übertragene Byte, Round-Trip-Zeiten und Zeit bis zum ersten Byte (TTFB).

Internet Monitor verwendet die Abfrageschnittstelle, um die Daten bereitzustellen, die Sie im Dashboard der Internet-Monitor-Konsole untersuchen können. Mithilfe der Suchoptionen im Dashboard — auf der Seite Analysieren oder Optimieren — können Sie Internetdaten für Ihre Anwendung abfragen und filtern.

Wenn Sie mehr Flexibilität beim Durchsuchen und Filtern Ihrer Daten wünschen, als das Dashboard bietet, können Sie die Abfrageschnittstelle selbst verwenden, indem Sie Internet API Monitor-Operationen mit oder mit einem verwenden. AWS Command Line Interface AWS SDK In diesem Abschnitt werden die Abfragetypen vorgestellt, die Sie mit der Abfrageschnittstelle verwenden können, und die Filter, die Sie angeben können, um eine Teilmenge von Daten zu erstellen, um Einblicke in den Internetverkehr für Ihre Anwendung zu erhalten.

So benutzt man die Abfrageschnittstelle

Sie erstellen eine Abfrage mit der Abfrageschnittstelle, indem Sie einen Abfragetyp auswählen und dann Filterwerte angeben, um eine bestimmte gewünschte Teilmenge Ihrer Protokolldateidaten zurückzugeben. Anschließend können Sie mit der Datenteilmenge arbeiten, um weiter zu filtern und zu sortieren, Berichte zu erstellen usw.

Der Abfrageprozess funktioniert wie folgt:

  1. Wenn Sie eine Abfrage ausführen, gibt Internet Monitor eine query ID zurück, der für die Abfrage eindeutig ist. In diesem Abschnitt werden die verfügbaren Abfragetypen und Optionen zum Filtern von Daten in Abfragen beschrieben. Um zu verstehen, wie das funktioniert, können Sie sich auch den Abschnitt mit Abfragebeispielen ansehen.

  2. Bei der GetQueryResultsAPIOperation zur Rückgabe von Datenergebnissen für die Abfrage geben Sie die Abfrage-ID zusammen mit Ihrem Monitornamen an. Jeder Abfragetyp gibt einen anderen Satz von Datenfeldern zurück. Weitere Informationen finden Sie unter Abfrageergebnisse abrufen.

Die Abfrageschnittstelle bietet die folgenden Abfragetypen. Jeder Abfragetyp gibt einen anderen Satz von Informationen über Ihren Datenverkehr aus den Protokolldateien zurück, wie in der Abbildung gezeigt.

  • Messungen: Zeigt die Verfügbarkeits- und Leistungsbewertung, den Gesamtverkehr und die Round-Trip-Zeiten in Intervallen von 5 Minuten an.

  • Top-Standorte: Bietet Informationen zur Verfügbarkeitsbewertung, Leistungsbewertung, Gesamtdatenverkehr und Zeit bis zum ersten Byte (TTFB) für die wichtigsten Standorte und ASN Kombinationen, die Sie überwachen, aufgeschlüsselt nach Verkehrsaufkommen.

  • Details zu den wichtigsten Standorten: Stellt TTFB Amazon CloudFront, Ihre aktuelle Konfiguration und die leistungsstärkste EC2 Amazon-Konfiguration in Intervallen von 1 Stunde zur Verfügung.

  • Vorschläge für den Gesamtverkehr: Stellt TTFB anhand eines gewichteten 30-Tage-Durchschnitts den gesamten Verkehr an jedem überwachten AWS Standort bereit.

  • Allgemeine Informationen zu Verkehrsvorschlägen: Stellt TTFB anhand eines gewichteten 30-Tage-Durchschnitts für jeden Top-Standort einen vorgeschlagenen AWS Standort bereit.

  • Routing-Vorschläge: Stellt die prognostizierte durchschnittliche Round-Round-Zeit (RTT) von einem IP-Präfix zu einem AWS Standort für einen DNS Resolver bereit. Die RTT wird in Intervallen von einer Stunde über einen Zeitraum von einer Stunde berechnet.

Sie können die Daten anhand bestimmter Kriterien weiter filtern. Bei den meisten Abfragetypen, mit Ausnahme von Routing-Vorschlägen, können Sie filtern, indem Sie eines oder mehrere der folgenden Kriterien angeben:

  • AWS Standort: Als AWS Standort können Sie einen CloudFront oder einen angeben AWS-Region, z. us-east-2 B.

  • ASN: Geben Sie die autonome Systemnummer (ASN) eines DNS Resolvers an (normalerweise einISP), zum Beispiel 4225.

  • Kundenstandort: Geben Sie als Standort eine Stadt, eine Metro-Region, eine Unterteilung oder ein Land an.

  • Vorgeschlagener AWS Standort: Geben Sie einen an, z. B. AWS-Regionus-east-2 Sie können diesen Filter für den Abfragetyp „Allgemeine Informationen zu Verkehrsvorschlägen“ verwenden.

  • Geo: Geben Sie geo für einige Abfragen an. Dies ist für Abfragen erforderlich, die den Top locations-Abfragetyp verwenden, ist aber für andere Abfragetypen nicht zulässig. Informationen darüber, wann geo für Filterparameter angegeben werden muss, finden Sie im Abschnitt mit Abfragebeispielen.

Für den Abfragetyp „Routenvorschläge“ können Sie die Daten weiter filtern, indem Sie eines oder mehrere der folgenden Kriterien angeben:

  • Aktueller AWS Standort: Geben Sie einen an AWS-Region, z. us-east-2 B.

  • Vorgeschlagener AWS Standort: Geben Sie einen an AWS-Region, z. us-east-2 B.

  • IPv4Präfix: Geben Sie ein IPv4 Präfix im Standardformat an, ähnlich wie192.0.2.0/24.

  • MonitorARN: Geben Sie den ARN für einen bestimmten Monitor an.

  • DNSResolver-IP: Geben Sie die IP-Adresse eines DNS Resolvers an.

  • DNSResolverISP: Geben Sie den Namen eines DNS Resolvers an (normalerweise einISP), zum Beispiel. Cloudflare

  • DNSResolverASN: Geben Sie die autonome Systemnummer (ASN) eines DNS Resolvers an, z. B. 4225.

Die Operatoren, die Sie zum Filtern Ihrer Daten verwenden können, sind EQUALS und NOT_EQUALS. Einzelheiten zum Filtern von Parametern finden Sie unter dem Vorgang. FilterParameterAPI

Einzelheiten zu den Vorgängen der Abfrageschnittstelle finden Sie unter den folgenden API Vorgängen im Amazon CloudWatch Internet API Monitor-Referenzhandbuch:

  • Informationen zum Erstellen und Ausführen einer Abfrage finden Sie unter StartQueryAPIVorgang.

  • Informationen zum Beenden einer Abfrage finden Sie unter StopQueryAPIVorgang.

  • Informationen zum Zurückgeben von Daten für eine von Ihnen erstellte Abfrage finden Sie unter GetQueryResultsAPIVorgang.

  • Informationen zum Abrufen des Status einer Abfrage finden Sie unter GetQueryStatusAPIVorgang.

Abfragebeispiele

Um eine Abfrage zu erstellen, mit der Sie einen gefilterten Datensatz aus der Protokolldatei Ihres Monitors abrufen können, verwenden Sie den StartQueryAPIVorgang. Sie geben einen Abfragetyp und Filterparameter für die Abfrage an. Wenn Sie dann die Internet API Monitor-Abfrageschnittstelle verwenden, um mithilfe der Abfrage Abfrageergebnisse abzurufen, wird die Teilmenge Ihrer Daten abgerufen, mit denen Sie arbeiten möchten.

Schauen wir uns einige Beispiele an, um zu veranschaulichen, wie Abfragetypen und Filterparameter funktionieren.

Beispiel 1

Nehmen wir an, Sie möchten alle Protokolldateidaten Ihres Monitors für ein bestimmtes Land abrufen, mit Ausnahme einer Stadt. Das folgende Beispiel zeigt Filterparameter für eine Abfrage, die Sie mit dem Vorgang StartQuery für dieses Szenario erstellen könnten.

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "MEASUREMENTS" FilterParameters: [ { Field: "country", Operator: "EQUALS", Values: ["Germany"] }, { Field: "city", Operator: "NOT_EQUALS", Values: ["Berlin"] }, ] }

Beispiel 2

Als weiteres Beispiel wird angenommen, Sie möchten Ihre Top-Standorte nach Metropolregion gefiltert anzeigen. Sie könnten die folgende Beispielabfrage für dieses Szenario verwenden.

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "TOP_LOCATIONS" FilterParameters: [ { Field: "geo", Operator: "EQUALS", Values: ["metro"] }, ] }

Beispiel 3

Nehmen wir nun an, Sie möchten sich die Top-Kombinationen aus Städten und Netzwerken in der Metropolregion Los Angeles ansehen. Geben Sie dazu geo=city an und setzen Sie metro auf Los Angeles. Jetzt gibt die Abfrage die Top-Städtenetze in der Metropolregion Los Angeles zurück anstatt der Top-Ergebnisse für Metro+-Netzwerke insgesamt.

Hier ist die Beispielabfrage, die Sie verwenden könnten:

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "TOP_LOCATIONS" FilterParameters: [ { Field: "geo", Operator: "EQUALS", Values: ["city"] }, { Field: "metro", Operator: "EQUALS", Values: ["Los Angeles"] } ] }

Beispiel 4

Nehmen wir als Nächstes an, Sie möchten TTFB Daten für eine bestimmte Untereinheit (z. B. einen US-Bundesstaat) abrufen.

Im Folgenden finden Sie eine Beispielabfrage für dieses Szenario:

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "TOP_LOCATION_DETAILS" FilterParameters: [ { Field: "subdivision", Operator: "EQUALS", Values: ["California"] }, ] }

Beispiel 5

Nehmen wir nun an, Sie möchten TTFB Daten für jeden Standort abrufen, an dem Ihre Anwendung Client-Verkehr hat.

Im Folgenden finden Sie eine Beispielabfrage für dieses Szenario:

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "OVERALL_TRAFFIC_SUGGESTIONS" FilterParameters: [] } Results: [us-east-1, 40, us-west-2, 30], [us-east-1, 40, us-west-1, 35], [us-east-1, 40, us-east-1, 44], [us-east-1, 40, CloudFront, 22], ... [us-east-2, 44, us-west-2, 30], [us-east-2, 44, us-west-1, 35], ...

Beispiel 6

Nehmen wir an, Sie möchten TTFB Daten für ein bestimmtes neues Objekt abrufen AWS-Region.

Im Folgenden finden Sie eine Beispielabfrage für dieses Szenario:

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "OVERALL_TRAFFIC_SUGGESTIONS_DETAILS" FilterParameters: [ { Field: "proposed_aws_location", Operator: "EQUALS", Values: ["us-west-2"] }, ] } Results: [San Jose, San Jose-Santa Clara, California, United States, 7922, us-east-1, 40, 350, 350, us-west-2, 45] [San Jose, San Jose-Santa Clara, California, United States, 7922, us-west-1, 35, 450, 450, us-west-2, 45]

Beispiel 7

Ein letztes Beispiel ist das Abrufen von Daten für bestimmte DNS Resolver.

Im Folgenden finden Sie eine Beispielabfrage für dieses Szenario:

{ MonitorName: "TestMonitor" StartTime: "2023-07-12T20:00:00Z" EndTime: "2023-07-12T21:00:00Z" QueryType: "ROUTING_SUGGESTIONS" FilterParameters: [ { Field: "proposed_aws_location", Operator: "EQUALS", Values: ["us-east-1"] }, ] } Results: [162.158.180.245, 13335, Cloudflare, [5.4.0.0/14], us-east-2, 200.0, us-east-1, 160.0] [162.158.180.243, 13313, Cloudflare, [5.4.0.0/10], us-east-2, 150.0, us-east-1, 125.0]

Abfrageergebnisse abrufen

Nachdem Sie eine Abfrage definiert haben, können Sie zusammen mit der Abfrage eine Reihe von Ergebnissen zurückgeben, indem Sie einen weiteren Internet API Monitor-Vorgang ausführen. GetQueryResults Bei der Ausführung von GetQueryResults geben Sie die Abfrage-ID für die von Ihnen definierte Abfrage zusammen mit dem Namen Ihres Monitors an. GetQueryResults ruft Daten für die angegebene Abfrage in einen Ergebnissatz ab.

Vergewissern Sie sich beim Ausführen einer Abfrage, dass die Ausführung der Abfrage abgeschlossen ist, bevor Sie GetQueryResults verwenden, um die Ergebnisse anzusehen. Mithilfe des GetQueryStatusAPIVorgangs können Sie feststellen, ob die Abfrage abgeschlossen wurde. Wenn der Status für die Abfrage SUCCEEDED ist, können Sie mit der Überprüfung der Ergebnisse fortfahren.

Wenn Ihre Abfrage abgeschlossen ist, können Sie die folgenden Informationen verwenden, um die Ergebnisse zu überprüfen. Jeder Abfragetyp, den Sie zum Erstellen einer Abfrage verwenden, enthält einen eindeutigen Satz von Datenfeldern aus den Protokolldateien, wie in der folgenden Liste beschrieben:

Messungen

Der Abfragetyp measurements gibt die folgenden Daten zurück:

timestamp, availability, performance, bytes_in, bytes_out, rtt_p50, rtt_p90, rtt_p95

Top-Standorte

Der Abfragetyp top locations gruppiert Daten nach Standort und stellt die über den Zeitraum gemittelten Daten bereit. Die zurückgegebenen Daten umfassen Folgendes:

aws_location, city, metro, subdivision, country, asn, availability, performance, bytes_in, bytes_out, current_fbl, best_ec2, best_ec2_region, best_cf_fbl

Beachten Sie, dass city, metro und subdivision nur zurückgegeben werden, wenn Sie diesen Standorttyp für das geo-Feld wählen. Je nach dem Standorttyp, den Sie angeben, werden die folgenden Standortfelder für geo zurückgegeben:

city = city, metro, subdivision, country metro = metro, subdivision, country subdivision = subdivision, country country = country
Top-Standort-Details

Der Abfragetyp top locations details gibt Daten nach Stunden gruppiert zurück. Die Abfrage gibt die folgenden Daten zurück:

timestamp, current_service, current_fbl, best_ec2_fbl, best_ec2_region, best_cf_fbl

Allgemeine Vorschläge für den Verkehr

Der Abfragetyp overall traffic suggestions gibt Daten nach Stunden gruppiert zurück. Die Abfrage gibt die folgenden Daten zurück:

current_aws_location, proposed_aws_location, average_fbl, traffic, optimized_traffic_excluding_cf, optimized_traffic_including_cf

Allgemeine Einzelheiten zu den Verkehrsvorschlägen

Der Abfragetyp overall traffic suggestions details gibt Daten nach Stunden gruppiert zurück. Die Abfrage gibt die folgenden Daten zurück:

aws_location, city, metro, subdivision, country, asn, traffic, current_aws_location, fbl_data

Routenvorschläge

Der Abfragetyp routing suggestions gibt Daten nach Stunden gruppiert zurück. Die Abfrage gibt die folgenden Daten zurück:

dns_resolver_ip, dns_resolver_asn, dns_resolver_isp, ipv4_prefixes, current_aws_location, current_latency, proposed_aws_location, proposed_latency

Wenn Sie den GetQueryResults API Vorgang ausführen, gibt Internet Monitor in der Antwort Folgendes zurück:

  • Ein Datenzeichenfolge-Array, das die Ergebnisse enthält, die die Abfrage zurückgibt. Die Informationen werden in Arrays zurückgegeben, die auf das Fields Feld ausgerichtet sind, das auch beim API Aufruf zurückgegeben wird. Mithilfe des Fields-Felds können Sie die Informationen aus dem Data-Repository analysieren und sie dann für Ihre Zwecke weiter filtern oder sortieren.

  • Ein Array von Feldern, das die Felder auflistet, für die die Abfrage Daten zurückgegeben hat (in der Data-Feldantwort). Jedes Element im Array ist ein Name-Datentyp-Paar, z. B. availability_score-float.

Fehlerbehebung

Wenn bei der Verwendung von API Abfrageschnittstellenoperationen Fehler zurückgegeben werden, stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen für die Verwendung von Amazon CloudWatch Internet Monitor verfügen. Stellen Sie insbesondere sicher, dass Sie über die folgenden Berechtigungen verfügen:

internetmonitor:StartQuery internetmonitor:GetQueryStatus internetmonitor:GetQueryResults internetmonitor:StopQuery

Diese Berechtigungen sind in der empfohlenen AWS Identity and Access Management Richtlinie für die Verwendung des Internet Monitor-Dashboards in der Konsole enthalten. Weitere Informationen finden Sie unter AWS verwaltete Richtlinien für Amazon CloudWatch Internet Monitor.