

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 von Amazon Athena, um Internetmessungen in Amazon-S3-Protokolldateien abzufragen
<a name="CloudWatch-IM-view-cw-tools.S3_athena"></a>

Sie können Amazon Athena verwenden, um die Internetmessungen abzufragen und anzuzeigen, die Internet Monitor in einem Amazon-S3-Bucket veröffentlicht. 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 ASNs in der Regel Internetdienstanbieter 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](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), 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
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-queries"></a>

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](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), um Informationen über Ihre Messungen zu erhalten.

**So erstellen Sie eine Athena-Tabelle**

1. Öffnen Sie die Athena-Konsole unter [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. 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');
   ```

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}}';
   ```

1. Klicken Sie auf **Ausführen**.

**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
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries"></a>

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](https://docs.aws.amazon.com/athena/latest/ug/).