

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

# Kueri CloudWatch metrik Anda dengan Wawasan CloudWatch Metrik
<a name="query_with_cloudwatch-metrics-insights"></a>

CloudWatch Metrics Insights adalah mesin kueri SQL berkinerja tinggi yang kuat yang dapat Anda gunakan untuk menanyakan metrik Anda dalam skala besar. Anda dapat mengidentifikasi tren dan pola dalam semua CloudWatch metrik Anda secara real time, dengan akses hingga dua minggu data historis untuk analisis tren yang komprehensif.

Anda juga dapat menyetel alarm pada setiap kueri Wawasan Metrik yang menampilkan satu deret waktu tunggal. Ini dapat sangat berguna untuk membuat alarm yang mengamati metrik agregat di seluruh armada infrastruktur atau aplikasi Anda. Buat alarm sekali, dan secara dinamis menyesuaikan ketika sebagai sumber daya ditambahkan atau dihapus dari armada.

 Anda dapat melakukan kueri Wawasan CloudWatch Metrik di konsol dengan editor kueri CloudWatch Metrics Insights. Anda juga dapat melakukan kueri Wawasan CloudWatch Metrik dengan AWS CLI atau AWS SDK dengan menjalankan atau. `GetMetricData` `PutDashboard` Tidak ada biaya untuk kueri yang Anda jalankan dengan editor kueri CloudWatch Metrics Insights. Untuk informasi selengkapnya tentang CloudWatch harga, lihat [ CloudWatch Harga Amazon](https://aws.amazon.com/cloudwatch/pricing/). 

 Dengan editor kueri CloudWatch Metrics Insights, Anda dapat memilih dari berbagai kueri sampel bawaan dan juga membuat kueri Anda sendiri. Saat membuat kueri Anda, Anda dapat menggunakan tampilan pembangun untuk menelusuri metrik dan dimensi yang ada. Atau, gunakan tampilan editor untuk menulis kueri secara manual. 

Dengan Metrics Insights, Anda dapat menjalankan kueri dalam skala besar. Dengan klausa **GROUP BY**, Anda dapat mengelompokkan metrik secara waktu nyata ke dalam deret waktu terpisah per nilai dimensi tertentu. Karena kueri Wawasan Metrik menyertakan kemampuan **ORDER BY**, Anda dapat menggunakan Wawasan Metrik untuk membuat kueri tipe "N Teratas". Misalnya, kueri tipe "N Teratas" dapat memindai jutaan metrik di akun Anda dan mengembalikan 10 instans yang paling banyak menggunakan CPU. Ini dapat membantu Anda menentukan dan memperbaiki masalah latensi dalam aplikasi Anda. Untuk menggunakan tag dengan alarm, ikut serta melalui CloudWatch Pengaturan. Setelah tag diaktifkan, Anda juga dapat memfilter dan mengelompokkan metrik menggunakan tag AWS sumber daya, memungkinkan Anda untuk menanyakan metrik yang selaras dengan struktur organisasi Anda, seperti menurut aplikasi, lingkungan, atau tim.

**Topics**
+ [Membangun kueri Anda di CloudWatch Metrics Insights](cloudwatch-metrics-insights-buildquery.md)
+ [Komponen kueri dan sintaks di CloudWatch Metrics Insights](cloudwatch-metrics-insights-querylanguage.md)
+ [Alarm pada kueri Wawasan CloudWatch Metrik di CloudWatch](cloudwatch-metrics-insights-alarms.md)
+ [Gunakan kueri Wawasan Metrik dengan matematika metrik](cloudwatch-metrics-insights-math.md)
+ [Gunakan bahasa alami untuk menghasilkan dan memperbarui kueri Wawasan CloudWatch Metrik](cloudwatch-metrics-insights-query-assist.md)
+ [Inferensi SQL](cloudwatch-metrics-insights-inference.md)
+ [Kuota Wawasan Metrik](cloudwatch-metrics-insights-limits.md)
+ [Kueri sampel Metrics Insights](cloudwatch-metrics-insights-queryexamples.md)
+ [Glosarium Wawasan Metrik](cloudwatch-metrics-insights-glossary.md)
+ [Pemecahan Masalah Metrik](cloudwatch-metrics-insights-troubleshooting.md)

# Membangun kueri Anda di CloudWatch Metrics Insights
<a name="cloudwatch-metrics-insights-buildquery"></a>

Anda dapat menjalankan kueri CloudWatch Metrics Insights menggunakan CloudWatch konsol, file AWS CLI, atau. AWS SDKs Kueri yang dijalankan di konsol tidak dikenakan biaya. Untuk informasi selengkapnya tentang CloudWatch harga, lihat [ CloudWatch Harga Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Dengan CloudWatch Metrics Insights, Anda dapat menganalisis data metrik di periode waktu yang diperpanjang hingga dua minggu, memungkinkan analisis historis dan identifikasi tren yang lebih komprehensif dibandingkan dengan periode retensi yang lebih pendek. Untuk kinerja optimal saat menanyakan rentang waktu yang lebih lama, pertimbangkan untuk menggunakan periode yang lebih besar (seperti 5 menit atau 1 jam) untuk mengurangi jumlah titik data yang dikembalikan. Saat menganalisis tren selama periode dua minggu penuh, gunakan fungsi agregat seperti AVG () atau MAX () dalam klausa ORDER BY Anda untuk mengidentifikasi pola secara efisien.

Untuk informasi selengkapnya tentang menggunakan kueri Wawasan Metrik AWS SDKs untuk melakukan kueri Wawasan Metrik, lihat. [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)

Untuk menjalankan kueri menggunakan CloudWatch konsol, ikuti langkah-langkah berikut:

**Untuk menanyakan metrik Anda menggunakan Metrics Insights**

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

1. Pada panel navigasi, silakan pilih **Metrik**, **Semua metrik**.

1. (Opsional) Untuk menjalankan kueri sampel yang telah dibuat sebelumnya, pilih **Tambahkan kueri** dan pilih kueri yang akan dijalankan. Jika puas dengan kueri ini, Anda dapat melewati sisa prosedur ini. Atau, Anda dapat memilih **Editor** untuk mengedit kueri sampel dan kemudian memilih **Jalankan** untuk menjalankan kueri yang dimodifikasi. 

1. Untuk membuat kueri Anda sendiri, pilih **Kueri multi sumber**. Anda kemudian dapat menggunakan tampilan **Builder** (default) untuk mendapatkan pengalaman terpandu, atau tampilan **Editor** jika Anda lebih suka melihat sintaks kueri. Anda dapat beralih di antara dua tampilan tersebut kapan saja dan melihat pekerjaan Anda yang sedang berlangsung di kedua tampilan. 

   Dalam tampilan **Builder**, klik pada namespace, nama metrik, filter, grup, urutan, dan bidang batas untuk menelusuri dan memilih nilai yang mungkin. Anda dapat mulai mengetik bagian mana pun dari nilai yang Anda cari untuk memfilter daftar yang disajikan oleh pembangun. Anda dapat mereferensikan tag sumber daya di filter dan input grup.

   Dalam tampilan **Editor**, Anda dapat menulis kueri menggunakan subset SQL yang didukung oleh Metrics Insights. Editor menawarkan opsi pelengkapan otomatis berdasarkan karakter yang telah Anda ketik sejauh ini, termasuk nama tag sumber daya untuk metrik yang mendukungnya.

   CloudWatch Wawasan Metrik mendukung kueri metrik berdasarkan tag sumber daya. AWS Anda dapat menggunakan tag untuk memfilter dan mengelompokkan data metrik Anda untuk pemantauan dan analisis yang lebih bertarget.

   Contoh berikut menunjukkan bagaimana Anda dapat menggunakan query dengan tag.

   Untuk melihat pemanfaatan CPU untuk instans Amazon EC2 dalam lingkungan produksi Anda:

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") WHERE tag.env='prod'
   ```

   Untuk mengelompokkan metrik berdasarkan lingkungan menggunakan klausa GROUP BY:

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") GROUP BY tag.env
   ```

   Untuk menggunakan klausa GROUP BY di mana Anda menentukan nama tag:

   ```
   SELECT AVG(CPUUtilization) FROM "AWS/EC2" GROUP BY tag."aws:cloudformation:stack-name"
   ```

   Untuk menggabungkan kueri tag dengan dimensi metrik yang ada:

   ```
   SELECT MAX(CPUUtilization) FROM SCHEMA("AWS/EC2") WHERE tag.env='prod' AND InstanceId='i-1234567890abcdef0'
   ```

1. Saat Anda puas dengan kueri Anda, pilih **Jalankan**.

1. (Opsional) Cara lain untuk mengedit kueri yang telah Anda gambarkan adalah dengan memilih tab **Metrik bergrafik** dan memilih ikon edit di sebelah rumus kueri di kolom **Detail**.

1. (Opsional) Untuk menghapus kueri dari grafik, pilih **Metrik bergrafik** dan pilih ikon **X** di sisi kanan baris yang menampilkan kueri Anda.

# Komponen kueri dan sintaks di CloudWatch Metrics Insights
<a name="cloudwatch-metrics-insights-querylanguage"></a>

CloudWatch Sintaks Metrics Insights adalah sebagai berikut.

```
SELECT FUNCTION(metricName)
FROM namespace | SCHEMA(...)
[ WHERE labelKey OPERATOR labelValue [AND ... ] ]
[ GROUP BY labelKey [ , ... ] ]
[ ORDER BY FUNCTION() [ DESC | ASC ] ]
[ LIMIT number ]
```

Klausa yang mungkin dalam kueri Wawasan Metrik adalah sebagai berikut. Tidak ada kata kunci yang peka huruf besar/kecil, tetapi pengidentifikasi seperti nama metrik, namespace, dan dimensi peka huruf besar/kecil.

**SELECT**  
Wajib. Menentukan fungsi yang akan digunakan untuk agregat pengamatan di setiap ember waktu (ditentukan oleh periode yang disediakan). Juga menentukan nama metrik untuk kueri.  
Nilai yang benar untuk **FUNCTION** adalah `AVG`, `COUNT`, `MAX`, `MIN`, dan `SUM`.  
+ `AVG` menghitung rata-rata observasi yang dicocokkan berdasarkan kueri.
+ `COUNT` mengembalikan jumlah observasi yang dicocokkan berdasarkan kueri.
+ `MAX` mengembalikan nilai maksimal observasi yang dicocokkan berdasarkan kueri.
+ `MIN` mengembalikan nilai minimal observasi yang dicocokkan berdasarkan kueri.
+ `SUM` menghitung jumlah observasi yang dicocokkan berdasarkan kueri.

**FROM**  
Wajib. Menentukan sumber metrik. Anda dapat menentukan namespace metrik yang berisi metrik yang akan ditanyakan, atau fungsi tabel **SCHEMA**. Contoh namespace metrik meliputi`"AWS/EC2"`, `"AWS/Lambda"`, dan namespace metrik yang telah Anda buat untuk metrik kustom Anda.  
Namespace metrik yang menyertakan **/** atau karakter lain yang bukan huruf, angka, atau garis bawah harus dikelilingi dengan tanda kutip ganda. Untuk informasi selengkapnya, lihat [Apa yang membutuhkan tanda kutip atau karakter pelarian?](#cloudwatch-metrics-insights-syntaxdetails).  
**SCHEMA**  
Fungsi tabel opsional yang dapat digunakan dalam klausa **FROM**. Gunakan **SCHEMA** untuk mencatat hasil kueri hanya ke metrik yang sama persis dengan daftar dimensi, atau metrik yang tidak memiliki dimensi.   
Jika Anda menggunakan klausa **SCHEMA**, ini setidaknya harus berisi satu argumen, dan argumen pertama ini harus berupa namespace metrik yang ditanyakan. Jika Anda menentukan **SCHEMA** hanya dengan argumen namespace ini, hasilnya akan tercakup hanya ke metrik yang tidak memiliki dimensi apa pun.  
Jika Anda menentukan **SCHEMA** dengan argumen tambahan, argumen tambahan setelah argumen namespace harus berupa kunci *label*. Kunci label harus berupa nama dimensi. Jika Anda menentukan satu atau beberapa kunci label ini, hasilnya akan tercakup hanya ke metrik yang memiliki kumpulan dimensi yang tepat. Urutan kunci label ini tidak masalah.  
Sebagai contoh:  
+ **SELECT AVG (CPUUtilization) FROM "AWS/EC2"** mencocokkan semua metrik `CPUUtilization` di namespace, `AWS/EC2`apa pun dimensinya, dan mengembalikan satu deret waktu gabungan. 
+ **SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2")** hanya mencocokkan metrik `CPUUtilization` di namespace `AWS/EC2` yang tidak memiliki dimensi yang ditentukan.
+ **SELECT AVG (CPUUutilization) FROM SCHEMA (“AWS/EC2", InstanceId)** hanya cocok dengan `CPUUtilization` metrik yang dilaporkan dengan tepat satu dimensi,. CloudWatch `InstanceId`
+ **SELECT SUM (RequestCount) FROM SCHEMA (“AWS/ApplicationElb”, LoadBalancer, AvailabilityZone)** hanya cocok dengan `RequestCount` metrik yang dilaporkan CloudWatch dari `AWS/ApplicationELB` dengan tepat dua dimensi, dan. `LoadBalancer` `AvailabilityZone`

**WHERE**  
Opsional. Memfilter hasil hanya ke metrik yang cocok dengan ekspresi yang Anda tentukan menggunakan nilai label tertentu untuk satu kunci label atau lebih. **Misalnya, **WHERE InstanceType = 'c3.4xlarge'** memfilter hasil hanya ke tipe `c3.4xlarge` instance, dan WHERE\$1 InstanceType = 'c3.4xlarge'** memfilter hasil ke semua jenis instance kecuali. `c3.4xlarge`  
Saat Anda menjalankan kueri dalam sebuah akun pemantauan, Anda dapat memilih `WHERE AWS.AccountId` untuk membatasi hasilnya hanya untuk akun yang Anda tentukan. Sebagai contoh, metrik kueri `WHERE AWS.AccountId=444455556666` hanya dari akun `444455556666`. Untuk membatasi kueri Anda hanya pada metrik-metrik yang ada di akun pemantauan itu sendiri, gunakan `WHERE AWS.AccountId=CURRENT_ACCOUNT_ID()`.  
Nilai label harus selalu diapit dengan tanda kutip tunggal.  
**Menggunakan tag di klausa WHERE**  
Anda dapat memfilter hasil berdasarkan tag AWS sumber daya menggunakan sintaks`tag.keyName`. Filter tag mengikuti aturan operator yang sama dengan filter dimensi. Contoh:  
+ *WHERE `tag.env = 'prod'` memfilter ke metrik dari sumber daya yang ditandai dengan env=prod*
+ *WHERE `tag.department != 'test'` mengecualikan metrik dari sumber daya yang ditandai dengan department=test*
Filter tag dapat dikombinasikan dengan filter dimensi:  
`WHERE tag.env = 'prod' AND InstanceType = 'm5.large'`  
**Operator yang didukung**  
Klausa **WHERE** mendukung operator berikut:  
+ Nilai label **=** harus cocok dengan string yang ditentukan.
+ Nilai label **\$1=** tidak harus cocok dengan string yang ditentukan.
+ **AND** Kedua kondisi yang ditentukan harus benar agar cocok. Anda dapat menggunakan beberapa kata kunci **AND** untuk menentukan dua atau lebih kondisi.

**GROUP BY**  
Opsional. Kelompokkan hasil kueri ke dalam beberapa deret waktu, masing-masing sesuai dengan nilai yang berbeda untuk kunci atau beberapa kunci label yang ditentukan. Misalnya, menggunakan `GROUP BY InstanceId` mengembalikan deret waktu yang berbeda untuk setiap nilai `InstanceId`. Menggunakan `GROUP BY ServiceName, Operation` membuat satu deret waktu yang berbeda untuk setiap kemungkinan kombinasi dari nilai-nilai `ServiceName` dan`Operation`.  
Dengan klausa **GROUP BY**, secara default, hasilnya diurutkan dalam urutan naik menurut abjad, menggunakan urutan label yang ditentukan dalam klausa **GROUP BY**. Untuk mengubah urutan hasil, tambahkan klausa **ORDER BY** ke kueri Anda.   
Saat menjalankan kueri dalam sebuah akun pemantauan, Anda dapat menggunakan `GROUP BY AWS.AccountId` untuk mengelompokkan hasilnya berdasarkan akun asal mereka.  
**Menggunakan tag dalam klausa GROUP BY**  
Anda dapat mengelompokkan hasil berdasarkan nilai tag AWS sumber daya menggunakan sintaks`tag.keyName`. Contoh:  
+ *GROUP BY tag.environment* membuat deret waktu terpisah untuk setiap nilai tag lingkungan
+ *GROUP BY tag.team, InstanceType* mengelompokkan berdasarkan nilai tag dan dimensi
+ *GRUP BERDASARKAN tag.team, AWS. AccountId*grup berdasarkan tag dan sumber tertaut Akun IDs
Jika beberapa metrik yang cocok tidak menyertakan kunci label tertentu yang ditentukan dalam klausa **GROUP BY**, grup kosong bernama `Other` dikembalikan. Sebagai contoh, jika Anda menentukan `GROUP BY ServiceName, Operation` dan beberapa metrik yang dikembalikan tidak menyertakan `ServiceName` sebagai dimensi, maka metrik tersebut ditampilkan memiliki `Other` sebagai nilai untuk `ServiceName`.

**ORDER BY**  
Opsional. Menentukan urutan yang akan digunakan untuk deret waktu yang dikembalikan, jika kueri mengembalikan lebih dari satu deret waktu. Urutan didasarkan pada nilai yang ditemukan oleh **FUNCTION** yang Anda tentukan dalam klausa **ORDER BY**. **FUNCTION** digunakan untuk menghitung nilai skalar tunggal dari setiap deret waktu yang dikembalikan, dan nilai itu digunakan untuk menentukan urutan.  
Anda juga menentukan apakah akan menggunakan urutan **ASC** naik atau **DESC** turun. Jika Anda menghilangkan ini, defaultnya adalah **ASC** naik.  
Misalnya, menambahkan klausa `ORDER BY MAX() DESC` memerintahkan hasil dengan titik data maksimum yang diamati dalam rentang waktu, dalam urutan menurun: artinya deret waktu yang memiliki titik data maksimum tertinggi dikembalikan terlebih dahulu.  
Fungsi yang valid untuk digunakan dalam klausa **ORDER BY** adalah `AVG()`, `COUNT()`, `MAX()`, `MIN()`, dan `SUM()`.  
Jika Anda menggunakan klausa **ORDER BY** dengan klausa **LIMIT**, kueri yang dihasilkan adalah kueri "N Teratas". **ORDER BY** juga berguna untuk kueri yang mungkin mengembalikan sejumlah besar metrik, karena setiap kueri dapat mengembalikan tidak lebih dari 500 deret waktu. Jika kueri cocok dengan lebih dari 500 deret waktu, dan Anda menggunakan klausa **ORDER BY**, deret waktu diurutkan dan kemudian 500 deret waktu yang muncul pertama dalam urutan pengurutan merupakan deret waktu yang dikembalikan.

**LIMIT**  
Opsional. Membatasi jumlah deret waktu yang dikembalikan oleh kueri ke nilai yang Anda tentukan. Nilai maksimum yang dapat Anda tentukan adalah 500, dan kueri yang tidak menentukan **LIMIT** juga dapat mengembalikan tidak lebih dari 500 deret waktu.  
Menggunakan klausa **LIMIT** dengan klausa **ORDER BY** memberi Anda kueri "N Teratas".

## Apa yang membutuhkan tanda kutip atau karakter pelarian?
<a name="cloudwatch-metrics-insights-syntaxdetails"></a>

Dalam kueri, nilai label harus selalu dikurung dengan tanda kutip tunggal. Misalnya, **PILIH MAX (CPUUutilization) DARI “AWS/EC2"** WHERE = ''. AutoScalingGroupName my-production-fleet 

Namespace metrik, nama metrik, dan kunci label yang berisi karakter selain huruf, angka, dan garis bawah (\$1) harus dikurung dengan tanda kutip ganda. Misalnya, **SELECT MAX("My.Metric")**.

Jika salah satu dari ini berisi tanda kutip ganda atau tanda kutip tunggal itu sendiri (seperti `Bytes"Input"`), Anda harus keluar dari setiap tanda kutip dengan garis miring terbalik, seperti pada **SELECT AVG("Bytes\$1"Input\$1"")**. 

Jika namespace metrik, nama metrik, atau kunci label, berisi kata yang merupakan kata kunci cadangan dalam Metrics Insights, ini juga harus diapit dalam tanda kutip ganda. Sebagai contoh, jika Anda memiliki metrik yang disebut `LIMIT`, Anda akan menggunakan `SELECT AVG("LIMIT")`. Ini juga benar untuk mengapit namespace, nama metrik, atau label dalam tanda kutip ganda bahkan jika itu tidak menyertakan kata kunci yang dicadangkan.

Untuk daftar lengkap kata kunci yang disimpan, silakan lihat [Kata kunci terpesan](cloudwatch-metrics-insights-reserved-keywords.md).

## Bangun kueri kaya langkah demi langkah
<a name="cloudwatch-metrics-insights-syntaxexample"></a>

Bagian ini menggambarkan membangun contoh lengkap yang menggunakan semua kemungkinan klausa, langkah demi langkah.

Anda dapat memulai dengan kueri berikut, yang menggabungkan semua metrik Application Load `RequestCount` Balancer yang dikumpulkan dengan dimensi dan. `LoadBalancer` `AvailabilityZone`

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
```

**Untuk melihat metrik hanya dari penyeimbang beban tertentu, Anda dapat menambahkan klausa WHERE untuk membatasi metrik yang dikembalikan hanya ke metrik yang memiliki nilai dimensi.** `LoadBalancer` `app/load-balancer-1`

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
```

Kueri sebelumnya menggabungkan metrik `RequestCount` dari semua Availability Zone untuk penyeimbang beban ini menjadi satu deret waktu. Jika Anda ingin melihat deret waktu yang berbeda untuk setiap Availability Zone, kami dapat menambahkan klausa **GROUP BY**.

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
```

Selanjutnya, Anda dapat memesan hasil untuk melihat nilai tertinggi terlebih dahulu. Klausa **ORDER BY** berikut memerintahkan deret waktu dalam urutan menurun, dengan nilai maksimum yang dilaporkan oleh setiap deret waktu selama rentang waktu kueri:

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
ORDER BY MAX() DESC
```

Anda juga dapat menggunakan tag untuk memfilter hasil lebih lanjut. Misalnya, jika Anda ingin melihat hasil hanya untuk penyeimbang beban yang ditandai dengan lingkungan tertentu, kami dapat menambahkan pemfilteran tag ke klausa WHERE:

```
SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone) WHERE LoadBalancer = 'app/load-balancer-1' AND tag.Environment = 'prod' GROUP BY AvailabilityZone ORDER BY MAX() DESC
```

Anda juga dapat mengelompokkan hasil berdasarkan nilai tag, bukan (atau sebagai tambahan) dimensi. Misalnya, pengelompokan berdasarkan tag Aplikasi:

```
SELECT SUM(RequestCount) FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone) WHERE tag.Environment = 'prod' GROUP BY tag.Application ORDER BY MAX() DESC
```

Akhirnya, jika kita tertarik terutama pada jenis kueri "N Teratas", kita dapat menggunakan klausa **LIMIT**. Contoh terakhir ini membatasi hasil deret waktu hanya dengan lima nilai `MAX` tertinggi.

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer, AvailabilityZone)
WHERE LoadBalancer = 'app/load-balancer-1'
GROUP BY AvailabilityZone
ORDER BY MAX() DESC
LIMIT 5
```

## Contoh kueri lintas akun
<a name="cloudwatch-metrics-insights-crossaccount"></a>

Contoh-contoh ini valid ketika dijalankan di akun yang disiapkan sebagai akun pemantauan dalam observabilitas CloudWatch lintas akun. 

Contoh berikut ini mencari semua instans Amazon EC2 yang ada di akun sumber 123456789012 dan mengembalikan rata-ratanya.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
WHERE AWS.AccountId ='123456789012'
```

Contoh berikut menjalankan kueri terhadap metrik `CPUUtilization` yang ada di `AWS/EC2` di semua akun sumber terkait, dan mengelompokkan hasilnya berdasarkan ID akun dan tipe instans.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
GROUP BY AWS.AccountId, InstanceType
```

Contoh berikut menjalankan kueri terhadap `CPUUtilization` di akun pemantauan itu sendiri.

```
SELECT AVG(CpuUtilization) 
FROM "AWS/EC2" 
WHERE AWS.AccountId = CURRENT_ACCOUNT_ID()
```

# Kata kunci terpesan
<a name="cloudwatch-metrics-insights-reserved-keywords"></a>

Berikut ini adalah kata kunci yang dicadangkan dalam Wawasan CloudWatch Metrik. Jika salah satu dari kata-kata ini berada di namespace, nama metrik, atau kunci label dalam kueri, Anda harus mengapitnya dalam tanda kutip ganda. Kata kunci yang dicadangkan tidak peka huruf besar/kecil.

```
"ABORT" "ABORTSESSION" "ABS" "ABSOLUTE" "ACCESS" "ACCESSIBLE" "ACCESS_LOCK" "ACCOUNT" "ACOS" "ACOSH" "ACTION" "ADD" "ADD_MONTHS"
"ADMIN" "AFTER" "AGGREGATE" "ALIAS" "ALL" "ALLOCATE" "ALLOW" "ALTER" "ALTERAND" "AMP" "ANALYSE" "ANALYZE" "AND" "ANSIDATE" "ANY" "ARE" "ARRAY",
"ARRAY_AGG" "ARRAY_EXISTS" "ARRAY_MAX_CARDINALITY" "AS" "ASC" "ASENSITIVE" "ASIN" "ASINH" "ASSERTION" "ASSOCIATE" "ASUTIME" "ASYMMETRIC" "AT",
"ATAN" "ATAN2" "ATANH" "ATOMIC" "AUDIT" "AUTHORIZATION" "AUX" "AUXILIARY" "AVE" "AVERAGE" "AVG" "BACKUP" "BEFORE" "BEGIN" "BEGIN_FRAME" "BEGIN_PARTITION",
"BETWEEN" "BIGINT" "BINARY" "BIT" "BLOB" "BOOLEAN" "BOTH" "BREADTH" "BREAK" "BROWSE" "BT" "BUFFERPOOL" "BULK" "BUT" "BY" "BYTE" "BYTEINT" "BYTES" "CALL",
"CALLED" "CAPTURE" "CARDINALITY" "CASCADE" "CASCADED" "CASE" "CASESPECIFIC" "CASE_N" "CAST" "CATALOG" "CCSID" "CD" "CEIL" "CEILING" "CHANGE" "CHAR",
"CHAR2HEXINT" "CHARACTER" "CHARACTERS" "CHARACTER_LENGTH" "CHARS" "CHAR_LENGTH" "CHECK" "CHECKPOINT" "CLASS" "CLASSIFIER" "CLOB" "CLONE" "CLOSE" "CLUSTER",
"CLUSTERED" "CM" "COALESCE" "COLLATE" "COLLATION" "COLLECT" "COLLECTION" "COLLID" "COLUMN" "COLUMN_VALUE" "COMMENT" "COMMIT" "COMPLETION" "COMPRESS" "COMPUTE",
"CONCAT" "CONCURRENTLY" "CONDITION" "CONNECT" "CONNECTION" "CONSTRAINT" "CONSTRAINTS" "CONSTRUCTOR" "CONTAINS" "CONTAINSTABLE" "CONTENT" "CONTINUE" "CONVERT",
"CONVERT_TABLE_HEADER" "COPY" "CORR" "CORRESPONDING" "COS" "COSH" "COUNT" "COVAR_POP" "COVAR_SAMP" "CREATE" "CROSS" "CS" "CSUM" "CT" "CUBE" "CUME_DIST",
"CURRENT" "CURRENT_CATALOG" "CURRENT_DATE" "CURRENT_DEFAULT_TRANSFORM_GROUP" "CURRENT_LC_CTYPE" "CURRENT_PATH" "CURRENT_ROLE" "CURRENT_ROW" "CURRENT_SCHEMA",
"CURRENT_SERVER" "CURRENT_TIME" "CURRENT_TIMESTAMP" "CURRENT_TIMEZONE" "CURRENT_TRANSFORM_GROUP_FOR_TYPE" "CURRENT_USER" "CURRVAL" "CURSOR" "CV" "CYCLE" "DATA",
"DATABASE" "DATABASES" "DATABLOCKSIZE" "DATE" "DATEFORM" "DAY" "DAYS" "DAY_HOUR" "DAY_MICROSECOND" "DAY_MINUTE" "DAY_SECOND" "DBCC" "DBINFO" "DEALLOCATE" "DEC",
"DECFLOAT" "DECIMAL" "DECLARE" "DEFAULT" "DEFERRABLE" "DEFERRED" "DEFINE" "DEGREES" "DEL" "DELAYED" "DELETE" "DENSE_RANK" "DENY" "DEPTH" "DEREF" "DESC" "DESCRIBE",
"DESCRIPTOR" "DESTROY" "DESTRUCTOR" "DETERMINISTIC" "DIAGNOSTIC" "DIAGNOSTICS" "DICTIONARY" "DISABLE" "DISABLED" "DISALLOW" "DISCONNECT" "DISK" "DISTINCT",
"DISTINCTROW" "DISTRIBUTED" "DIV" "DO" "DOCUMENT" "DOMAIN" "DOUBLE" "DROP" "DSSIZE" "DUAL" "DUMP" "DYNAMIC" "EACH" "ECHO" "EDITPROC" "ELEMENT" "ELSE" "ELSEIF",
"EMPTY" "ENABLED" "ENCLOSED" "ENCODING" "ENCRYPTION" "END" "END-EXEC" "ENDING" "END_FRAME" "END_PARTITION" "EQ" "EQUALS" "ERASE" "ERRLVL" "ERROR" "ERRORFILES",
"ERRORTABLES" "ESCAPE" "ESCAPED" "ET" "EVERY" "EXCEPT" "EXCEPTION" "EXCLUSIVE" "EXEC" "EXECUTE" "EXISTS" "EXIT" "EXP" "EXPLAIN" "EXTERNAL" "EXTRACT" "FALLBACK
"FALSE" "FASTEXPORT" "FENCED" "FETCH" "FIELDPROC" "FILE" "FILLFACTOR" "FILTER" "FINAL" "FIRST" "FIRST_VALUE" "FLOAT" "FLOAT4" "FLOAT8" "FLOOR" 
"FOR" "FORCE" "FOREIGN" "FORMAT" "FOUND" "FRAME_ROW" "FREE" "FREESPACE" "FREETEXT" "FREETEXTTABLE" "FREEZE" "FROM" "FULL" "FULLTEXT" "FUNCTION" 
"FUSION" "GE" "GENERAL" "GENERATED" "GET" "GIVE" "GLOBAL" "GO" "GOTO" "GRANT" "GRAPHIC" "GROUP" "GROUPING" "GROUPS" "GT" "HANDLER" "HASH" 
"HASHAMP" "HASHBAKAMP" "HASHBUCKET" "HASHROW" "HAVING" "HELP" "HIGH_PRIORITY" "HOLD" "HOLDLOCK" "HOUR" "HOURS" "HOUR_MICROSECOND" "HOUR_MINUTE" 
"HOUR_SECOND" "IDENTIFIED" "IDENTITY" "IDENTITYCOL" "IDENTITY_INSERT" "IF" "IGNORE" "ILIKE" "IMMEDIATE" "IN" "INCLUSIVE" "INCONSISTENT" "INCREMENT" 
"INDEX" "INDICATOR" "INFILE" "INHERIT" "INITIAL" "INITIALIZE" "INITIALLY" "INITIATE" "INNER" "INOUT" "INPUT" "INS" "INSENSITIVE" "INSERT" "INSTEAD" 
"INT" "INT1" "INT2" "INT3" "INT4" "INT8" "INTEGER" "INTEGERDATE" "INTERSECT" "INTERSECTION" "INTERVAL" "INTO" "IO_AFTER_GTIDS" "IO_BEFORE_GTIDS" 
"IS" "ISNULL" "ISOBID" "ISOLATION" "ITERATE" "JAR" "JOIN" "JOURNAL" "JSON_ARRAY" "JSON_ARRAYAGG" "JSON_EXISTS" "JSON_OBJECT" "JSON_OBJECTAGG" 
"JSON_QUERY" "JSON_TABLE" "JSON_TABLE_PRIMITIVE" "JSON_VALUE" "KEEP" "KEY" "KEYS" "KILL" "KURTOSIS" "LABEL" "LAG" "LANGUAGE" "LARGE" "LAST" 
"LAST_VALUE" "LATERAL" "LC_CTYPE" "LE" "LEAD" "LEADING" "LEAVE" "LEFT" "LESS" "LEVEL" "LIKE" "LIKE_REGEX" "LIMIT" "LINEAR" "LINENO" "LINES" 
"LISTAGG" "LN" "LOAD" "LOADING" "LOCAL" "LOCALE" "LOCALTIME" "LOCALTIMESTAMP" "LOCATOR" "LOCATORS" "LOCK" "LOCKING" "LOCKMAX" "LOCKSIZE" "LOG" 
"LOG10" "LOGGING" "LOGON" "LONG" "LONGBLOB" "LONGTEXT" "LOOP" "LOWER" "LOW_PRIORITY" "LT" "MACRO" "MAINTAINED" "MAP" "MASTER_BIND" 
"MASTER_SSL_VERIFY_SERVER_CERT" "MATCH" "MATCHES" "MATCH_NUMBER" "MATCH_RECOGNIZE" "MATERIALIZED" "MAVG" "MAX" "MAXEXTENTS" "MAXIMUM" "MAXVALUE" 
"MCHARACTERS" "MDIFF" "MEDIUMBLOB" "MEDIUMINT" "MEDIUMTEXT" "MEMBER" "MERGE" "METHOD" "MICROSECOND" "MICROSECONDS" "MIDDLEINT" "MIN" "MINDEX" 
"MINIMUM" "MINUS" "MINUTE" "MINUTES" "MINUTE_MICROSECOND" "MINUTE_SECOND" "MLINREG" "MLOAD" "MLSLABEL" "MOD" "MODE" "MODIFIES" "MODIFY" 
"MODULE" "MONITOR" "MONRESOURCE" "MONSESSION" "MONTH" "MONTHS" "MSUBSTR" "MSUM" "MULTISET" "NAMED" "NAMES" "NATIONAL" "NATURAL" "NCHAR" "NCLOB" 
"NE" "NESTED_TABLE_ID" "NEW" "NEW_TABLE" "NEXT" "NEXTVAL" "NO" "NOAUDIT" "NOCHECK" "NOCOMPRESS" "NONCLUSTERED" "NONE" "NORMALIZE" "NOT" "NOTNULL" 
"NOWAIT" "NO_WRITE_TO_BINLOG" "NTH_VALUE" "NTILE" "NULL" "NULLIF" "NULLIFZERO" "NULLS" "NUMBER" "NUMERIC" "NUMPARTS" "OBID" "OBJECT" "OBJECTS" 
"OCCURRENCES_REGEX" "OCTET_LENGTH" "OF" "OFF" "OFFLINE" "OFFSET" "OFFSETS" "OLD" "OLD_TABLE" "OMIT" "ON" "ONE" "ONLINE" "ONLY" "OPEN" "OPENDATASOURCE" 
"OPENQUERY" "OPENROWSET" "OPENXML" "OPERATION" "OPTIMIZATION" "OPTIMIZE" "OPTIMIZER_COSTS" "OPTION" "OPTIONALLY" "OR" "ORDER" "ORDINALITY" "ORGANIZATION" 
"OUT" "OUTER" "OUTFILE" "OUTPUT" "OVER" "OVERLAPS" "OVERLAY" "OVERRIDE" "PACKAGE" "PAD" "PADDED" "PARAMETER" "PARAMETERS" "PART" "PARTIAL" "PARTITION" 
"PARTITIONED" "PARTITIONING" "PASSWORD" "PATH" "PATTERN" "PCTFREE" "PER" "PERCENT" "PERCENTILE" "PERCENTILE_CONT" "PERCENTILE_DISC" "PERCENT_RANK" "PERIOD" "PERM" 
"PERMANENT" "PIECESIZE" "PIVOT" "PLACING" "PLAN" "PORTION" "POSITION" "POSITION_REGEX" "POSTFIX" "POWER" "PRECEDES" "PRECISION" "PREFIX" "PREORDER" 
"PREPARE" "PRESERVE" "PREVVAL" "PRIMARY" "PRINT" "PRIOR" "PRIQTY" "PRIVATE" "PRIVILEGES" "PROC" "PROCEDURE" "PROFILE" "PROGRAM" "PROPORTIONAL" 
"PROTECTION" "PSID" "PTF" "PUBLIC" "PURGE" "QUALIFIED" "QUALIFY" "QUANTILE" "QUERY" "QUERYNO" "RADIANS" "RAISERROR" "RANDOM" "RANGE" "RANGE_N" "RANK" 
"RAW" "READ" "READS" "READTEXT" "READ_WRITE" "REAL" "RECONFIGURE" "RECURSIVE" "REF" "REFERENCES" "REFERENCING" "REFRESH" "REGEXP" "REGR_AVGX" "REGR_AVGY" 
"REGR_COUNT" "REGR_INTERCEPT" "REGR_R2" "REGR_SLOPE" "REGR_SXX" "REGR_SXY" "REGR_SYY" "RELATIVE" "RELEASE" "RENAME" "REPEAT" "REPLACE" "REPLICATION" 
"REPOVERRIDE" "REQUEST" "REQUIRE" "RESIGNAL" "RESOURCE" "RESTART" "RESTORE" "RESTRICT" "RESULT" "RESULT_SET_LOCATOR" "RESUME" "RET" "RETRIEVE" "RETURN" 
"RETURNING" "RETURNS" "REVALIDATE" "REVERT" "REVOKE" "RIGHT" "RIGHTS" "RLIKE" "ROLE" "ROLLBACK" "ROLLFORWARD" "ROLLUP" "ROUND_CEILING" "ROUND_DOWN" 
"ROUND_FLOOR" "ROUND_HALF_DOWN" "ROUND_HALF_EVEN" "ROUND_HALF_UP" "ROUND_UP" "ROUTINE" "ROW" "ROWCOUNT" "ROWGUIDCOL" "ROWID" "ROWNUM" "ROWS" "ROWSET" 
"ROW_NUMBER" "RULE" "RUN" "RUNNING" "SAMPLE" "SAMPLEID" "SAVE" "SAVEPOINT" "SCHEMA" "SCHEMAS" "SCOPE" "SCRATCHPAD" "SCROLL" "SEARCH" "SECOND" "SECONDS" 
"SECOND_MICROSECOND" "SECQTY" "SECTION" "SECURITY" "SECURITYAUDIT" "SEEK" "SEL" "SELECT" "SEMANTICKEYPHRASETABLE" "SEMANTICSIMILARITYDETAILSTABLE" 
"SEMANTICSIMILARITYTABLE" "SENSITIVE" "SEPARATOR" "SEQUENCE" "SESSION" "SESSION_USER" "SET" "SETRESRATE" "SETS" "SETSESSRATE" "SETUSER" "SHARE" "SHOW" 
"SHUTDOWN" "SIGNAL" "SIMILAR" "SIMPLE" "SIN" "SINH" "SIZE" "SKEW" "SKIP" "SMALLINT" "SOME" "SOUNDEX" "SOURCE" "SPACE" "SPATIAL" "SPECIFIC" "SPECIFICTYPE" 
"SPOOL" "SQL" "SQLEXCEPTION" "SQLSTATE" "SQLTEXT" "SQLWARNING" "SQL_BIG_RESULT" "SQL_CALC_FOUND_ROWS" "SQL_SMALL_RESULT" "SQRT" "SS" "SSL" "STANDARD" 
"START" "STARTING" "STARTUP" "STAT" "STATE" "STATEMENT" "STATIC" "STATISTICS" "STAY" "STDDEV_POP" "STDDEV_SAMP" "STEPINFO" "STOGROUP" "STORED" "STORES" 
"STRAIGHT_JOIN" "STRING_CS" "STRUCTURE" "STYLE" "SUBMULTISET" "SUBSCRIBER" "SUBSET" "SUBSTR" "SUBSTRING" "SUBSTRING_REGEX" "SUCCEEDS" "SUCCESSFUL" 
"SUM" "SUMMARY" "SUSPEND" "SYMMETRIC" "SYNONYM" "SYSDATE" "SYSTEM" "SYSTEM_TIME" "SYSTEM_USER" "SYSTIMESTAMP" "TABLE" "TABLESAMPLE" "TABLESPACE" "TAN" 
"TANH" "TBL_CS" "TEMPORARY" "TERMINATE" "TERMINATED" "TEXTSIZE" "THAN" "THEN" "THRESHOLD" "TIME" "TIMESTAMP" "TIMEZONE_HOUR" "TIMEZONE_MINUTE" "TINYBLOB" 
"TINYINT" "TINYTEXT" "TITLE" "TO" "TOP" "TRACE" "TRAILING" "TRAN" "TRANSACTION" "TRANSLATE" "TRANSLATE_CHK" "TRANSLATE_REGEX" "TRANSLATION" "TREAT" 
"TRIGGER" "TRIM" "TRIM_ARRAY" "TRUE" "TRUNCATE" "TRY_CONVERT" "TSEQUAL" "TYPE" "UC" "UESCAPE" "UID" "UNDEFINED" "UNDER" "UNDO" "UNION" "UNIQUE" 
"UNKNOWN" "UNLOCK" "UNNEST" "UNPIVOT" "UNSIGNED" "UNTIL" "UPD" "UPDATE" "UPDATETEXT" "UPPER" "UPPERCASE" "USAGE" "USE" "USER" "USING" "UTC_DATE" 
"UTC_TIME" "UTC_TIMESTAMP" "VALIDATE" "VALIDPROC" "VALUE" "VALUES" "VALUE_OF" "VARBINARY" "VARBYTE" "VARCHAR" "VARCHAR2" "VARCHARACTER" "VARGRAPHIC" 
"VARIABLE" "VARIADIC" "VARIANT" "VARYING" "VAR_POP" "VAR_SAMP" "VCAT" "VERBOSE" "VERSIONING" "VIEW" "VIRTUAL" "VOLATILE" "VOLUMES" "WAIT" "WAITFOR" 
"WHEN" "WHENEVER" "WHERE" "WHILE" "WIDTH_BUCKET" "WINDOW" "WITH" "WITHIN" "WITHIN_GROUP" "WITHOUT" "WLM" "WORK" "WRITE" "WRITETEXT" "XMLCAST" "XMLEXISTS" 
"XMLNAMESPACES" "XOR" "YEAR" "YEARS" "YEAR_MONTH" "ZEROFILL" "ZEROIFNULL" "ZONE"
```

# Alarm pada kueri Wawasan CloudWatch Metrik di CloudWatch
<a name="cloudwatch-metrics-insights-alarms"></a>

Anda dapat membuat alarm pada kueri Metrics Insights. Ini membantu Anda memiliki alarm yang melacak beberapa sumber daya tanpa perlu diperbarui nanti. Kueri menangkap sumber daya baru dan sumber daya yang berubah. Misalnya, Anda dapat membuat alarm yang mengawasi penggunaan CPU armada Anda, dan alarm secara otomatis mengevaluasi instansbaru yang Anda luncurkan setelah membuat alarm.

Dalam akun pemantauan yang disiapkan untuk observabilitas CloudWatch lintas akun, alarm Wawasan Metrik Anda dapat menonton sumber daya di akun sumber dan di akun pemantauan itu sendiri. Untuk informasi selengkapnya tentang cara membatasi kueri alarm hanya ke sebuah akun tertentu atau mengelompokkan hasil berdasarkan ID akun, silakan lihat bagian `WHERE` dan bagian `GROUP BY` di [Komponen kueri dan sintaks di CloudWatch Metrics Insights](cloudwatch-metrics-insights-querylanguage.md).

**Menggunakan tag dalam kueri alarm**

Anda dapat membuat alarm pada kueri Wawasan Metrik yang menggunakan tag AWS sumber daya untuk memfilter dan mengelompokkan metrik. Untuk menggunakan tag dengan alarm, pada [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/), pilih **Pengaturan**. **Pada halaman **CloudWatch Pengaturan**, di bawah **Aktifkan tag sumber daya di telemetri**, pilih Aktifkan.** Alarm sadar konteks memantau aplikasi, lingkungan, atau tim tertentu secara otomatis saat sumber daya berubah.

Misalnya, Anda dapat membuat alarm yang memantau pemanfaatan CPU untuk semua instans Amazon EC2 yang ditandai dengan aplikasi tertentu.

```
SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE tag.Application = 'Orders' AND tag.Environment = 'Prod'
```

Alarm berbasis tag secara otomatis beradaptasi saat Anda menambah atau menghapus sumber daya dengan tag yang cocok, memberikan pemantauan dinamis yang selaras dengan struktur operasional Anda.

**Contents**
+ [Membuat alarm Wawasan CloudWatch Metrik](cloudwatch-metrics-insights-alarm-create.md)

# Membuat alarm Wawasan CloudWatch Metrik
<a name="cloudwatch-metrics-insights-alarm-create"></a>

**Untuk membuat alarm pada kueri Wawasan Metrik menggunakan konsol**

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

1. Pada panel navigasi, silakan pilih **Metrik**, **Semua metrik**.

1. (Opsional) Untuk menjalankan kueri sampel yang telah dibuat sebelumnya, pilih **Tambahkan kueri** dan pilih kueri yang akan dijalankan. Atau, Anda dapat memilih **Editor** untuk mengedit kueri sampel dan kemudian memilih **Jalankan** untuk menjalankan kueri yang dimodifikasi. 

1. Untuk membuat kueri Anda sendiri, pilih **Kueri multi sumber**. Anda kemudian dapat menggunakan tampilan **Builder**, tampilan **Editor**, dan juga menggunakan kombinasi keduanya. Anda dapat beralih di antara dua tampilan tersebut kapan saja dan melihat pekerjaan Anda yang sedang berlangsung di kedua tampilan. 

   Pada tampilan **Builder**, Anda dapat menelusuri dan memilih namespace metrik, nama metrik, filter, grup, dan opsi urutan. Untuk masing-masing opsi ini, pembuat kueri menawarkan sebuah daftar kemungkinan pilihan dari lingkungan Anda untuk dipilih.

   Pada tampilan **Editor**, Anda dapat mulai menulis kueri Anda. Saat Anda mengetik, editor menawarkan saran berdasarkan karakter yang telah Anda ketik sejauh ini.

   Misalnya, saat membuat kueri Wawasan Metrik untuk alarm, Anda dapat menggunakan tag untuk memfilter dan mengelompokkan metrik untuk pemantauan yang lebih bertarget.
   + Filter menurut tag - Gunakan `WHERE tag.keyName = 'value'` untuk memantau sumber daya dengan tag tertentu

     ```
     SELECT MAX(CPUUtilization) FROM "AWS/EC2" WHERE tag.Environment = 'Prod'
     ```
   + Gabungkan tag dengan dimensi - Campur filter tag dengan dimensi metrik yang ada

     ```
     SELECT AVG(Duration) FROM "AWS/Lambda" WHERE tag.Application = 'OrderService' AND FunctionName = 'process%'
     ```
**catatan**  
Saat menggunakan tag, alarm akan cocok dengan metrik hanya jika tag yang ditentukan ada pada sumber daya terkait selama periode waktu yang dievaluasi.

1. Saat Anda puas dengan kueri Anda, pilih **Jalankan**.

1. Pilih **Buat alarm**.

1. Pada **Ketentuan**, tentukan hal-hal berikut:

   1. Untuk **Kapan pun *metric* ada**, tentukan apakah metrik harus lebih besar dari, kurang dari, atau sama dengan ambang batas. Di bawah **dari...**, tentukan nilai ambang batas.

   1. Pilih **Konfigurasi tambahan**. Untuk **Titik data alarm**, tentukan berapa banyak periode evaluasi (titik data) yang harus ada dalam status `ALARM` untuk memicu alarm. Jika kedua nilai di sini cocok, Anda membuat alarm yang beralih ke status `ALARM` jika terjadi pelanggaran selama sebanyak itu dalam periode berturut-turut.

      Untuk membuat alarm M dari N, tentukan angka yang lebih rendah untuk nilai pertama dibandingkan dengan nilai yang Anda tentukan untuk nilai kedua. Untuk informasi selengkapnya, lihat [Evaluasi alarm](alarm-evaluation.md).

   1. Untuk **Perlakuan data yang hilang**, pilih cara alarm berperilaku ketika beberapa titik data hilang. Untuk informasi selengkapnya, lihat [Mengonfigurasi bagaimana CloudWatch alarm memperlakukan data yang hilang](alarms-and-missing-data.md).

1. Pilih **Berikutnya**.

1. Pada **Notifikasi**, silakan pilih topik SNS yang akan diberitahukan sebagai notifikasi ketika alarm berada dalam status `ALARM`, status `OK`, atau status `INSUFFICIENT_DATA`.

   Agar alarm mengirimkan beberapa notifikasi untuk status alarm yang sama atau untuk status alarm yang berbeda, silakan pilih **Tambahkan notifikasi**.

   Agar alarm tidak mengirim notifikasi, silakan pilih **Hapus**.

1. Agar alarm dapat melakukan tindakan penskalaan otomatis, EC2, atau Systems Manager, pilih tombol yang sesuai dan pilih status alarm serta tindakan yang harus dilakukan. Alarm dapat melakukan tindakan Systems Manager hanya ketika masuk ke status ALARM. Untuk informasi selengkapnya tentang tindakan Systems Manager, lihat [Mengkonfigurasi CloudWatch untuk membuat OpsItems dari alarm](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) dan pembuatan [Insiden](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html).
**catatan**  
Untuk membuat alarm yang melakukan tindakan SSM Incident Manager, Anda harus memiliki izin tertentu. Untuk informasi selengkapnya, lihat [contoh kebijakan berbasis identitas untuk Manajer Insiden AWS Systems Manager](https://docs.aws.amazon.com/incident-manager/latest/userguide/security_iam_id-based-policy-examples.html).

1. Setelah selesai, silakan pilih **Berikutnya**.

1. Masukkan sebuah nama dan deskripsi untuk alarm tersebut. Nama harus menggunakan karakter ASCII saja. Lalu pilih **Berikutnya**.

1. Pada **Pratinjau dan buat**, konfirmasikan bahwa informasi dan ketentuannya sudah sesuai keinginan Anda, kemudian pilih **Buat alarm**.

**Untuk membuat alarm pada kueri Wawasan Metrik menggunakan AWS CLI**

Gunakan perintah `put-metric-alarm` dan tentukan kueri Wawasan Metrik dalam parameter `metrics`. Misalnya, perintah berikut menyetel alarm yang beralih ke status ALARM jika salah satu instans Anda melebihi 50% dalam pemanfaatan CPU.

```
aws cloudwatch put-metric-alarm —alarm-name Prod-App-CPU-Alarm —evaluation-periods 1 —comparison-operator GreaterThanThreshold —metrics '[{"Id":"m1","Expression":"SELECT MAX(CPUUtilization) FROM \"AWS/EC2\" WHERE tag.Environment = '\''Prod'\'' AND tag.Application = '\''OrderService'\''", "Period":60}]' —threshold 80
```

# Gunakan kueri Wawasan Metrik dengan matematika metrik
<a name="cloudwatch-metrics-insights-math"></a>

Anda dapat menggunakan kueri Wawasan Metrik sebagai input ke fungsi matematika metrik. Untuk informasi selengkapnya tentang pernyataan matematika metrik, silakan lihat [Menggunakan ekspresi matematika dengan CloudWatch metrik](using-metric-math.md).

Kueri Wawasan Metrik yang tidak menyertakan klausa **GROUP BY** mengembalikan satu deret waktu. Oleh karena itu, hasil yang dikembalikan dapat digunakan dengan setiap fungsi matematika metrik yang mengambil satu deret waktu sebagai input.

Kueri Wawasan Metrik yang menyertakan klausa **GROUP BY** mengembalikan banyak deret waktu. Oleh karena itu, hasil yang dikembalikan dapat digunakan dengan setiap fungsi matematika metrik yang mengambil satu array deret waktu sebagai input.

Misalnya, kueri berikut mengembalikan jumlah total byte yang diunduh untuk setiap bucket di Wilayah, sebagai susunan deret waktu:

```
SELECT SUM(BytesDownloaded) 
FROM SCHEMA("AWS/S3", BucketName, FilterId) 
WHERE FilterId = 'EntireBucket'
GROUP BY BucketName
```

Pada grafik di konsol atau dalam [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)operasi, hasil kueri ini adalah`q1`. Kueri ini mengembalikan hasil dalam byte, jadi jika ingin melihat hasilnya sebagai MB, Anda dapat menggunakan fungsi matematika berikut:

```
q1/1024/1024
```

# Gunakan bahasa alami untuk menghasilkan dan memperbarui kueri Wawasan CloudWatch Metrik
<a name="cloudwatch-metrics-insights-query-assist"></a>

 CloudWatch [mendukung kemampuan kueri bahasa alami untuk membantu Anda menghasilkan dan memperbarui kueri untuk Wawasan [CloudWatchMetrik dan CloudWatch Wawasan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html) Log.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 

 Dengan kemampuan ini, Anda dapat mengajukan pertanyaan tentang atau menjelaskan CloudWatch data yang Anda cari dalam bahasa Inggris biasa. Kemampuan bahasa alami menghasilkan kueri berdasarkan prompt yang Anda masukkan dan memberikan line-by-line penjelasan tentang cara kerja kueri. Anda juga dapat memperbarui kueri Anda untuk menyelidiki lebih lanjut data Anda. 

 Tergantung pada lingkungan Anda, Anda dapat memasukkan prompt seperti "Instans Amazon Elastic Compute Cloud mana yang memiliki jaringan tertinggi?" dan "Tunjukkan pada sata 10 Tabel Amazon DynamoDB teratas dengan pembacaan yang dikonsumsi." 

**catatan**  
Fitur kueri bahasa alami umumnya tersedia di 10 Wilayah. Untuk beberapa Wilayah, fitur ini membuat panggilan lintas wilayah ke Wilayah di Amerika Serikat untuk memproses permintaan kueri. Tabel berikut mencantumkan Wilayah yang didukung, dan menunjukkan tempat setiap Wilayah memproses petunjuknya.  


| Wilayah yang Didukung | Wilayah tempat prompt diproses | 
| --- | --- | 
|  AS Timur (Virginia Utara)  |  Timur AS (N. Virginia)  | 
|  AS Timur (Ohio)  |  AS Timur (Virginia Utara)  | 
|  US West (Oregon)  |  AS Barat (Oregon)  | 
|  Asia Pasifik (Hong Kong)  |  AS Barat (Oregon)  | 
|  Asia Pasifik (Singapura)  |  AS Barat (Oregon)  | 
|  Asia Pasifik (Sydney)  |  AS Barat (Oregon)  | 
|  Asia Pasifik (Tokyo)  |  Asia Pasifik (Tokyo)  | 
|  Eropa (Frankfurt)  |  Eropa (Frankfurt)  | 
|  Eropa (Irlandia)  |  AS Timur (Virginia Utara)  | 
|  Eropa (Stockholm)  |  AS Timur (Virginia Utara)  | 

 **Untuk menghasilkan kueri Wawasan CloudWatch Metrik dengan kemampuan ini, buka editor kueri Wawasan CloudWatch Metrik di tampilan *pembuat* atau *editor*, lalu pilih Buat kueri.** 

**penting**  
 Untuk menggunakan kemampuan kueri bahasa alami, Anda harus menggunakan [CloudWatchFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchFullAccess.html), [CloudWatchReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchReadOnlyAccess.html), [CloudWatchFullAccessV2 [AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchFullAccessV2.html), atau [ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ReadOnlyAccess.html)kebijakan.   
 Anda juga dapat menyertakan tindakan `cloudwatch:GenerateQuery` dalam kebijakan terkelola atau inline pelanggan baru atau yang sudah ada. 

## Kueri contoh
<a name="cloudwatch-metrics-insights-query-assist-examples"></a>

 Contoh di bagian ini menjelaskan cara menghasilkan dan memperbarui kueri menggunakan kemampuan bahasa alami. 

**catatan**  
 Untuk informasi selengkapnya tentang editor dan sintaks kueri Wawasan CloudWatch Metrik, lihat komponen dan sintaks kueri [Wawasan CloudWatch Metrik](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage.html). 

### Contoh: Menghasilkan kueri bahasa alami
<a name="cloudwatch-metrics-insights-query-assist-example-1"></a>

 Untuk menghasilkan kueri menggunakan bahasa alami, masukkan prompt dan pilih **Hasilkan kueri baru**. Contoh ini menunjukkan kueri yang melakukan pencarian dasar. 

**Prompt**  
 Berikut ini contoh prompt yang mengarahkan kemampuan untuk pencarian 10 Tabel DynamoDB teratas yang menggunakan kapasitas baca paling banyak. 

```
Show top 10 DynamoDB Tables by consumed reads
```

**Kueri**  
 Berikut ini contoh kueri yang dihasilkan kemampuan bahasa alami berdasarkan prompt. Perhatikan bagaimana prompt muncul di komentar sebelum kueri. Setelah kueri, Anda dapat membaca penjelasan yang menggambarkan cara kerja kueri. 

```
# Show top 10 DynamoDB Tables by consumed reads
SELECT SUM("ConsumedReadCapacityUnits")
FROM "AWS/DynamoDB"
GROUP BY TableName
ORDER BY SUM() DESC
LIMIT 10
# This query selects the sum of consumed read capacity units for each DynamoDB table, groups the results by table name, orders the results from highest to lowest read capacity consumption, and limits the results to the top 10 tables.
```

**catatan**  
 Untuk mematikan tampilan prompt Anda dan penjelasan tentang cara kerja kueri, gunakan ikon roda gigi di editor Anda. 

### Contoh: Memperbarui kueri bahasa alami
<a name="cloudwatch-metrics-insights-query-assist-example-2"></a>

 Anda dapat memperbarui kueri dengan mengedit prompt awal dan kemudian memilih **Perbarui kueri**. 

**Prompt yang diperbarui**  
 Contoh berikut menunjukkan versi yang diperbarui dari prompt sebelumnya. Alih-alih prompt yang mencari 10 Tabel DynamoDB teratas yang menggunakan kapasitas baca paling banyak, prompt ini sekarang mengarahkan kemampuan untuk memilah hasil berdasarkan jumlah byte yang dikembalikan. 

```
Sort by bytes returned instead
```

**Kueri yang diperbarui**  
 Berikut ini contoh kueri yang diperbarui. Perhatikan bagaimana prompt muncul di komentar sebelum kueri yang diperbarui. Setelah kueri, Anda dapat membaca penjelasan yang menggambarkan bagaimana kueri asli diperbarui. 

```
# Sort by bytes returned instead
SELECT SUM("ReturnedBytes")
FROM "AWS/DynamoDB"
GROUP BY TableName
ORDER BY SUM() DESC
LIMIT 10
# This query modifies the original query to select the sum of returned bytes instead of consumed read capacity units, and orders the results from highest to lowest sum of returned bytes, limiting the results to the top 10 tables.
```

## Memilih untuk tidak menggunakan data Anda untuk perbaikan layanan
<a name="cloudwatch-metrics-insights-query-assist-service-data"></a>

 Data prompt bahasa alami yang Anda berikan untuk melatih model AI dan menghasilkan kueri yang relevan digunakan semata-mata untuk menyediakan dan memelihara layanan Anda. Data ini dapat digunakan untuk meningkatkan kualitas Wawasan CloudWatch Metrik. Kepercayaan dan privasi Anda, serta keamanan konten Anda, menjadi prioritas utama kami. Untuk informasi selengkapnya, silakan lihat [AWS Ketentuan Layanan](https://aws.amazon.com/service-terms/) dan [AWS kebijakan AI yang bertanggung jawab](https://aws.amazon.com/machine-learning/responsible-ai/policy/). 

 Anda dapat memilih untuk tidak menggunakan konten Anda untuk mengembangkan atau memperbaiki mutu kueri bahasa alami dengan membuat kebijakan penolakan layanan AI. Untuk memilih keluar dari pengumpulan data untuk semua fitur CloudWatch AI, termasuk kemampuan pembuatan kueri, Anda harus membuat kebijakan opt-out. CloudWatch Untuk informasi selengkapnya, silakan lihat [kebijakan penolakan layanan AI](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) di *AWS Organizations Panduan Pengguna*. 

# Inferensi SQL
<a name="cloudwatch-metrics-insights-inference"></a>

CloudWatch Metrics Insights menggunakan beberapa mekanisme untuk menyimpulkan maksud dari kueri SQL yang diberikan.

**Topics**
+ [Bucketing waktu](#cloudwatch-metrics-insights-inference-timebucketing)
+ [Proyeksi bidang](#cloudwatch-metrics-insights-inference-fieldsprojection)
+ [Agregasi global ORDER BY](#cloudwatch-metrics-insights-inference-OrderBy)

## Bucketing waktu
<a name="cloudwatch-metrics-insights-inference-timebucketing"></a>

Titik data deret waktu yang dihasilkan dari kueri digulirkan ke dalam bucket waktu berdasarkan periode yang diminta. Untuk menggabungkan nilai dalam SQL standar, klausa GROUP BY eksplisit harus didefinisikan untuk mengumpulkan semua pengamatan periode tertentu bersama-sama. **Karena ini adalah cara standar untuk menanyakan data deret waktu, CloudWatch Metrics Insights menyimpulkan bucketing waktu tanpa perlu mengekspresikan klausa GROUP BY eksplisit.** 

Misalnya, ketika kueri dilakukan dengan periode satu menit, semua pengamatan yang termasuk dalam menit itu hingga berikutnya (dikecualikan) digulirkan ke waktu mulai bucket waktu. Ini membuat pernyataan SQL Wawasan Metrik lebih ringkas dan tidak bertele-tele. 

```
SELECT AVG(CPUUtilization)
FROM SCHEMA("AWS/EC2", InstanceId)
```

Kueri sebelumnya mengembalikan satu deret waktu (pasangan timestamp-nilai tunggal), yang mewakili rata-rata penggunaan CPU semua instans Amazon EC2. Dengan asumsi periode yang diminta adalah satu menit, setiap titik data yang dikembalikan mewakili rata-rata semua pengamatan yang diukur dalam interval satu menit tertentu (termasuk waktu mulai, waktu akhir eksklusif). Timestamp terkait titik data tertentu adalah waktu mulai bucket

## Proyeksi bidang
<a name="cloudwatch-metrics-insights-inference-fieldsprojection"></a>

Kueri Wawasan Metrik selalu menampilkan proyeksi timestamp. Anda tidak perlu menentukan kolom timestamp di klausa **SELECT** untuk mendapatkan timestamp setiap nilai titik data yang sesuai. Untuk detail tentang bagaimana timestamp dihitung, silakan lihat [Bucketing waktu](#cloudwatch-metrics-insights-inference-timebucketing).

Saat menggunakan **GROUP BY**, setiap nama kelompok juga disimpulkan dan diproyeksikan dalam hasilnya, sehingga Anda dapat mengelompokkan deret waktu yang dikembalikan. 

```
SELECT AVG(CPUUtilization)
FROM SCHEMA("AWS/EC2", InstanceId)
GROUP BY InstanceId
```

Kueri sebelumnya mengembalikan deret waktu untuk setiap instans Amazon EC2. Setiap deret waktu diberi label setelah nilai ID instance.

## Agregasi global ORDER BY
<a name="cloudwatch-metrics-insights-inference-OrderBy"></a>

Saat menggunakan **ORDER BY**, **FUNCTION ()** menyimpulkan fungsi agregat mana yang ingin Anda urutkan (nilai titik data dari metrik yang ditanyakan). Operasi agregat dilakukan di seluruh titik data yang cocok dari setiap deret waktu individu di dalam jendela waktu yang ditanyakan. 

```
SELECT AVG(CPUUtilization)
FROM SCHEMA("AWS/EC2", InstanceId)
GROUP BY InstanceId
ORDER BY MAX()
LIMIT 10
```

Kueri sebelumnya mengembalikan penggunaan CPU untuk setiap instans Amazon EC2, membatasi hasilnya hingga 10 entri. Hasilnya diurutkan berdasarkan nilai maksimum deret waktu individu dalam jendela waktu yang diminta. Klausa **ORDER BY** diterapkan sebelum **LIMIT**, sehingga pengurutan dihitung terhadap lebih dari 10 deret waktu.

# Kuota Wawasan Metrik
<a name="cloudwatch-metrics-insights-limits"></a>

CloudWatch Metrics Insights saat ini memiliki kuota berikut:
+ Kueri data hingga dua minggu untuk visualisasi dalam metrik, widget, dan grafik alarm Anda. Anda dapat menanyakan tiga jam data terbaru untuk evaluasi kondisi alarm.
+ Satu kueri dapat memproses tidak lebih dari 10.000 metrik. Ini berarti bahwa jika klausa **SELECT**, **FROM**, dan **WHERE** cocok dengan lebih dari 10.000 metrik, kueri hanya memproses 10.000 metrik pertama yang ditemukannya.
+ Satu kueri dapat mengembalikan tidak lebih dari 500 deret waktu. Ini berarti bahwa jika kueri akan mengembalikan lebih dari 500 metrik, tidak semua metrik akan dikembalikan dalam hasil kueri. Jika Anda menggunakan klausa **ORDER BY**, maka semua metrik yang sedang diproses akan diurutkan, dan 500 yang memiliki nilai tertinggi atau terendah sesuai dengan klausa **ORDER BY** Anda dikembalikan.

  Jika Anda tidak menyertakan klausa **ORDER BY**, Anda tidak dapat mengontrol 500 metrik pencocokan mana yang dikembalikan.
+ Anda dapat memiliki sebanyak 200 alarm Wawasan Metrik per Wilayah. 
+ Wawasan Metrik tidak mendukung data resolusi tinggi, yang merupakan data metrik yang dilaporkan dengan pedetail kurang dari satu menit. Jika Anda meminta data resolusi tinggi, permintaan tidak gagal, tetapi output dikumpulkan pada pedetail satu menit.
+ Setiap [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html)operasi hanya dapat memiliki satu kueri, tetapi Anda dapat memiliki beberapa widget di dasbor yang masing-masing menyertakan kueri.
+ Jika kueri menggunakan tag dengan **GROUP BY** atau **WHERE** cocok dengan metrik yang memiliki lebih dari 10 pembaruan tag, hanya 10 versi metrik yang diberi tag terbaru yang akan disertakan dalam hasil kueri.

# Kueri sampel Metrics Insights
<a name="cloudwatch-metrics-insights-queryexamples"></a>

Bagian ini berisi contoh kueri Wawasan CloudWatch Metrik yang berguna yang dapat Anda salin dan gunakan secara langsung atau salin dan modifikasi di editor kueri. Beberapa contoh ini sudah tersedia di konsol, dan Anda dapat mengaksesnya dengan memilih **Tambahkan kueri** di tampilan **Metrik**.

## Contoh Penyeimbang Beban Aplikasi
<a name="cloudwatch-metrics-insights-queryexamples-applicationloadbalancer"></a>

**Total permintaan di semua penyeimbang beban**

```
SELECT SUM(RequestCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer)
```

**10 teratas penyeimbang beban paling aktif**

```
SELECT MAX(ActiveConnectionCount) 
FROM SCHEMA("AWS/ApplicationELB", LoadBalancer) 
GROUP BY LoadBalancer 
ORDER BY SUM() DESC 
LIMIT 10
```

## AWS Contoh penggunaan API
<a name="cloudwatch-metrics-insights-queryexamples-APIusage"></a>

**Top 20 AWS APIs dengan jumlah panggilan di akun Anda**

```
SELECT COUNT(CallCount) 
FROM SCHEMA("AWS/Usage", Class, Resource, Service, Type) 
WHERE Type = 'API' 
GROUP BY Service, Resource 
ORDER BY COUNT() DESC 
LIMIT 20
```

**CloudWatch APIs diurutkan berdasarkan panggilan**

```
SELECT COUNT(CallCount) 
FROM SCHEMA("AWS/Usage", Class, Resource, Service, Type) 
WHERE Type = 'API' AND Service = 'CloudWatch' 
GROUP BY Resource 
ORDER BY COUNT() DESC
```

## Contoh DynamoDB
<a name="cloudwatch-metrics-insights-queryexamples-DynamoDB"></a>

**10 teratas tabel dengan bacaan yang dikonsumsi**

```
SELECT SUM(ProvisionedWriteCapacityUnits)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

**10 teratas tabel dengan byte yang dikembalikan**

```
SELECT SUM(ReturnedBytes)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

**10 teratas tabel berdasarkan kesalahan pengguna**

```
SELECT SUM(UserErrors)
FROM SCHEMA("AWS/DynamoDB", TableName) 
GROUP BY TableName
ORDER BY MAX() DESC LIMIT 10
```

## Contoh Amazon Elastic Block Store
<a name="cloudwatch-metrics-insights-queryexamples-EBS"></a>

**10 teratas Volume Amazon EBS berdasarkan byte yang ditulis**

```
SELECT SUM(VolumeWriteBytes) 
FROM SCHEMA("AWS/EBS", VolumeId) 
GROUP BY VolumeId 
ORDER BY SUM() DESC 
LIMIT 10
```

**Rata-rata waktu tulis volume Amazon EBS**

```
SELECT AVG(VolumeTotalWriteTime) 
FROM SCHEMA("AWS/EBS", VolumeId)
```

## Contoh-contoh Amazon EC2
<a name="cloudwatch-metrics-insights-queryexamples-EC2"></a>

**Penggunaan CPU instans EC2 yang diurutkan berdasarkan tertinggi**

```
SELECT AVG(CPUUtilization) 
  FROM SCHEMA("AWS/EC2", InstanceId) 
  GROUP BY InstanceId 
  ORDER BY AVG() DESC
```

**Penggunaan CPU rata-rata di seluruh armada**

```
SELECT AVG(CPUUtilization) 
FROM SCHEMA("AWS/EC2", InstanceId)
```

**10 teratas instans berdasarkan penggunaan CPU tertinggi**

```
SELECT MAX(CPUUtilization) 
FROM SCHEMA("AWS/EC2", InstanceId) 
GROUP BY InstanceId 
ORDER BY MAX() DESC 
LIMIT 10
```

**Dalam hal ini, CloudWatch agen mengumpulkan `CPUUtilization` metrik per aplikasi. Kueri ini menyaring rata-rata metrik ini untuk nama aplikasi tertentu.**

```
SELECT AVG(CPUUtilization)
FROM "AWS/CWAgent"
WHERE ApplicationName = 'eCommerce'
```

## Contoh Layanan Amazon Elastic Container
<a name="cloudwatch-metrics-insights-queryexamples-ECS"></a>

**Rata-rata penggunaan CPU di seluruh klaster ECS **

```
SELECT AVG(CPUUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName)
```

**10 teratas klaster berdasarkan penggunaan memori**

```
SELECT AVG(MemoryUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName) 
GROUP BY ClusterName 
ORDER BY AVG() DESC
LIMIT 10
```

**10 teratas layanan berdasarkan penggunaan CPU**

```
SELECT AVG(CPUUtilization) 
FROM SCHEMA("AWS/ECS", ClusterName, ServiceName) 
GROUP BY ClusterName, ServiceName 
ORDER BY AVG() DESC 
LIMIT 10
```

**10 teratas layanan dengan menjalankan tugas (Wawasan Kontainer)**

```
SELECT AVG(RunningTaskCount) 
FROM SCHEMA("ECS/ContainerInsights", ClusterName, ServiceName) 
GROUP BY ClusterName, ServiceName 
ORDER BY AVG() DESC 
LIMIT 10
```

## Contoh Amazon Elastic Kubernetes Service Container Insights
<a name="cloudwatch-metrics-insights-queryexamples-EKSCI"></a>

**Rata-rata penggunaan CPU di seluruh klaster EKS **

```
SELECT AVG(pod_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName)
```

**10 teratas klaster berdasarkan penggunaan CPU simpul**

```
SELECT AVG(node_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName) 
GROUP BY ClusterName
ORDER BY AVG() DESC LIMIT 10
```

**10 teratas klaster berdasarkan penggunaan memori pod**

```
SELECT AVG(pop_memory_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName) 
GROUP BY ClusterName
ORDER BY AVG() DESC LIMIT 10
```

**10 teratas simpul berdasarkan penggunaan CPU**

```
SELECT AVG(node_cpu_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName, NodeName) 
GROUP BY ClusterName, NodeName 
ORDER BY AVG() DESC LIMIT 10
```

**10 teratas pod berdasarkan penggunaan memori**

```
SELECT AVG(pod_memory_utilization) 
FROM SCHEMA("ContainerInsights", ClusterName, PodName) 
GROUP BY ClusterName, PodName 
ORDER BY AVG() DESC LIMIT 10
```

## EventBridge contoh
<a name="cloudwatch-metrics-insights-queryexamples-EventBridge"></a>

**10 teratas aturan berdasarkan invokasi**

```
SELECT SUM(Invocations)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

**10 teratas aturan berdasarkan invokasi yang gagal**

```
SELECT SUM(FailedInvocations)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

**10 teratas aturan berdasarkan aturan yang cocok**

```
SELECT SUM(MatchedEvents)
FROM SCHEMA("AWS/Events", RuleName) 
GROUP BY RuleName
ORDER BY MAX() DESC LIMIT 10
```

## Contoh Kinesis
<a name="cloudwatch-metrics-insights-queryexamples-Kinesis"></a>

**10 teratas aliran berdasarkan byte yang ditulis**

```
SELECT SUM("PutRecords.Bytes") 
FROM SCHEMA("AWS/Kinesis", StreamName) 
GROUP BY StreamName
ORDER BY SUM() DESC LIMIT 10
```

**10 teratas aliran berdasarkan item paling awal dalam aliran**

```
SELECT MAX("GetRecords.IteratorAgeMilliseconds") 
FROM SCHEMA("AWS/Kinesis", StreamName) 
GROUP BY StreamName
ORDER BY MAX() DESC LIMIT 10
```

## Contoh Lambda
<a name="cloudwatch-metrics-insights-queryexamples-Lambda"></a>

**Fungsi Lambda yang diurutkan berdasarkan jumlah invokasi**

```
SELECT SUM(Invocations) 
FROM SCHEMA("AWS/Lambda", FunctionName) 
GROUP BY FunctionName 
ORDER BY SUM() DESC
```

**10 teratas Fungsi Lambda berdasarkan runtime terpanjang**

```
SELECT AVG(Duration) 
FROM SCHEMA("AWS/Lambda", FunctionName) 
GROUP BY FunctionName 
ORDER BY MAX() DESC 
LIMIT 10
```

**10 teratas Fungsi Lambda berdasarkan jumlah kesalahan**

```
SELECT SUM(Errors) 
FROM SCHEMA("AWS/Lambda", FunctionName) 
GROUP BY FunctionName 
ORDER BY SUM() DESC 
LIMIT 10
```

## CloudWatch Contoh log
<a name="cloudwatch-metrics-insights-queryexamples-CloudWatchLogs"></a>

**10 teratas grup log berdasarkan peristiwa yang masuk**

```
SELECT SUM(IncomingLogEvents)
FROM SCHEMA("AWS/Logs", LogGroupName) 
GROUP BY LogGroupName
ORDER BY SUM() DESC LIMIT 10
```

**10 teratas grup log berdasarkan byte tertulis**

```
SELECT SUM(IncomingBytes)
FROM SCHEMA("AWS/Logs", LogGroupName) 
GROUP BY LogGroupName
ORDER BY SUM() DESC LIMIT 10
```

## Contoh-contoh Amazon RDS
<a name="cloudwatch-metrics-insights-queryexamples-RDS"></a>

**10 teratas Instans Amazon RDS berdasarkan penggunaan CPU tertinggi**

```
SELECT MAX(CPUUtilization)
FROM SCHEMA("AWS/RDS", DBInstanceIdentifier) 
GROUP BY DBInstanceIdentifier
ORDER BY MAX() DESC 
LIMIT 10
```

**10 teratas klaster Amazon RDS berdasarkan tulisan**

```
SELECT SUM(WriteIOPS)
FROM SCHEMA("AWS/RDS", DBClusterIdentifier) 
GROUP BY DBClusterIdentifier
ORDER BY MAX() DESC 
LIMIT 10
```

## Contoh Amazon Simple Storage Service
<a name="cloudwatch-metrics-insights-queryexamples-S3"></a>

**Latensi rata-rata berdasarkan bucket**

```
SELECT AVG(TotalRequestLatency) 
FROM SCHEMA("AWS/S3", BucketName, FilterId) 
WHERE FilterId = 'EntireBucket' 
GROUP BY BucketName 
ORDER BY AVG() DESC
```

**10 teratas bucket berdasarkan byte yang diunduh**

```
SELECT SUM(BytesDownloaded) 
FROM SCHEMA("AWS/S3", BucketName, FilterId) 
WHERE FilterId = 'EntireBucket'
GROUP BY BucketName 
ORDER BY SUM() DESC 
LIMIT 10
```

## Contoh Amazon Simple Notification Service
<a name="cloudwatch-metrics-insights-queryexamples-SNS"></a>

**Total pesan yang diterbitkan oleh topik SNS**

```
SELECT SUM(NumberOfMessagesPublished) 
FROM SCHEMA("AWS/SNS", TopicName)
```

**10 teratas topik berdasarkan pesan yang diterbitkan**

```
SELECT SUM(NumberOfMessagesPublished) 
FROM SCHEMA("AWS/SNS", TopicName) 
GROUP BY TopicName 
ORDER BY SUM() DESC 
LIMIT 10
```

**10 teratas topik berdasarkan kegagalan pengiriman pesan**

```
SELECT SUM(NumberOfNotificationsFailed) 
FROM SCHEMA("AWS/SNS", TopicName)
GROUP BY TopicName 
ORDER BY SUM() DESC 
LIMIT 10
```

## Contoh Amazon SQS
<a name="cloudwatch-metrics-insights-queryexamples-SQS"></a>

**10 antrian teratas berdasarkan jumlah pesan yang terlihat**

```
SELECT AVG(ApproximateNumberOfMessagesVisible)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY AVG() DESC 
LIMIT 10
```

**10 teratas kueri paling aktif**

```
SELECT SUM(NumberOfMessagesSent)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY SUM() DESC 
LIMIT 10
```

**10 teratas antrian berdasarkan umur pesan paling awal**

```
SELECT AVG(ApproximateAgeOfOldestMessage)
FROM SCHEMA("AWS/SQS", QueueName) 
GROUP BY QueueName
ORDER BY AVG() DESC 
LIMIT 10
```

# Glosarium Wawasan Metrik
<a name="cloudwatch-metrics-insights-glossary"></a>

**label**  
Dalam Metrics Insights, label adalah pasangan kunci-nilai yang digunakan untuk menyaring kueri agar mengembalikan satu himpunan data tertentu, atau untuk mendefinisikan kriteria di mana hasil kueri dipisahkan menjadi deret waktu terpisah. Kunci label mirip dengan nama kolom di SQL. Label harus dimensi CloudWatch metrik. 

**observasi**  
Pengamatan adalah nilai yang dicatat untuk metrik tertentu pada waktu tertentu.

# Pemecahan Masalah Metrik
<a name="cloudwatch-metrics-insights-troubleshooting"></a>

## Hasilnya termasuk "Lainnya," tetapi saya tidak memiliki ini sebagai dimensi
<a name="cloudwatch-metrics-insights-troubleshooting-other"></a>

Ini berarti bahwa kueri menyertakan klausa **GROUP BY** yang menentukan kunci label yang tidak digunakan dalam beberapa metrik yang dikembalikan oleh kueri. Dalam hal ini, grup kosong yang disebut `Other` dikembalikan. Metrik yang tidak menyertakan kunci label tersebut mungkin merupakan metrik agregat yang mengembalikan nilai yang dikumpulkan di semua nilai kunci label tersebut.

 Sebagai contoh, anggap kita memiliki kueri berikut:

```
SELECT AVG(Faults) 
FROM MyCustomNamespace 
GROUP BY Operation, ServiceName
```

Jika beberapa metrik yang dikembalikan tidak mencakup `ServiceName` sebagai dimensi, maka metrik tersebut ditampilkan memiliki `Other` sebagai nilai untuk `ServiceName`.

Untuk mencegah melihat "Lainnya" dalam hasil Anda, gunakan **SCHEMA** dalam klausa **FROM** Anda, seperti pada contoh berikut:

```
SELECT AVG(Faults) 
FROM SCHEMA(MyCustomNamespace, Operation)
GROUP BY Operation, ServiceName
```

Ini membatasi hasil yang dikembalikan hanya pada metrik yang memiliki dimensi `Operation` dan dimensi `ServiceName`.

## Timestamp tertua dalam grafik saya memiliki nilai metrik yang lebih rendah daripada yang lain
<a name="cloudwatch-metrics-insights-troubleshooting-oldest"></a>

CloudWatch Metrics Insights mendukung data historis hingga dua minggu. Ketika Anda membuat grafik dengan periode yang lebih lama dari satu menit, mungkin ada kasus di mana titik data tertua berbeda dengan nilai yang diharapkan. Ini karena kueri Wawasan CloudWatch Metrik hanya menampilkan data dalam periode retensi dua minggu. Dalam hal ini, titik data tertua dalam kueri hanya mengembalikan pengamatan yang telah diukur dalam batas dua minggu, alih-alih mengembalikan semua pengamatan dalam periode titik data tersebut.

## Nilai metrik yang tidak konsisten di periode waktu yang berbeda saat menggunakan kueri berbasis tag
<a name="cloudwatch-metrics-insights-troubleshooting-tag-mutations"></a>

Saat Anda menggunakan `WHERE` atau `GROUP BY` klausa dengan tag dalam kueri Wawasan CloudWatch Metrik, Anda mungkin melihat nilai metrik yang berbeda tergantung pada periode waktu yang dipilih. Misalnya, periode 6 jam mungkin menunjukkan nilai puncak 20, sedangkan periode 1 jam hanya menunjukkan 2 untuk jendela waktu yang sama.

Ini terjadi karena cap waktu tag disimpan dengan resolusi tingkat kedua, sedangkan titik data metrik disejajarkan dengan batas periode (misalnya, awal setiap menit atau jam). Untuk menentukan titik data mana yang cocok dengan rentang waktu tag CloudWatch , sesuaikan awal rentang dengan mengurangi satu periode. Dengan periode yang lebih besar, penyesuaian ini menciptakan kesenjangan yang lebih luas antara stempel waktu tag dan titik data yang disertakan paling awal, yang dapat menyebabkan titik data di dekat awal rentang dikecualikan.

Contoh berikut menunjukkan bagaimana hal ini mempengaruhi hasil query. Metrik memiliki dua nilai tag: `env=beta` (dari 00:00 hingga 01:30) dan `env=gamma` (dari 01:30 hingga 03:00). Setiap tag mencakup 90 menit data dengan SUM 270.

![\[Dua grafik CloudWatch metrik membandingkan hasil kueri berbasis tag dengan periode 1 menit dan 3 jam.\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/images/metrics-insights-tag-alignment.png)



| **env = beta dengan periode 1 menit** | Statistik | Expected | Kembali | Perbedaan | 
| --- | --- | --- | --- | --- | 
| JUMLAH | 270 | 271 | \$11 | 
| AVG | 3.0 | 3.0 | 0 | 
| MIN | 1 | 1 | 0 | 
| MAX | 5 | 5 | 0 | 
| SAMPLE\$1COUNT | 90 | 91 | \$11 | 


| **env = gamma dengan periode 1 menit** | Statistik | Expected | Kembali | Perbedaan | 
| --- | --- | --- | --- | --- | 
| JUMLAH | 270 | 275 | \$15 | 
| AVG | 3.0 | 3.0 | 0 | 
| MIN | 1 | 1 | 0 | 
| MAX | 5 | 5 | 0 | 
| SAMPLE\$1COUNT | 90 | 91 | \$11 | 

Dengan periode 1 menit, penyesuaian penyelarasan kecil (1 menit), jadi hanya 1 titik data tambahan yang disertakan per tag. Dengan periode 3 jam, penyesuaian mencakup seluruh rentang kueri:


| **env = beta dengan periode 3 jam** | Statistik | Expected | Kembali | Perbedaan | 
| --- | --- | --- | --- | --- | 
| JUMLAH | 270 | 540 | \$1270 | 
| AVG | 3.0 | 3.0 | 0 | 
| MIN | 1 | 1 | 0 | 
| MAX | 5 | 5 | 0 | 
| SAMPLE\$1COUNT | 90 | 180 | \$190 | 


| **env = gamma dengan periode 3 jam** | Statistik | Expected | Dikembalikan | Perbedaan | 
| --- | --- | --- | --- | --- | 
| JUMLAH | 270 | 540 | \$1270 | 
| AVG | 3.0 | 3.0 | 0 | 
| MIN | 1 | 1 | 0 | 
| MAX | 5 | 5 | 0 | 
| SAMPLE\$1COUNT | 90 | 180 | \$190 | 

Dengan periode 3 jam, kedua tag mengembalikan seluruh kumpulan data (SUM=540, SAMPLE\$1COUNT=180) karena stempel waktu titik data agregat tunggal berada dalam kedua rentang yang disesuaikan. Batas tag dihapus secara efektif.

Untuk mengurangi dampak perilaku ini, cobalah pendekatan berikut:
+ **Gunakan periode agregasi yang lebih kecil.** Periode yang lebih kecil (seperti 1 menit atau 5 menit) lebih cocok dengan resolusi tingkat kedua dari stempel waktu tag, yang meminimalkan kesenjangan penyelarasan dan membuatnya lebih mungkin bahwa semua titik data yang relevan disertakan.
+ **Gunakan pemfilteran berbasis dimensi alih-alih tag.** Jika kasus penggunaan Anda mengizinkannya, filter berdasarkan dimensi daripada tag. Kueri berbasis dimensi tidak terpengaruh oleh perilaku ini. Misalnya, gunakan `WHERE InstanceId = 'i-1234567890abcdef0'` sebagai ganti dari `WHERE tag."my-tag" = 'my-value'`.
+ **Kueri pada perincian yang konsisten.** Saat membandingkan data metrik di jendela waktu yang berbeda, gunakan periode yang sama untuk menghindari perbedaan tak terduga yang disebabkan oleh penyesuaian penyelarasan.