

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menjelajahi data Anda dengan CloudWatch alat dan antarmuka kueri Internet Monitor
<a name="CloudWatch-IM-view-cw-tools"></a>

Selain memvisualisasikan kinerja dan ketersediaan aplikasi Anda dengan dasbor Internet Monitor, ada beberapa metode yang dapat Anda gunakan untuk menyelam lebih dalam ke data yang dihasilkan Internet Monitor untuk Anda. Metode ini termasuk menggunakan CloudWatch alat dengan data Monitor Internet yang disimpan dalam file CloudWatch Log dan menggunakan antarmuka kueri Internet Monitor. Alat yang dapat Anda gunakan termasuk Wawasan CloudWatch Log, CloudWatch Metrik, Wawasan CloudWatch Kontributor, dan Amazon Athena. Anda dapat menggunakan beberapa atau semua alat ini, beserta dasbornya, untuk menjelajahi data Monitor Internet, tergantung pada kebutuhan Anda. 

Internet Monitor menggabungkan CloudWatch metrik tentang lalu lintas ke aplikasi Anda dan masing-masing Wilayah AWS, dan mencakup data seperti dampak lalu lintas total, ketersediaan, dan waktu pulang pergi. Data ini dipublikasikan ke CloudWatch Log dan juga tersedia untuk digunakan dengan antarmuka query Internet Monitor. Detail tentang geo-pedetail wilayah dan aspek lain dari informasi yang tersedia untuk dijelajahi masing-masing bervariasi.

Internet Monitor menerbitkan data untuk monitor Anda pada interval 5 menit, dan kemudian membuat data tersedia dalam beberapa cara. Tabel berikut mencantumkan skenario untuk mengakses data Monitor Internet, dan menjelaskan fitur data yang dikumpulkan untuk masing-masing data.


****  

| Fitur | CloudWatch Log | Ekspor ke S3 | Antarmuka kueri | CloudWatch dasbor | 
| --- | --- | --- | --- | --- | 
| Diaktifkan secara default | Ya | Tidak | Ya | Ya | 
| Jumlah jaringan kota tempat data dikumpulkan | 500 Teratas (lihat catatan di bawah) | Semua | Semua | Semua | 
| Retensi data | Pengguna terkendali | Pengguna terkendali | 30 hari | 30 hari | 
| Geo-pedetail wilayah tempat data dikumpulkan | Semua (jaringan kota, jaringan metro\$1, jaringan daerah\$1, jaringan negara\$1) | Jaringan kota | Semua (jaringan kota, jaringan metro\$1, jaringan daerah\$1, jaringan negara\$1) | Semua (jaringan kota, jaringan metro\$1, jaringan daerah\$1, jaringan negara\$1) | 
| Cara menjalankan kueri dan memfilter data | [Gunakan Wawasan CloudWatch Log untuk menjelajahi pengukuran Monitor Internet](CloudWatch-IM-view-cw-tools-logs-insights.md) | [Gunakan Amazon Athena untuk menanyakan pengukuran internet di file log Amazon S3](CloudWatch-IM-view-cw-tools.S3_athena.md) | [Gunakan antarmuka kueri Internet Monitor](CloudWatch-IM-view-cw-tools-cwim-query.md) | [Pantau dan optimalkan dengan dasbor Monitor Internet](CloudWatch-IM-monitor-and-optimize.md) | 

Catatan: 500 pengukuran teratas diambil untuk jaringan kota; 250 teratas untuk jaringan metro\$1, 100 teratas untuk jaringan daerah\$1, 50 teratas untuk jaringan negara\$1).

Bab ini menjelaskan cara menanyakan dan menjelajahi data Anda dengan menggunakan CloudWatch alat atau antarmuka kueri Internet Monitor, bersama dengan contoh untuk setiap metode. 

**Topics**
+ [CloudWatch Wawasan Log](CloudWatch-IM-view-cw-tools-logs-insights.md)
+ [CloudWatch Wawasan Kontributor](CloudWatch-IM-view-cw-tools-contributor-insights.md)
+ [CloudWatch Metrik](CloudWatch-IM-view-cw-tools-metrics-dashboard.md)
+ [Athena dengan log S3](CloudWatch-IM-view-cw-tools.S3_athena.md)
+ [Antarmuka kueri pada Monitor Internet](CloudWatch-IM-view-cw-tools-cwim-query.md)

# Gunakan Wawasan CloudWatch Log untuk menjelajahi pengukuran Monitor Internet
<a name="CloudWatch-IM-view-cw-tools-logs-insights"></a>

Anda dapat menggunakan kueri Wawasan CloudWatch Log untuk memfilter subset log untuk kota atau geografi tertentu (lokasi klien), ASN klien (ISP), dan lokasi sumber. AWS Internet Monitor menerbitkan pengukuran terperinci ketersediaan dan waktu pulang-pergi ke Log yang dapat Anda jelajahi menggunakan Wawasan CloudWatch Log. CloudWatch 

Untuk mempelajari lebih lanjut tentang keakurasian lokasi klien di Monitor Internet, silakan lihat [Informasi dan akurasi geolokasi di Monitor Internet](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

Contoh di bagian ini dapat membantu Anda membuat kueri Wawasan CloudWatch Log untuk mempelajari lebih lanjut tentang pengukuran dan metrik lalu lintas aplikasi Anda sendiri. Jika Anda menggunakan contoh ini di Wawasan CloudWatch Log, ganti *monitorName* dengan nama monitor Anda sendiri.

**Lihat saran optimisasi lalu lintas** 

Pada tab **Wawasan lalu lintas** di Monitor Internet, Anda dapat melihat saran optimisasi lalu lintas, yang difilter berdasarkan lokasi. Untuk melihat informasi yang sama yang ditampilkan di bagian **Saran pengoptimalan lalu lintas** pada tab itu, tetapi tanpa filter granularitas lokasi, Anda dapat menggunakan kueri Wawasan CloudWatch Log berikut. 

1. Di Konsol Manajemen AWS, navigasikan ke Wawasan CloudWatch Log.

1. Untuk **Grup Log**, pilih `/aws/internet-monitor/monitorName/byCity` dan`/aws/internet-monitor/monitorName/byCountry`, lalu tentukan rentang waktu. 

1. Tambahkan kueri berikut, dan kemudian jalankan kueri. 

```
fields @timestamp, 
clientLocation.city as @city, clientLocation.subdivision as @subdivision, clientLocation.country as @country,
`trafficInsights.timeToFirstByte.currentExperience.serviceName` as @serviceNameField,
concat(@serviceNameField, ` (`, `serviceLocation`, `)`) as @currentExperienceField,
concat(`trafficInsights.timeToFirstByte.ec2.serviceName`, ` (`, `trafficInsights.timeToFirstByte.ec2.serviceLocation`, `)`) as @ec2Field,
`trafficInsights.timeToFirstByte.cloudfront.serviceName` as @cloudfrontField,
concat(`clientLocation.networkName`, ` (AS`, `clientLocation.asn`, `)`) as @networkName
| filter ispresent(`trafficInsights.timeToFirstByte.currentExperience.value`)
| stats avg(`trafficInsights.timeToFirstByte.currentExperience.value`) as @averageTTFB,
avg(`trafficInsights.timeToFirstByte.ec2.value`) as @ec2TTFB,
avg(`trafficInsights.timeToFirstByte.cloudfront.value`) as @cloudfrontTTFB,
sum(`bytesIn` + `bytesOut`) as @totalBytes,
latest(@ec2Field) as @ec2,
latest(@currentExperienceField) as @currentExperience,
latest(@cloudfrontField) as @cloudfront,
count(*) by @networkName, @city, @subdivision, @country
| display @city, @subdivision, @country, @networkName, @totalBytes, @currentExperience, @averageTTFB, @ec2, @ec2TTFB, @cloudfront, @cloudfrontTTFB
| sort @totalBytes desc
```

**Lihat ketersediaan internet dan RTT (p50, p90, dan p95)** 

Untuk melihat ketersediaan internet dan waktu pulang-pergi (p50, p90, dan p95) untuk lalu lintas, Anda dapat menggunakan kueri Wawasan Log berikut. CloudWatch 

**Geografi pengguna akhir:** Chicago, IL, Amerika Serikat

**Jaringan pengguna akhir (ASN):** AS7018 

**AWS lokasi layanan:** Wilayah AS Timur (Virginia N.)

Untuk melihat log, lakukan hal berikut:

1. Di Konsol Manajemen AWS, navigasikan ke Wawasan CloudWatch Log.

1. Untuk **Grup Log**, pilih `/aws/internet-monitor/monitorName/byCity` dan`/aws/internet-monitor/monitorName/byCountry`, lalu tentukan rentang waktu. 

1. Tambahkan kueri berikut, dan kemudian jalankan kueri. 

Kueri mengembalikan semua data kinerja untuk pengguna yang terhubung dari AS7018 Chicago, IL menuju Wilayah AS Timur (Virginia N.) selama periode waktu yang dipilih.

```
fields @timestamp, 
internetHealth.availability.experienceScore as availabilityExperienceScore, 
internetHealth.availability.percentageOfTotalTrafficImpacted as percentageOfTotalTrafficImpacted,
internetHealth.performance.experienceScore as performanceExperienceScore,
internetHealth.performance.roundTripTime.p50 as roundTripTimep50, 
internetHealth.performance.roundTripTime.p90 as roundTripTimep90, 
internetHealth.performance.roundTripTime.p95 as roundTripTimep95
 | filter clientLocation.country == `United States` 
 and clientLocation.city == `Chicago` 
 and serviceLocation == `us-east-1` 
 and clientLocation.asn == 7018
```

Untuk informasi selengkapnya, lihat [Menganalisis data CloudWatch log dengan Wawasan Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

# Gunakan Contributor Insights untuk mengidentifikasi lokasi teratas dan ISPs
<a name="CloudWatch-IM-view-cw-tools-contributor-insights"></a>

CloudWatch Contributor Insights dapat membantu Anda mengidentifikasi lokasi klien teratas dan ASNs (biasanya, penyedia layanan internet atau ISPs) untuk aplikasi Anda AWS . Gunakan contoh aturan Contributor Insights berikut untuk memulai aturan yang berguna dengan Internet Monitor. Untuk informasi selengkapnya, lihat [Membuat aturan Contributor Insights di CloudWatch](ContributorInsights-CreateRule.md).

Untuk mempelajari lebih lanjut tentang keakurasian lokasi klien di Monitor Internet, silakan lihat [Informasi dan akurasi geolokasi di Monitor Internet](CloudWatch-IM-inside-internet-monitor.md#IMGeolocationSourceAccuracy).

**catatan**  
Internet Monitor menyimpan data pengukuran internet setiap lima menit, jadi setelah Anda mengatur aturan Contributor Insights, Anda harus menyesuaikan periode menjadi lima menit untuk melihat grafik.

**Lihat lokasi teratas dan ASNs dipengaruhi oleh dampak ketersediaan**

Untuk melihat lokasi klien teratas dan ASNs dipengaruhi oleh penurunan ketersediaan, Anda dapat menggunakan aturan Contributor Insights berikut di editor Sintaks. Ganti *monitor-name* dengan nama monitor Anda sendiri.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.availability.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Lihat lokasi klien teratas dan ASNs dipengaruhi oleh dampak latensi**

Untuk melihat lokasi klien teratas dan ASNs dipengaruhi oleh peningkatan waktu pulang pergi (latensi), Anda dapat menggunakan aturan Contributor Insights berikut di editor Sintaks. Ganti *monitor-name* dengan nama monitor Anda sendiri.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.awsInternetHealth.performance.percentageOfTotalTrafficImpacted"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

**Lihat lokasi klien teratas dan ASNs dipengaruhi oleh persentase total lalu lintas**

Untuk melihat lokasi klien teratas dan ASNs dipengaruhi oleh persentase total lalu lintas, Anda dapat menggunakan aturan Wawasan Kontributor berikut di editor Sintaks. Ganti *monitor-name* dengan nama monitor Anda sendiri.

```
{
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "AggregateOn": "Sum",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.clientLocation.city",
                "IsPresent": true
            }
        ],
        "Keys": [
            "$.clientLocation.city",
            "$.clientLocation.networkName"
        ],
        "ValueOf": "$.percentageOfTotalTraffic"
    },
    "LogFormat": "JSON",
    "LogGroupNames": [
        "/aws/internet-monitor/monitor-name/byCity"
    ]
}
```

# Lihat metrik Internet Monitor atau setel alarm di Metrik CloudWatch
<a name="CloudWatch-IM-view-cw-tools-metrics-dashboard"></a>

Anda dapat melihat atau menyetel alarm pada metrik Monitor Internet dengan menggunakan CloudWatch alarm dan CloudWatch Metrik di konsol. CloudWatch Internet Monitor menerbitkan metrik ke akun Anda, termasuk metrik untuk kinerja, ketersediaan, waktu pulang pergi, dan throughput (byte per detik). Untuk menemukan semua metrik untuk monitor Anda, di dasbor CloudWatch Metrik, lihat namespace khusus. `AWS/InternetMonitor` 

Untuk melihat contoh penggunaan beberapa metrik ini guna membantu menentukan nilai yang akan dipilih untuk batas maksimum jaringan kota untuk monitor Anda, lihat [Memilih nilai maksimum jaringan kota](IMCityNetworksMaximum.md). Untuk mempelajari selengkapnya tentang pengaturan alarm untuk Internet Monitor, lihat[Buat alarm dengan Internet Monitor](CloudWatch-IM-create-alarm.md).

Metrik dikumpulkan di semua lalu lintas internet ke Anda VPCs, Network Load Balancers, CloudFront distribusi, atau WorkSpaces direktori di monitor, dan ke semua lalu lintas ke masing-masing Wilayah AWS dan lokasi tepi internet yang dipantau. Wilayah ditentukan oleh lokasi layanan, yang dapat berupa semua lokasi atau Wilayah tertentu, seperti `us-east-1`. 

Catatan: *jaringan kota* adalah pasangan lokasi klien dan klien menggunakan (biasanya penyedia layanan internet atau ISPs). ASNs 

Monitor Internet menyediakan metrik berikut.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-view-cw-tools-metrics-dashboard.html)

Untuk informasi selengkapnya, lihat [Metrik di Amazon CloudWatch](working_with_metrics.md).

# Gunakan Amazon Athena untuk menanyakan pengukuran internet di file log Amazon S3
<a name="CloudWatch-IM-view-cw-tools.S3_athena"></a>

Anda dapat menggunakan Amazon Athena untuk menanyakan dan melihat pengukuran internet yang dipublikasikan Internet Monitor ke bucket Amazon S3. Ada opsi di Internet Monitor untuk mempublikasikan pengukuran internet untuk aplikasi Anda ke bucket S3 untuk lalu lintas yang menghadap ke internet untuk jaringan kota yang dipantau (lokasi klien dan ASNs, biasanya penyedia layanan internet atau). ISPs Terlepas dari apakah Anda memilih untuk mempublikasikan pengukuran ke S3, Internet Monitor secara otomatis menerbitkan pengukuran internet ke CloudWatch Log setiap lima menit untuk 500 jaringan kota teratas (berdasarkan volume lalu lintas) untuk setiap monitor. 

Bab ini mencakup langkah-langkah cara membuat tabel di Athena untuk pengukuran internet yang terletak di berkas log S3, dan kemudian memberikan [contoh kueri](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries) untuk melihat tampilan pengukuran yang berbeda. Misalnya, Anda dapat menjalankan kueri untuk 10 jaringan kota teratas yang terdampak berdasarkan dampak latensi. 

## Menggunakan Amazon Athena untuk membuat tabel untuk pengukuran internet di Monitor Internet
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-queries"></a>

Untuk mulai menggunakan Athena dengan berkas log S3 Monitor Internet Anda, pertama-tama buatlah tabel untuk pengukuran internet.

Ikuti langkah-langkah dalam prosedur ini untuk membuat tabel di Athena berdasarkan berkas log S3. Kemudian, Anda dapat menjalankan kueri Athena di sebuah tabel, misalnya [contoh kueri pengukuran internet ini](#CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries), untuk mendapatkan informasi tentang pengukuran Anda.

**Untuk membuat tabel Athena**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Di editor kueri Athena, masukkan pernyataan kueri untuk menghasilkan tabel dengan pengukuran internet di Monitor Internet. Ganti nilai untuk parameter LOCATION dengan lokasi bucket S3 tempat pengukuran internet disimpan di Monitor Internet Anda. 

   ```
   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. Masukkan sebuah pernyataan untuk membuat partisi untuk membaca data. Misalnya, kueri berikut menciptakan partisi tunggal untuk tanggal dan lokasi yang ditentukan:

   ```
   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. Pilih **Jalankan**.

**Contoh pernyataan Athena untuk pengukuran internet** 

Berikut ini adalah contoh dari pernyataan untuk menghasilkan tabel:

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

Berikut ini adalah contoh dari pernyataan untuk membuat partisi untuk membaca data:

```
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/'
```

## Contoh kueri Amazon Athena untuk digunakan dengan pengukuran internet di Internet Monitor
<a name="CloudWatch-IM-view-cw-tools.S3_athena.athena-sample-queries"></a>

Bagian ini mencakup contoh kueri yang bisa digunakan di Amazon Athena untuk mendapatkan informasi tentang pengukuran internet aplikasi Anda yang dipublikasikan di Amazon S3.

**Kueri 10 teratas Anda yang terkena dampak (berdasarkan persentase total lalu lintas) lokasi klien dan ASNs**

Jalankan kueri Athena ini untuk mengembalikan 10 jaringan kota yang terkena dampak (berdasarkan persentase total lalu lintas) — yaitu, lokasi klien dan, biasanya penyedia layanan internet. ASNs 

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

**Kueri 10 lokasi klien teratas Anda yang terkena dampak (berdasarkan ketersediaan) dan ASNs **

Jalankan kueri Athena ini untuk mengembalikan 10 jaringan kota yang terkena dampak (berdasarkan persentase total lalu lintas) — yaitu, lokasi klien dan, biasanya penyedia layanan internet. ASNs 

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

**Kueri 10 lokasi klien teratas Anda yang terkena dampak (berdasarkan latensi) dan ASNs **

Jalankan kueri Athena ini untuk mengembalikan 10 jaringan kota yang terkena dampak (oleh dampak latensi) teratas Anda—yaitu, lokasi klien dan, biasanya penyedia layanan internet. ASNs 

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

**Sorotan lalu lintas kueri untuk lokasi klien Anda dan ASNs **

Jalankan kueri Athena ini untuk menampilkan sorotan lalu lintas, termasuk skor ketersediaan, skor kinerja, dan waktu ke byte pertama untuk jaringan kota Anda—yaitu, lokasi klien dan ASNs, biasanya penyedia layanan internet.

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

Untuk informasi selengkapnya tentang cara menggunakan Athena, lihat [Panduan Pengguna Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/).

# Gunakan antarmuka kueri Internet Monitor
<a name="CloudWatch-IM-view-cw-tools-cwim-query"></a>

Opsi untuk memahami lebih lanjut tentang lalu lintas internet untuk AWS aplikasi Anda adalah dengan menggunakan *antarmuka kueri* Internet Monitor. Untuk menggunakan antarmuka kueri, buatlah sebuah kueri dengan filter data yang Anda pilih, lalu jalankan kueri untuk menampilkan subset data Monitor Internet Anda. Menjelajahi data yang ditampilkan kueri akan memberikan Anda wawasan tentang bagaimana aplikasi Anda berjalan di internet.

Anda dapat menjalankan kueri dan menjelajahi semua metrik yang ditangkap Monitor Internet dengan monitor Anda, termasuk skor ketersediaan dan skor performa, byte tertransfer, tempo pulang pergi, dan waktu untuk mendapat byte pertama (TTFB). 

Monitor Internet menggunakan antarmuka kueri untuk menyediakan data yang dapat Anda jelajahi di dasbor konsol Monitor Internet. Dengan menggunakan opsi penelusuran di dasbor — pada halaman **Analisis** atau halaman **Optimalkan** — Anda dapat melakukan kueri dan memfilter data internet untuk aplikasi Anda.

Jika Anda ingin lebih banyak fleksibilitas untuk menjelajahi dan memfilter data Anda daripada yang disediakan dasbor, Anda dapat menggunakan antarmuka kueri sendiri, dengan menggunakan operasi Internet Monitor API dengan AWS Command Line Interface atau dengan AWS SDK. Bagian ini memperkenalkan jenis-jenis kueri yang dapat Anda gunakan dengan antarmuka kueri, dan filter yang dapat Anda tentukan untuk membuat satu subset data, untuk mendapatkan wawasan tentang lalu lintas internet untuk aplikasi Anda.

**Topics**
+ [Cara menggunakan antarmuka kueri](#CloudWatch-IM-view-cw-tools-cwim-query-use-query)
+ [Contoh kueri](#CloudWatch-IM-view-cw-tools-cwim-query-example-queries)
+ [Mendapatkan hasil kueri](#CloudWatch-IM-view-cw-tools-cwim-query-get-data)
+ [Pemecahan masalah](#CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting)

## Cara menggunakan antarmuka kueri
<a name="CloudWatch-IM-view-cw-tools-cwim-query-use-query"></a>

Buatlah sebuah kueri dengan antarmuka kueri dengan memilih *jenis kueri*, kemudian tentukan nilai-nilai filter, untuk menampilkan subset tertentu yang diinginkan atas data berkas log Anda. Kemudian, Anda dapat mengerjakan subset data tersebut untuk memfilter dan mengurutkan lebih lanjut, membuat laporan, dan sebagainya.

Proses kueri bekerja seperti ini:

1. Saat Anda menjalankan sebuah kueri, Monitor Internet menampilkan `query ID` yang unik untuk kueri. Bagian ini menjelaskan jenis-jenis kueri yang tersedia, dan opsi untuk memfilter data dalam kueri. Untuk memahami cara kerjanya, Anda juga dapat meninjau bagian [contoh kueri](#IMQueryInterfaceExamples). 

1. Anda menentukan ID kueri dengan nama monitor Anda dengan operasi [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API untuk mengembalikan hasil data kueri. Setiap jenis query menampilkan satu set bidang data yang berbeda. Untuk mempelajari selengkapnya, silakan lihat [Mendapatkan hasil kueri](#IMGetQueryData).

Antarmuka query menyediakan jenis query berikut. Setiap jenis kueri menampilkan sekumpulan informasi yang berbeda tentang lalu lintas Anda dari berkas log, sebagaimana yang ditunjukkan.
+ **Pengukuran:** Memberikan skor ketersediaan, skor kinerja, total lalu lintas, dan waktu pulang pergi, dengan interval 5 menit.
+ **Lokasi teratas:** Memberikan skor ketersediaan, skor kinerja, lalu lintas total, dan informasi time to first byte (TTFB), untuk lokasi teratas dan kombinasi ASN yang Anda pantau, berdasarkan volume lalu lintas.
+ **Detail lokasi teratas:** Menyediakan TTFB untuk Amazon CloudFront, konfigurasi Anda saat ini, dan konfigurasi Amazon EC2 berkinerja terbaik, dengan interval 1 jam.
+ **Saran lalu lintas keseluruhan:** Menyediakan TTFB, menggunakan rata-rata tertimbang 30 hari, untuk semua lalu lintas di setiap AWS lokasi yang dipantau.
+ **Rincian saran lalu lintas keseluruhan:** Menyediakan TTFB, menggunakan rata-rata tertimbang 30 hari, untuk setiap lokasi teratas, untuk lokasi yang diusulkan. AWS 
+ **Saran perutean:** Memberikan prediksi waktu pulang pergi rata-rata (RTT) dari awalan IP menuju AWS lokasi untuk resolver DNS. RTT dihitung pada interval satu jam, selama periode satu jam.

Anda dapat memfilter data lebih banyak dengan menggunakan kriteria tertentu. Dengan sebagian besar jenis kueri, kecuali saran perutean, Anda dapat memfilter dengan menentukan satu atau beberapa kriteria berikut:
+ **AWS lokasi:** Untuk AWS lokasi, Anda dapat menentukan CloudFront atau Wilayah AWS, seperti`us-east-2`.
+ **ASN:** Tentukan nomor sistem otonom (ASN) dari resolver DNS (biasanya, ISP), misalnya, 4225.
+ **Lokasi klien:** Untuk lokasi, tentukan sebuah kota, metro, subdivisi, atau negara.
+ ** AWS Lokasi yang diusulkan:** Tentukan Wilayah AWS, seperti`us-east-2`, atau Zona AWS Lokal. Anda dapat menggunakan filter ini dengan jenis kueri detail saran lalu lintas keseluruhan.
+ **Geo:** Tentukan `geo` untuk beberapa kueri. Ini diperlukan untuk kueri-kueri yang menggunakan jenis kueri `Top locations`, tetapi tidak diizinkan untuk jenis kueri lainnya. Untuk memahami kapan harus menentukan `geo` parameter filter, silakan lihat bagian [contoh kueri](#IMQueryInterfaceExamples).

Untuk jenis kueri saran perutean, Anda dapat memfilter data lebih lanjut dengan menentukan satu atau beberapa kriteria berikut:
+ ** AWS Lokasi saat ini:** Tentukan Wilayah AWS, seperti`us-east-2`.
+ ** AWS Lokasi yang diusulkan:** Tentukan Wilayah AWS, seperti`us-east-2`, atau Zona AWS Lokal.
+ **IPv4 awalan:** Tentukan IPv4 awalan dalam format standar, mirip dengan. `192.0.2.0/24`
+ **Monitor ARN:** Tentukan ARN untuk monitor tertentu.
+ **DNS resolver IP:** Tentukan alamat IP dari DNS resolver.
+ **DNS resolver ISP:** Tentukan nama resolver DNS (biasanya ISP), misalnya,. `Cloudflare`
+ **DNS resolver ASN:** Tentukan nomor sistem otonom (ASN) dari resolver DNS, misalnya, 4225.

Operator yang dapat Anda gunakan untuk memfilter data Anda adalah `EQUALS` dan `NOT_EQUALS`. Untuk detail tentang memfilter parameter, lihat operasi [FilterParameter](https://docs.aws.amazon.com/internet-monitor/latest/api/API_FilterParameter.html)API.

Untuk melihat detail tentang operasi antarmuka kueri, lihat operasi API berikut di Panduan Referensi API Monitor Internet:
+ Untuk membuat dan menjalankan kueri, lihat operasi [StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)API. 
+ Untuk menghentikan kueri, lihat operasi [StopQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StopQuery.html)API. 
+ Untuk mengembalikan data kueri yang telah Anda buat, lihat operasi [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html)API. 
+ Untuk mengambil status kueri, lihat operasi [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. 

## Contoh kueri
<a name="CloudWatch-IM-view-cw-tools-cwim-query-example-queries"></a>

Untuk membuat kueri yang dapat Anda gunakan untuk mengambil kumpulan data yang difilter dari file log monitor, Anda menggunakan operasi [StartQuery](https://docs.aws.amazon.com/internet-monitor/latest/api/API_StartQuery.html)API. Tentukan jenis kueri dan parameter filter untuk kueri tersebut. Kemudian, ketika Anda menggunakan operasi API antarmuka kueri di Monitor Internet untuk mendapatkan hasil kueri setelah menggunakan kueri, maka Anda mendapatkan subset data yang ingin Anda kerjakan. 

Untuk mengilustrasikan cara kerja jenis kueri dan parameter filter, mari kita lihat beberapa contoh.

**Contoh 1**

Katakanlah Anda ingin mengambil semua data berkas log monitor Anda untuk negara tertentu, kecuali untuk satu kota. Contoh berikut ini menunjukkan parameter filter untuk kueri yang bisa Anda buat dengan operasi `StartQuery` untuk skenario ini.

```
{
   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"]
      },
    ]
}
```

**Contoh 2**

Contoh lainnya, katakanlah Anda ingin melihat lokasi teratas Anda berdasarkan area metropolitan. Anda dapat menggunakan contoh query berikut untuk skenario ini.

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

**Contoh 3**

Sekarang katakanlah Anda ingin melihat kombinasi jaringan kota teratas di area metro Los Angeles. Untuk melakukan hal itu, tentukan `geo=city`, kemudian atur `metro` ke Los Angeles. Sekarang kueri akan menampilkan jaringan kota teratas di area metro Los Angeles alih-alih jaringan metro teratas\$1 secara keseluruhan.

Berikut contoh kueri yang dapat Anda gunakan:

```
{
   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"]
      }
    ]
}
```

**Contoh 4**

Selanjutnya, katakanlah Anda ingin mengambil data TTFB untuk subdivisi tertentu (misalnya, negara bagian AS).

Berikut adalah contoh kueri untuk skenario ini.

```
{
   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"]
      },
    ]
}
```

**Contoh 5**

Sekarang, katakanlah Anda ingin mengambil data TTFB untuk setiap lokasi di mana aplikasi Anda memiliki lalu lintas klien.

Berikut adalah contoh kueri untuk skenario ini.

```
{
   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],
...
```

**Contoh 6**

Katakanlah Anda ingin mengambil data TTFB untuk data baru tertentu. Wilayah AWS

Berikut adalah contoh kueri untuk skenario ini.

```
{
   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]
```

**Contoh 7**

Contoh terakhir adalah mengambil data untuk resolver DNS tertentu.

Berikut adalah contoh kueri untuk skenario ini.

```
{
   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]
```

## Mendapatkan hasil kueri
<a name="CloudWatch-IM-view-cw-tools-cwim-query-get-data"></a>

Setelah menentukan kueri, Anda dapat mengembalikan serangkaian hasil dengan kueri dengan menjalankan operasi Internet Monitor API lainnya, [GetQueryResults](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryResults.html). Saat menjalankan `GetQueryResults`, tentukan ID kueri untuk kueri yang telah Anda tetapkan, bersama dengan nama monitor Anda. `GetQueryResults` akan mengambil data untuk kueri yang telah ditentukan ke dalam rangkaian hasil.

Saat Anda menjalankan sebuah kueri, pastikan kueri telah selesai berjalan sebelum Anda menggunakan `GetQueryResults` untuk melihat hasilnya. Anda dapat menentukan apakah kueri telah selesai dengan menggunakan operasi [GetQueryStatus](https://docs.aws.amazon.com/internet-monitor/latest/api/API_GetQueryStatus.html)API. Ketika `Status` atas kueri adalah `SUCCEEDED`, Anda dapat melanjutkan dengan meninjau hasilnya.

Saat kueri Anda selesai, Anda bisa menggunakan informasi berikut untuk membantu Anda meninjau hasilnya. Setiap jenis kueri yang Anda gunakan untuk membuat kueri harus menyertakan serangkaian bidang data yang unik dari berkas log, seperti yang dijelaskan dalam daftar berikut: 

**Pengukuran**  
Jenis kueri `measurements` menampilkan data berikut:  
`timestamp, availability, performance, bytes_in, bytes_out, rtt_p50, rtt_p90, rtt_p95`

**Lokasi teratas**  
Jenis kueri `top locations` mengelompokkan data berdasarkan lokasi, dan menyediakan data rata-rata selama periode waktu. Data yang ditampilkan termasuk hal-hal berikut:  
`aws_location, city, metro, subdivision, country, asn, availability, performance, bytes_in, bytes_out, current_fbl, best_ec2, best_ec2_region, best_cf_fbl`  
Perhatikan bahwa `city`, `metro`, dan `subdivision` hanya ditampilkan jika Anda memilih jenis lokasi untuk bidang `geo` tersebut. Bidang lokasi berikut ini ditampilkan, tergantung pada jenis lokasi yang Anda tentukan untuk `geo`:  

```
city = city, metro, subdivision, country
metro = metro, subdivision, country
subdivision = subdivision, country
country = country
```

**Detail lokasi teratas**  
Jenis kueri `top locations details` menampilkan data yang dikelompokkan jam demi jam. Kueri tersebut menampilkan data berikut:  
`timestamp, current_service, current_fbl, best_ec2_fbl, best_ec2_region, best_cf_fbl`

**Saran lalu lintas keseluruhan**  
Jenis kueri `overall traffic suggestions` menampilkan data yang dikelompokkan jam demi jam. Kueri tersebut menampilkan data berikut:  
`current_aws_location, proposed_aws_location, average_fbl, traffic, optimized_traffic_excluding_cf, optimized_traffic_including_cf`

**Rincian saran lalu lintas secara keseluruhan**  
Jenis kueri `overall traffic suggestions details` menampilkan data yang dikelompokkan jam demi jam. Kueri tersebut menampilkan data berikut:  
`aws_location, city, metro, subdivision, country, asn, traffic, current_aws_location, fbl_data`

**Saran perutean**  
Jenis kueri `routing suggestions` menampilkan data yang dikelompokkan jam demi jam. Kueri tersebut menampilkan data berikut:  
`dns_resolver_ip, dns_resolver_asn, dns_resolver_isp, ipv4_prefixes, current_aws_location, current_latency, proposed_aws_location, proposed_latency`

Saat Anda menjalankan operasi API `GetQueryResults`, Monitor Internet akan menampilkan respons sebagai berikut:
+ Sebuah *array string data* yang berisikan hasil yang kueri tampilkan. Informasi ditampilkan dalam array yang selaras dengan bidang `Fields`, juga ditampilkan oleh panggilan API. Dengan menggunakan bidang `Fields`, Anda dapat mengurai informasi dari repositori `Data` dan kemudian memfilter lebih lanjut atau mengurutkannya untuk tujuan Anda.
+ Sebuah *bidang array* terdiri dari bidang-bidang tempat kueri menampilkan data (pada respon bidang `Data`). Setiap item dalam array adalah pasangan nama-datatype, seperti `availability_score`-`float`. 

## Pemecahan masalah
<a name="CloudWatch-IM-view-cw-tools-cwim-query-troubleshooting"></a>

Jika kesalahan dikembalikan saat Anda menggunakan operasi API antarmuka kueri, verifikasi bahwa Anda memiliki izin yang diperlukan untuk menggunakan Internet Monitor. Secara spesifik, pastikan bahwa Anda memiliki izin berikut:

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

Izin ini disertakan dalam AWS Identity and Access Management kebijakan yang disarankan untuk menggunakan dasbor Internet Monitor di konsol. Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola untuk Internet Monitor](CloudWatch-IM-permissions.md).