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 Amazon Athena, um Internet-Messungen in Amazon S3 S3-Protokolldateien abzufragen
Sie können Amazon Athena verwenden, um die Internet-Messwerte, die Internet Monitor in einem Amazon S3 S3-Bucket veröffentlicht, abzufragen und anzuzeigen. Internet Monitor bietet die Möglichkeit, Internet-Messwerte für Ihre Anwendung in einem S3-Bucket für den mit dem Internet verbundenen Datenverkehr für Ihre überwachten Stadtnetzwerke (Kundenstandorte und in der Regel Internetdienstanbieter ASNs oder) zu veröffentlichen. ISPs Unabhängig davon, ob Sie Messungen auf S3 veröffentlichen, veröffentlicht Internet Monitor automatisch alle fünf Minuten Internet-Messungen in CloudWatch Logs für die 500 größten Stadtnetzwerke (nach Verkehrsaufkommen) für jeden Monitor.
In diesem Kapitel erfahren Sie, wie Sie in Athena eine Tabelle für Internetmessungen in einer S3-Protokolldatei erstellen. Anschließend finden Sie Beispielabfragen, um verschiedene Ansichten der Messungen zu sehen. Sie können beispielsweise nach Ihren 10 am stärksten betroffenen Stadtnetze nach Latenzauswirkungen abfragen.
Verwenden von Amazon Athena zum Erstellen einer Tabelle für Internetmessungen in Internet Monitor
Um Athena mit Ihren S3-Protokolldateien von Internet Monitor zu verwenden, erstellen Sie zunächst eine Tabelle für die Internetmessungen.
Folgen Sie den Schritten in diesem Verfahren, um eine Tabelle in Athena auf der Grundlage der S3-Protokolldateien zu erstellen. Anschließend können Sie Athena-Abfragen für die Tabelle ausführen, z. B. diese Beispielabfragen für Internetmessungen, um Informationen über Ihre Messungen zu erhalten.
So erstellen Sie eine Athena-Tabelle
Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/
. Geben Sie im Athena-Abfrage-Editor eine Abfrageanweisung ein, um eine Tabelle mit Internetmessungen von Internet Monitor zu erstellen. Ersetzen Sie den Wert für den Parameter LOCATION durch den Speicherort des S3-Buckets, in dem Ihre Internetmessungen von Internet Monitor gespeichert sind.
CREATE EXTERNAL TABLE internet_measurements ( version INT, timestamp INT, clientlocation STRING, servicelocation STRING, percentageoftotaltraffic DOUBLE, bytesin INT, bytesout INT, clientconnectioncount INT, internethealth STRING, trafficinsights STRING ) PARTITIONED BY (year STRING, month STRING, day STRING) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://
amzn-s3-demo-bucket
/bucket_prefix
/AWSLogs/account_id
/internetmonitor/AWS_Region
/' TBLPROPERTIES ('skip.header.line.count' = '1');Geben Sie eine Anweisung ein, um eine Partition zum Lesen der Daten zu erstellen. Die folgende Abfrage erstellt zum Beispiel eine einzelne Partition für ein bestimmtes Datum und einen bestimmten Ort:
ALTER TABLE internet_measurements ADD PARTITION (year = 'YYYY', month = 'MM', day = 'dd') LOCATION 's3://
amzn-s3-demo-bucket
/bucket_prefix
/AWSLogs/account_id
/internetmonitor/AWS_Region
/YYYY/MM/DD
';Wählen Sie Ausführen aus.
Athena-Beispielanweisungen für Internetmessungen
Im Folgenden finden Sie ein Beispiel für eine Anweisung zur Erstellung einer Tabelle:
CREATE EXTERNAL TABLE internet_measurements ( version INT, timestamp INT, clientlocation STRING, servicelocation STRING, percentageoftotaltraffic DOUBLE, bytesin INT, bytesout INT, clientconnectioncount INT, internethealth STRING, trafficinsights STRING ) PARTITIONED BY (year STRING, month STRING, day STRING) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/' TBLPROPERTIES ('skip.header.line.count' = '1');
Im Folgenden finden Sie ein Beispiel für eine Anweisung zum Erstellen einer Partition zum Lesen der Daten:
ALTER TABLE internet_measurements ADD PARTITION (year = '2023', month = '04', day = '07') LOCATION 's3://internet-measurements/TestMonitor/AWSLogs/1111222233332/internetmonitor/us-east-2/2023/04/07/'
Beispiele für Amazon-Athena-Abfragen zur Verwendung mit Internetmessungen in Internet Monitor
Dieser Abschnitt enthält Beispielabfragen, die Sie mit Amazon Athena verwenden können, um Informationen über die in Amazon S3 veröffentlichten Internetmessungen Ihrer Anwendung zu erhalten.
Fragen Sie die Standorte Ihrer 10 Kunden ab, die am häufigsten betroffen sind (nach Gesamtanteil des Traffics) und ASNs
Führen Sie diese Athena-Abfrage aus, um Ihre 10 am stärksten betroffenen Stadtnetzwerke (nach Gesamtanteil des Datenverkehrs) zurückzugeben, d. h. Kundenstandorte und ASNs in der Regel Internetdienstanbieter.
SELECT json_extract_scalar(clientLocation, '$.city') as city, json_extract_scalar(clientLocation, '$.networkname') as networkName, sum(percentageoftotaltraffic) as percentageoftotaltraffic FROM internet_measurements GROUP BY json_extract_scalar(clientLocation, '$.city'), json_extract_scalar(clientLocation, '$.networkname') ORDER BY percentageoftotaltraffic desc limit 10
Fragen Sie Ihre 10 (nach Verfügbarkeit) am häufigsten betroffenen Kundenstandorte ab und ASNs
Führen Sie diese Athena-Abfrage aus, um Ihre 10 am stärksten betroffenen Stadtnetzwerke (nach Gesamtanteil des Datenverkehrs) zurückzugeben, d. h. Kundenstandorte und ASNs in der Regel Internetdienstanbieter.
SELECT json_extract_scalar(clientLocation, '$.city') as city, json_extract_scalar(clientLocation, '$.networkname') as networkName, sum( cast( json_extract_scalar( internetHealth, '$.availability.percentageoftotaltrafficimpacted' ) as double ) ) as percentageOfTotalTrafficImpacted FROM internet_measurements GROUP BY json_extract_scalar(clientLocation, '$.city'), json_extract_scalar(clientLocation, '$.networkname') ORDER BY percentageOfTotalTrafficImpacted desc limit 10
Fragen Sie Ihre 10 (nach Latenz) am stärksten betroffenen Kundenstandorte ab und ASNs
Führen Sie diese Athena-Abfrage aus, um Ihre 10 (nach Latenzauswirkungen) am stärksten betroffenen Stadtnetzwerke zurückzugeben, d. h. Kundenstandorte und ASNs in der Regel Internetdienstanbieter.
SELECT json_extract_scalar(clientLocation, '$.city') as city, json_extract_scalar(clientLocation, '$.networkname') as networkName, sum( cast( json_extract_scalar( internetHealth, '$.performance.percentageoftotaltrafficimpacted' ) as double ) ) as percentageOfTotalTrafficImpacted FROM internet_measurements GROUP BY json_extract_scalar(clientLocation, '$.city'), json_extract_scalar(clientLocation, '$.networkname') ORDER BY percentageOfTotalTrafficImpacted desc limit 10
Fragen Sie die wichtigsten Verkehrsdaten für Ihre Kundenstandorte ab und ASNs
Führen Sie diese Athena-Abfrage aus, um Verkehrshighlights wie Verfügbarkeitsbewertung, Leistungsbewertung und Zeit bis zum ersten Byte für Ihre Stadtnetzwerke, d. h. Kundenstandorte und in der Regel Internetdienstanbieter ASNs, zurückzugeben.
SELECT json_extract_scalar(clientLocation, '$.city') as city, json_extract_scalar(clientLocation, '$.subdivision') as subdivision, json_extract_scalar(clientLocation, '$.country') as country, avg(cast(json_extract_scalar(internetHealth, '$.availability.experiencescore') as double)) as availabilityScore, avg(cast(json_extract_scalar(internetHealth, '$.performance.experiencescore') as double)) performanceScore, avg(cast(json_extract_scalar(trafficinsights, '$.timetofirstbyte.currentexperience.value') as double)) as averageTTFB, sum(bytesIn) as bytesIn, sum(bytesOut) as bytesOut, sum(bytesIn + bytesOut) as totalBytes FROM internet_measurements where json_extract_scalar(clientLocation, '$.city') != 'N/A' GROUP BY json_extract_scalar(clientLocation, '$.city'), json_extract_scalar(clientLocation, '$.subdivision'), json_extract_scalar(clientLocation, '$.country') ORDER BY totalBytes desc limit 100
Weitere Informationen zur Verwendung von Athena finden Sie im Amazon Athena-Benutzerhandbuch.