

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

# 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).