

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

# Menggunakan ekspresi matematika dengan CloudWatch metrik
<a name="using-metric-math"></a>

Matematika metrik memungkinkan Anda untuk menanyakan beberapa CloudWatch metrik dan menggunakan ekspresi matematika untuk membuat deret waktu baru berdasarkan metrik ini. Anda dapat memvisualisasikan rangkaian waktu yang dihasilkan pada CloudWatch konsol dan menambahkan ke dasbor. Dengan menggunakan AWS Lambda metrik sebagai contoh, Anda dapat membagi `Errors` metrik dengan `Invocations` metrik untuk mendapatkan tingkat kesalahan. Kemudian tambahkan deret waktu yang dihasilkan ke grafik di CloudWatch dasbor Anda.

Anda juga dapat melakukan matematika metrik secara terprogram, menggunakan Operasi API `GetMetricData`. Untuk informasi selengkapnya, lihat [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html).

## Tambahkan ekspresi matematika ke CloudWatch grafik
<a name="adding-metrics-expression-console"></a>

Anda dapat menambahkan ekspresi matematika ke grafik di CloudWatch dasbor Anda. Setiap grafik dibatasi menggunakan maksimum 500 metrik dan ekspresi, sehingga Anda dapat menambahkan ekspresi matematika hanya jika grafik memiliki 499 metrik atau lebih sedikit. Ini berlaku meskipun tidak semua metrik ditampilkan pada grafik.

**Untuk menambahkan ekspresi matematika ke grafik**

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

1. Buat atau sunting grafik. Setidaknya harus ada satu metrik dalam grafik.

1. Pilih **Metrik bergrafik**.

1. Pilih **Ekspresi matematika**, **Mulai dengan ekspresi kosong**. Garis baru muncul untuk ekspresi.

1. Di garis baru, berdasarkan kolom **Detail**, masukkan ekspresi matematika. Tabel di bagian **Sintaksis dan Fungsi Matematika Metrik** mencantumkan fungsi yang dapat Anda gunakan dalam ekspresi. 

   Untuk menggunakan metrik atau hasil ekspresi lain sebagai bagian dari rumus untuk ekspresi ini, gunakan nilai yang ditunjukkan di kolom **Id**: misalnya, **m1\$1m2** atau **e1-MIN(e1)**.

   Anda dapat mengubah nilai **Id**. Ini dapat mencakup angka, huruf, garis bawah, dan harus dimulai dengan huruf kecil. Mengubah nilai **Id** menjadi nama yang lebih bermakna juga dapat membuat grafik lebih mudah dipahami; misalnya, mengubah **m1** dan **m2** menjadi **kesalahan** dan **permintaan**.
**Tip**  
Pilih panah turun di sebelah **Ekspresi Matematika** untuk melihat daftar fungsi yang didukung, yang dapat Anda gunakan ketika membuat ekspresi.

1. Untuk kolom **Label** dari ekspresi, masukkan nama yang menjelaskan penghitungan ekspresi.

   Jika hasil dari ekspresi adalah susunan deret waktu, masing-masing rangkaian waktu tersebut ditampilkan pada grafik dengan garis terpisah, dengan warna berbeda. Tepat di bawah grafik terdapat legenda untuk setiap garis dalam grafik. Untuk ekspresi tunggal yang menghasilkan beberapa deret waktu, keterangan legenda untuk deret waktu tersebut ada dalam format ***Expression-Label Metric-Label***. Sebagai contoh, jika grafik mencakup metrik dengan label **Kesalahan** dan ekspresi**FILL(METRICS(), 0)** yang memiliki label **Filled With 0:**, satu garis dalam legenda akan **Filled With 0: Errors**. Agar legenda hanya menampilkan label metrik asli, atur *Expression-Label* menjadi kosong.

   Ketika satu ekspresi menghasilkan susunan deret waktu pada grafik, Anda tidak dapat mengubah warna yang digunakan untuk setiap deret waktu tersebut.

1. Setelah menambahkan ekspresi yang diinginkan, Anda dapat menyederhanakan grafik dengan menyembunyikan beberapa metrik asli. Untuk menyembunyikan metrik atau ekspresi, hapus kotak centang di sebelah kiri bidang **Id**.

## Sintaks dan fungsi matematika metrik
<a name="metric-math-syntax"></a>

Bagian berikut menjelaskan fungsi yang tersedia untuk matematika metrik. Semua fungsi harus ditulis dalam huruf besar (seperti **AVG**), dan bidang **Id** untuk semua metrik dan ekspresi matematika harus dimulai dengan huruf kecil. 

Hasil akhir ekspresi matematika harus berupa satu deret waktu atau susunan deret waktu. Beberapa fungsi menghasilkan angka skalar. Anda dapat menggunakan fungsi ini dalam fungsi yang lebih besar sehingga pada akhirnya menghasilkan satu deret waktu. Misalnya, mengambil **AVG** dari satu deret waktu menghasilkan angka skalar, sehingga ini tidak dapat menjadi hasil ekspresi akhir. Namun demikian, Anda dapat menggunakannya dalam fungsi **m1-AVG(m1)** untuk menampilkan deret waktu dari perbedaan antara setiap titik data individu dan nilai rata-rata dalam deret waktu.

### Singkatan tipe data
<a name="metric-math-syntax-datatypes"></a>

Beberapa fungsi hanya berlaku untuk jenis data tertentu. Singkatan dalam daftar berikut digunakan dalam tabel fungsi untuk mewakili jenis data yang didukung pada setiap fungsi:
+ **S** mewakili angka skalar, seperti 2, -5, atau 50,25.
+ **TS** adalah deret waktu (serangkaian nilai untuk satu CloudWatch metrik dari waktu ke waktu): misalnya, `CPUUtilization` metrik misalnya `i-1234567890abcdef0` selama tiga hari terakhir.
+ **TS[]** adalah susunan deret waktu, seperti deret waktu untuk beberapa metrik.
+ **String[]** adalah susunan string.

### Fungsi METRICS()
<a name="metric-math-syntax-metrics-function"></a>

Fungsi **METRICS()** mengembalikan semua metrik dalam permintaan. Ekspresi matematika tidak disertakan.

Anda dapat menggunakan **METRICS()** dalam ekspresi yang lebih besar yang menghasilkan satu deret waktu atau susunan deret waktu. Sebagai contoh, ekspresi **SUM(METRICS())**mengembalikan deret waktu (TS) yang merupakan jumlah dari nilai semua metrik yang digambarkan. **METRICS()/100** mengembalikan susunan deret waktu, masing-masing merupakan deret waktu yang menunjukkan setiap titik data dari salah satu metrik dibagi 100.

Anda dapat menggunakan fungsi **METRICS()** dengan sebuah string untuk mengembalikan hanya metrik yang digambarkan yang mengandung string tersebut dalam kolom **Id** mereka. Sebagai contoh, ekspresi **SUM(METRICS("error"))** mengembalikan deret waktu yang merupakan jumlah nilai semua metrik yang digambarkan yang memiliki ‘kesalahan’ dalam kolom **Id** mereka. Anda juga dapat menggunakan **SUM([METRICS (“4xx”), METRICS (“5xx”)])** untuk mencocokkan beberapa string.

### Fungsi aritmetika dasar
<a name="metric-math-syntax-arithmetic"></a>

Tabel berikut mencantumkan daftar fungsi aritmetika dasar yang didukung. Nilai yang hilang dalam deret waktu dianggap 0. Jika nilai titik data menyebabkan fungsi mencoba membagi dengan nol, maka titik data diabaikan.


| Operasi | Argumen | Contoh | 
| --- | --- | --- | 
|  Operator aritmetika: \$1 - \$1 / ^ |  S, S S, TS TS, TS S, TS[] TS, TS[]  |  PERIOD(m1)/60 **5 \$1 m1** **m1 - m2** **SUM(100/[m1, m2])** **AVG(METRICS())** **METRICS()\$1100**  | 
|  Pengurangan uner -  |  S TS TS[]  |  **-5\$1m1** **-m1** **SUM(-[m1, m2])**  | 

### Operator perbandingan dan logis
<a name="metric-math-syntax-operators"></a>

Anda dapat menggunakan operator perbandingan dan logika baik dengan sepasang deret waktu maupun sepasang nilai skalar tunggal. Ketika Anda menggunakan operator perbandingan dengan sepasang deret waktu, operator mengembalikan deret waktu di mana setiap titik data adalah 0 (salah) atau 1 (benar). Jika Anda menggunakan operator perbandingan pada sepasang nilai skalar, satu nilai skalar akan dikembalikan, baik 0 maupun 1.

Ketika operator perbandingan digunakan antara dua deret waktu, dan hanya satu deret waktu yang memiliki nilai untuk time stamp tertentu, fungsi menganggap nilai yang hilang dalam deret waktu lain sebagai **0**.

Anda dapat menggunakan operator logis bersama operator perbandingan, untuk membuat fungsi yang lebih kompleks.

Tabel berikut mencantumkan operator yang didukung.


| Jenis operator | Operator yang didukung | 
| --- | --- | 
|  Operator Perbandingan |  == \$1= <= >= < >  | 
|  Operator Logis |  AND atau && OR atau \$1\$1  | 

Untuk melihat bagaimana operator ini digunakan, misalkan kita memiliki dua deret waktu: **metric1** memiliki nilai `[30, 20, 0, 0]` dan **metric2** memiliki nilai `[20, -, 20, -]` di mana `-` menunjukkan bahwa tidak ada nilai untuk timestamp tersebut.


| Ekspresi | Output | 
| --- | --- | 
|  **(metric1 < metric2)** |  **0, 0, 1, 0**  | 
|  **(metric1 >= 30)** |  **1, 0, 0, 0**  | 
|  **(metric1 > 15 AND metric2 > 15)** |  **1, 0, 0, 0**  | 

### Fungsi yang didukung untuk matematika metrik
<a name="metric-math-syntax-functions-list"></a>

Tabel berikut menjelaskan fungsi yang dapat Anda gunakan dalam ekspresi matematika. Masukkan semua fungsi dalam huruf besar.

Hasil akhir ekspresi matematika harus berupa satu deret waktu atau susunan deret waktu. Beberapa fungsi dalam tabel di bagian berikut menghasilkan angka skalar. Anda dapat menggunakan fungsi ini dalam fungsi yang lebih besar sehingga pada akhirnya menghasilkan satu deret waktu. Misalnya, mengambil **AVG** dari satu deret waktu menghasilkan angka skalar, sehingga ini tidak dapat menjadi hasil ekspresi akhir. Namun demikian, Anda dapat menggunakannya dalam fungsi **m1-AVG(m1)** untuk menampilkan deret waktu dari perbedaan antara setiap titik data individu dan nilai rata-rata dari titik data itu.

Dalam tabel berikut, setiap contoh dalam kolom **Contoh** adalah ekspresi yang menghasilkan satu deret waktu atau susunan deret waktu. Contoh ini menunjukkan cara fungsi yang mengembalikan angka skalar dapat digunakan sebagai bagian dari ekspresi yang benar guna menghasilkan satu deret waktu.


| Fungsi | Argumen | Jenis pengembalian**\$1** | Deskripsi | Contoh | Didukung untuk lintas akun? | 
| --- | --- | --- | --- | --- | --- | 
|  **ABS** |  TS TS[]  |  TS TS[]  | Mengembalikan nilai mutlak dari setiap titik data. |  **ABS(m1-m2)** **MIN(ABS([m1, m2]))** **ABS(METRICS())**  | ✓ | 
|  **ANOMALY\$1DETECTION\$1BAND** |  TS TS, S  |  TS[]  | Mengembalikan pita deteksi anomali untuk metrik tertentu. Pita ini terdiri atas dua deret waktu, satu mewakili batas atas nilai yang diharapkan "normal" dari metrik, dan satu lagi mewakili batas bawah. Fungsi dapat menerima dua argumen. Yang pertama adalah ID metrik untuk membuat pita. Argumen kedua adalah jumlah penyimpangan baku yang digunakan untuk pita. Jika Anda tidak menentukan argumen ini, default 2 digunakan. Untuk informasi selengkapnya, lihat [Menggunakan CloudWatch deteksi anomali](CloudWatch_Anomaly_Detection.md). |  **ANOMALY\$1DETECTION\$1BAND(m1)** **ANOMALY\$1DETECTION\$1BAND(m1,4)**  |  | 
|  **AVG** |  TS TS[]  |  S TS  | **AVG** dari satu deret waktu mengembalikan skalar yang mewakili rata-rata semua titik data dalam metrik. **AVG** dari susunan deret waktu mengembalikan satu rangkaian waktu. Nilai yang hilang dianggap sebagai 0.   Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm jika Anda ingin fungsi mengembalikan skalar. Misalnya, `AVG(m2)`. Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta. Untuk menggunakan fungsi ini dengan alarm, terutama alarm yang memiliki tindakan Penskalaan Otomatis, kami sarankan Anda mengatur alarm untuk menggunakan M dari titik data N, di mana M < N.   |  **SUM([m1,m2])/AVG(m2)** **AVG(METRICS())**  | ✓ | 
|  **CEIL** |  TSTS[]  |  TS TS[]  | Mengembalikan batas tertinggi setiap metrik. Batas tertinggi adalah bilangan bulat terkecil yang lebih besar dari atau sama dengan setiap nilai. |  **CEIL(m1)** **CEIL(METRICS())** **SUM(CEIL(METRICS()))**  | ✓ | 
|  **DATAPOINT\$1COUNT** |  TS TS[]  |  S TS  | Mengembalikan hitungan titik data yang melaporkan nilai-nilai. Ini berguna untuk menghitung rata-rata metrik yang jarang.  Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm. Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **SUM(m1) / DATAPOINT\$1COUNT(m1)** **DATAPOINT\$1COUNT(METRICS())**  | ✓ | 
|  **DB\$1PERF\$1INSIGHTS** |  String, String, String String, String, String[]  |  TS (jika diberi satu string) TS[] (jika diberi susunan string)  | Mengembalikan metrik Wawasan Performa Counter untuk basis data seperti Amazon Relational Database Service dan Amazon DocumentDB (dengan kompatibilitas MongoDB). Fungsi ini mengembalikan jumlah data yang sama yang bisa Anda dapatkan dengan langsung menanyakan Performance APIs Insights. Anda dapat menggunakan metrik ini CloudWatch untuk membuat grafik dan membuat alarm.  Bila Anda menggunakan fungsi ini, Anda harus menentukan ID Sumber Daya Basis Data Unik dari basis data tersebut. Hal ini berbeda dengan pengidentifikasi basis data. Untuk menemukan ID sumber daya basis data di konsol Amazon RDS, pilih instans DB untuk melihat detailnya. Kemudian, pilih tab **Konfigurasi**. **ID Sumber Daya** ditampilkan di bagian **Konfigurasi**.  **DB\$1PERF\$1INSIGHTS** juga akan membawa metrik `DBLoad` pada interval sub-menit. Metrik Performance Insights yang diambil dengan fungsi ini tidak disimpan. CloudWatch **Oleh karena itu, beberapa CloudWatch fitur seperti observabilitas lintas akun, deteksi anomali, aliran metrik, penjelajah metrik, dan Metric Insights tidak berfungsi dengan metrik Performance Insights yang Anda ambil dengan DB\$1PERF\$1INSIGHTS.** Permintaan tunggal menggunakan fungsi **DB\$1PERF\$1INSIGHTS** dapat mengambil nomor titik data berikut. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/using-metric-math.html) Fungsi **DB\$1PERF\$1INSIGHTS** hanya mendukung panjang periode berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/using-metric-math.html) Untuk informasi selengkapnya tentang metrik penghitung Wawasan Performa Amazon RDS, silakan lihat [Metrik penghitung Wawasan Performa](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html). Untuk informasi selengkapnya tentang metrik penghitung Wawasan Performa Amazon DocumentDB, silakan lihat [ Metrik penghitung Wawasan Performa](https://docs.aws.amazon.com/documentdb/latest/developerguide/performance-insights-counter-metrics.html).  Metrik resolusi tinggi dengan perincian sub-menit yang diambil oleh **DB\$1PERF\$1INSIGHTS** hanya berlaku untuk metrik, atau untuk **DBLoad**metrik sistem operasi jika Anda telah mengaktifkan Enhanced Monitoring pada resolusi yang lebih tinggi. Untuk informasi selengkapnya tentang pemantauan yang ditingkatkan Amazon RDS, silakan lihat [Memantau metrik OS dengan Pemantauan yang Ditingkatkan](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html). . Anda dapat membuat sebuah alarm resolusi tinggi dengan menggunakan fungsi **DB\$1PERF\$1INSIGHTS** untuk rentang waktu maksimum selama tiga jam. Anda dapat menggunakan CloudWatch konsol untuk membuat grafik metrik yang diambil dengan fungsi **DB\$1PERF\$1INSIGHTS** untuk rentang waktu apa pun.  |  **DB\$1PERF\$1INSIGHTS ('RDS', 'db- ',' os.CPUUutilization.User.AVG ') ABCDEFGHIJKLMNOPQRSTUVWXY1** **DB\$1PERF\$1INSIGHTS ('DOCDB, 'db- ', [' os.CPUUutilization.idle.avg ',' os.CPUUutilization.User.max ABCDEFGHIJKLMNOPQRSTUVWXY1 '])**  |  | 
|  **DIFF** |  TSTS[]  |  TS TS[]  | Mengembalikan perbedaan antara setiap nilai dalam deret waktu dan nilai sebelumnya dari deret waktu tersebut. |  **DIFF(m1)**  | ✓ | 
|  **DIFF\$1TIME** |  TSTS[]  |  TS TS[]  | Mengembalikan perbedaan dalam detik antara timestamp setiap nilai dalam deret waktu dan timestamp nilai sebelumnya dari deret waktu tersebut. |  **DIFF\$1TIME(METRICS())**  | ✓ | 
|  **FILL** |  TS, [S \$1 REPEAT \$1 LINEAR] TS[], [TS \$1 S \$1 REPEAT \$1 LINEAR]  |  TS TS[]  | Mengisi nilai-nilai yang hilang dari deret waktu. Ada beberapa pilihan untuk nilai yang akan digunakan sebagai pengisi untuk nilai-nilai yang hilang: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/using-metric-math.html)  Saat menggunakan fungsi ini dalam alarm, Anda dapat mengalami masalah jika metrik Anda dipublikasikan dengan sedikit penundaan, dan menit terakhir tidak pernah memiliki data. Dalam hal ini, **FILL** menggantikan titik data yang hilang dengan nilai yang diminta. Ini menyebabkan titik data terbaru untuk metrik selalu menjadi nilai FILL, yang dapat mengakibatkan alarm macet dalam status OK atau status ALARM. Anda dapat mengatasi ini menggunakan alarm M dari N. Untuk informasi selengkapnya, lihat [Evaluasi alarm](alarm-evaluation.md).   |  **FILL(m1,10)** **FILL(METRICS(), 0)** **FILL(METRICS(), m1)** **FILL(m1, MIN(m1))** **FILL(m1, REPEAT)** **FILL(METRICS(), LINEAR)**  | ✓ | 
|  **FIRST** **LAST** |  TS[]  |  TS  | Mengembalikan deret waktu pertama atau terakhir dari susunan deret waktu. Ini berguna ketika digunakan dengan fungsi **SORT**. Ini juga dapat digunakan untuk mendapatkan ambang batas tinggi dan rendah dari fungsi **ANOMALY\$1DETECTION\$1BAND**.  |  **IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0)** Melihat metrik teratas dari susunan, yang diurutkan oleh AVG. Ini kemudian akan mengembalikan 1 atau 0 untuk setiap titik data, tergantung pada apakah nilai titik data tersebut lebih dari 100. **LAST(ANOMALY\$1DETECTION\$1BAND(m1))** mengembalikan batas atas pita prediksi anomali.  | ✓ | 
|  **FLOOR** |  TSTS[]  |  TS TS[]  | Mengembalikan pangkat setiap metrik. Pangkat adalah bilangan bulat terbesar yang kurang dari atau sama dengan setiap nilai. |  **FLOOR(m1)** **FLOOR(METRICS())**  | ✓ | 
|  **IF** |  Ekspresi **IF**  |  TS  | Gunakan **IF** bersama operator perbandingan untuk memfilter titik data dari deret waktu, atau membuat deret waktu campuran yang terdiri atas beberapa deret waktu gabungan. Untuk informasi selengkapnya, lihat [Menggunakan ekspresi IF](#using-IF-expressions). | Sebagai contoh, silakan lihat [Menggunakan ekspresi IF](#using-IF-expressions).  | ✓ | 
|  **INSIGHT\$1RULE\$1METRIC** |  **INSIGHT\$1RULE\$1METRIC(ruleName, metricName)**  |  TS  | Gunakan **INSIGHT\$1RULE\$1METRIC** untuk mengekstrak statistik dari aturan di Contributor Insightsr. Untuk informasi selengkapnya, lihat [Metrik grafik yang dihasilkan oleh aturan di CloudWatchMengatur Alarm pada Data Metrik Wawasan Kontributor](ContributorInsights-GraphReportData.md). |   |  | 
|  **LAMBDA** |  **LAMBDA (LambdaFunctionName [, opsional-arg] \$1)**  |  TS TS[]  | Memanggil fungsi Lambda untuk menanyakan metrik dari sumber data yang tidak. CloudWatch Untuk informasi selengkapnya, lihat [Cara meneruskan argumen ke fungsi Lambda Anda](CloudWatch_MultiDataSources-Custom-Use.md#MultiDataSources-Connect-Custom-Lambda-arguments). |   |  | 
|  **LOG** |  TS TS[]  |  TS TS[]  | **LOG** dari deret waktu mengembalikan nilai logaritma alami dari setiap nilai dalam deret waktu. |  **LOG(METRICS())**  | ✓ | 
|  **LOG10** |  TS TS[]  |  TS TS[]  | The **LOG10**of a time series mengembalikan nilai logaritma basis-10 dari setiap nilai dalam deret waktu. |  **LOG10(m1)**  | ✓ | 
|  **MAX** |  TS TS[]  |  S TS  | **MAX** dari satu deret waktu mengembalikan skalar yang mewakili nilai maksimum semua titik data dalam metrik. Jika Anda memasukkan array deret waktu, fungsi **MAX** membuat dan mengembalikan deret waktu yang terdiri dari nilai tertinggi untuk setiap titik data, di antara deret waktu yang digunakan sebagai input.   Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm jika Anda ingin fungsi mengembalikan skalar. Misalnya, `MAX(m2)` Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **MAX(m1)/m1** **MAX(METRICS())**  | ✓ | 
|  **METRIC\$1COUNT** |  TS[]  |  S  | Mengembalikan jumlah metrik dalam susunan deret waktu.  |  **m1/METRIC\$1COUNT(METRICS())**  | ✓ | 
|  **METRICS** |  kosong string  |  TS[]  | Fungsi **METRICS ()** mengembalikan semua CloudWatch metrik dalam permintaan. Ekspresi matematika tidak disertakan. Anda dapat menggunakan **METRICS()** dalam ekspresi yang lebih besar yang menghasilkan satu deret waktu atau susunan deret waktu. Anda dapat menggunakan fungsi **METRICS()** dengan sebuah string untuk mengembalikan hanya metrik yang digambarkan yang mengandung string tersebut dalam kolom **Id** mereka. Sebagai contoh, ekspresi **SUM(METRICS("error"))** mengembalikan deret waktu yang merupakan jumlah nilai semua metrik yang digambarkan yang memiliki ‘kesalahan’ dalam kolom **Id** mereka. Anda juga dapat menggunakan **SUM([METRICS (“4xx”), METRICS (“5xx”)])** untuk mencocokkan beberapa string.  |  **AVG(METRICS())** **SUM(METRICS("errors"))**  | ✓ | 
|  **MIN** |  TS TS[]  |  S TS  | **MIN** dari satu deret waktu tunggal mengembalikan skalar yang mewakili nilai minimum semua titik data dalam metrik.  Jika Anda memasukkan array deret waktu, fungsi **MIN** membuat dan mengembalikan deret waktu yang terdiri dari nilai terendah untuk setiap titik data, di antara deret waktu yang digunakan sebagai input. Jika Anda memasukkan array deret waktu, fungsi **MIN** membuat dan mengembalikan deret waktu yang terdiri dari nilai terendah untuk setiap titik data, di antara deret waktu yang digunakan sebagai input.   Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm jika Anda ingin fungsi mengembalikan skalar. Misalnya, `MIN(m2)` Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **m1-MIN(m1)** **MIN(METRICS())**  | ✓ | 
|  **MINUTE** **HOUR** **DAY** **DATE** **MONTH** **YEAR** **EPOCH** |  TS  |  TS  | Fungsi-fungsi ini mengambil periode dan rentang dari deret waktu dan mengembalikan deret waktu baru yang tidak jarang di mana setiap nilai didasarkan pada timestampnya. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/using-metric-math.html) |  **MINUTE(m1)** **IF(DAY(m1)<6,m1)** mengembalikan metrik hanya dari hari kerja, Senin sampai Jumat. **IF(MONTH(m1) == 4,m1)** mengembalikan hanya metrik yang diterbitkan pada bulan April.  | ✓ | 
|  **PERIOD** |  TS  |  S  | Mengembalikan periode metrik dalam detik. Input yang benar adalah metrik, bukan hasil ekspresi lainnya.  |  **m1/PERIOD(m1)**  | ✓ | 
|  **RATE** |  TS TS[]  |  TS TS[] | Mengembalikan tingkat perubahan metrik per detik. Ini dihitung sebagai selisih antara nilai titik data terbaru dan nilai titik data sebelumnya, dibagi dengan perbedaan waktu dalam detik antara dua nilai.  Menyetel alarm pada ekspresi yang menggunakan fungsi RATE pada metrik dengan data jarang dapat berperilaku tidak terduga, karena rentang titik data yang diambil saat mengevaluasi alarm dapat bervariasi berdasarkan kapan titik data terakhir diterbitkan.  |  **RATE(m1)** **RATE(METRICS())**  | ✓ | 
|  **REMOVE\$1EMPTY** |  TS[]  |  TS[] | Menghapus setiap deret waktu yang tidak memiliki titik data dari susunan deret waktu. Hasilnya adalah susunan deret waktu di mana setiap rangkaian waktu memuat paling sedikit satu titik data.  Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm. Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **REMOVE\$1EMPTY(METRICS())**   | ✓ | 
|  **RUNNING\$1SUM** |  TS TS[]  |  TS TS[]  | Mengembalikan deret waktu dengan jumlah berjalan dari nilai dalam deret waktu asli.  Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm. Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **RUNNING\$1SUM([m1,m2])**  | ✓ | 
|  **SEARCH** |  Ekspresi pencarian  |  Satu TS atau lebih  | Mengembalikan satu deret waktu atau lebih yang sesuai dengan kriteria pencarian yang Anda tentukan. Fungsi **SEARCH** memungkinkan Anda menambahkan beberapa deret waktu terkait ke grafik dengan satu ekspresi. Grafik diperbarui secara dinamis untuk menyertakan metrik baru yang ditambahkan kemudian dan cocok dengan kriteria pencarian. Untuk informasi selengkapnya, lihat [Gunakan ekspresi pencarian pada grafik](using-search-expressions.md). Anda tidak dapat membuat alarm berdasarkan ekspresi **SEARCH**. Hal ini karena ekspresi pencarian mengembalikan beberapa deret waktu, dan sebuah alarm yang dibuat berdasarkan ekspresi matematika hanya dapat mengawasi satu deret waktu. Jika Anda masuk ke akun pemantauan dalam observabilitas CloudWatch lintas akun, fungsi **SEARCH** akan menemukan metrik di akun sumber dan akun pemantauan. |   | ✓ | 
|  **SERVICE\$1QUOTA** |  TS yang merupakan metrik penggunaan  |  TS  | Mengembalikan kuota layanan untuk metrik penggunaan yang diberikan. Anda dapat menggunakan ini untuk memvisualisasikan cara penggunaan saat ini dibandingkan dengan kuota, dan mengatur alarm yang memperingatkan Anda ketika mendekati kuota. Untuk informasi selengkapnya, lihat [AWS metrik penggunaan](CloudWatch-Service-Quota-Integration.md). |   | ✓ | 
|  **SLICE** |  (TS[], S, S) atau (TS[], S)  |  TS[] TS  | Mengambil sebagian dari susunan deret waktu. Ini sangat berguna jika digabungkan dengan **SORT**. Sebagai contoh, Anda dapat mengecualikan hasil teratas dari susunan deret waktu. Anda dapat menggunakan dua pendapat skalar untuk menentukan seperangkat deret waktu yang ingin dikembalikan. Kedua skalar menetapkan awal (inklusif) dan akhir (eksklusif) dari susunan untuk kembali. Susunan diberi indeks nol, sehingga deret waktu pertama dalam susunan adalah deret waktu 0. Atau, Anda dapat menentukan hanya satu nilai, dan CloudWatch mengembalikan semua rangkaian waktu yang dimulai dengan nilai tersebut.  | **SLICE(SORT(METRICS), SUM, DESC), 0, 10)** mengembalikan 10 metrik dari susunan metrik dalam permintaan yang memiliki nilai SUM tertinggi. **SLICE(SORT(METRICS(), AVG, ASC), 5)** mengurutkan susunan metrik berdasarkan statistik AVG, kemudian mengembalikan semua deret waktu kecuali untuk 5 dengan AVG terendah.  | ✓ | 
|  **SORT** |  (TS[], FUNCTION, SORT\$1ORDER) (TS[], FUNCTION, SORT\$1ORDER, S)  |  TS[]  | Mengurutkan susunan deret waktu sesuai fungsi yang Anda tentukan. Fungsi yang Anda gunakan dapat berupa **AVG**, ****, **MAX**, atau **SUM**. Urutan pengurutan dapat berupa **ASC** untuk naik (nilai terendah terlebih dahulu) atau **DESC** untuk mengurutkan nilai lebih tinggi terlebih dahulu. Anda secara opsional dapat menentukan sebuah angka setelah urutan pengurutan yang bertindak sebagai batas. Sebagai contoh, menentukan batas 5 pengembalian hanya 5 deret waktu teratas dari pengurutan. Ketika fungsi matematika ini ditampilkan pada grafik, label untuk setiap metrik dalam grafik juga diurutkan dan diberi nomor.  | **SORT(METRICS(), AVG, DESC, 10)** menghitung nilai rata-rata setiap deret waktu, mengurutkan deret waktu dengan nilai tertinggi di awal pengurutan, dan mengembalikan hanya 10 deret waktu dengan rata-rata tertinggi. **SORT(METRICS(), MAX, ASC)** mengurutkan susunan metrik dengan statistik MAX, kemudian mengembalikan semuanya dalam urutan naik.  | ✓ | 
|  **STDDEV** |  TS TS[]  |  S TS  | **STDDEV** dari satu deret waktu mengembalikan skalar yang mewakili standar deviasi semua titik data dalam metrik. **STDDEV** dari susunan deret waktu mengembalikan satu rangkaian waktu.   Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm jika Anda ingin fungsi mengembalikan skalar. Misalnya, `STDDEV(m2)` Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **m1/STDDEV(m1)** **STDDEV(METRICS())**  | ✓ | 
|  **SUM** |  TS TS[]  |  S TS  | **SUM** dari satu deret waktu mengembalikan skalar yang mewakili jumlah nilai dari semua titik data dalam metrik. **AVG** dari susunan deret waktu mengembalikan satu deret waktu.   Kami menyarankan Anda untuk tidak menggunakan fungsi ini di CloudWatch alarm jika Anda ingin fungsi mengembalikan skalar. Misalnya, `SUM(m1)`. Setiap kali alarm mengevaluasi apakah akan mengubah status, CloudWatch mencoba untuk mengambil jumlah titik data yang lebih tinggi daripada nomor yang ditentukan sebagai Periode Evaluasi. Fungsi ini berperilaku berbeda ketika data tambahan diminta.  |  **SUM(METRICS())/SUM(m1)** **SUM([m1, m2])** **SUM(METRICS("errors"))/SUM(METRICS("requests"))\$1100**  | ✓ | 
|  **TIME\$1SERIES** |  S  |  TS  | Mengembalikan deret waktu non-jarang di mana setiap nilai diatur ke argumen skalar. |  **TIME\$1SERIES(MAX(m1))** **TIME\$1SERIES(5\$1AVG(m1))** **TIME\$1SERIES(10)**  | ✓ | 

**\$1**Menggunakan fungsi yang hanya mengembalikan angka skalar tidak benar, karena semua hasil akhir ekspresi harus berupa satu deret waktu atau susunan deret waktu. Alih-alih, gunakan fungsi ini sebagai bagian dari ekspresi yang lebih besar agar mengembalikan deret waktu.

## Menggunakan ekspresi IF
<a name="using-IF-expressions"></a>

Gunakan **IF** bersama operator perbandingan untuk memfilter titik data dari deret waktu, atau membuat deret waktu campuran yang terdiri atas beberapa deret waktu gabungan.

**IF** menggunakan argumen berikut:

```
IF(condition, trueValue, falseValue)
```

Ketentuan tersebut mengevaluasi menjadi FALSE jika nilai titik data ketentuan 0, dan menjadi TRUE jika nilai ketentuan kondisi adalah nilai lainnya, baik nilai tersebut positif maupun negatif. Jika ketentuannya adalah deret waktu, maka akan dievaluasi secara terpisah untuk setiap timestamp.

Berikut ini daftar sintaks yang valid. Untuk masing-masing sintaks ini, outputnya adalah deret waktu tunggal.
+ **JIKA (TS *Comparison Operator* S, S \$1 TS, *S \$1 TS*)**
**catatan**  
Jika TRUE tetapi `metric2` tidak memiliki titik data yang sesuai, outputnya akan menjadi 0. `TS comparison operator S`
+ **IF(TS, TS, *TS*)**
+ **IF(TS, S, *TS*)**
+ **IF(TS, TS, S)**
+ **IF(TS, S, S)**
+ **IF(S, TS, *TS*)**

Bagian berikut memberikan rincian lebih lanjut dan contoh untuk sintaks ini.

**IF (TS *Comparison Operator* S, skalar2 \$1 metrik2, skalar3 \$1 metrik3)**

Nilai deret waktu output yang sesuai:
+ **memiliki nilai **skalar2 atau **metrik2****, jika TS S BENAR *Comparison Operator***
+ **memiliki nilai **skalar3 atau **metrik3****, jika TS S adalah FALSE *Comparison Operator***
+ memiliki nilai **0** jika **TS *Comparison Operator*** TRUE dan titik data yang sesuai dalam **metrik2** tidak ada.
+ memiliki nilai **0** jika **TS *Comparison Operator*** FALSE dan titik data yang sesuai dalam **metrik3** tidak ada.
+ adalah deret waktu kosong, jika titik data yang sesuai tidak ada dalam **metric3**, atau jika **skalar3**/**metric3** dihilangkan dari ekspresi

**IF(metric1, metric2, *metric3*)**

Untuk setiap titik data **metric1**, nilai deret waktu output yang sesuai:
+ memiliki nilai **metric2**, jika titik data yang sesuai dari **metric1** TRUE.
+ memiliki nilai **metric3**, jika titik data yang sesuai dari **metric1** FALSE.
+ memiliki nilai **0**, jika titik data yang sesuai dari **metric1** TRUE dan titik data yang sesuai tidak ada dalam **metric2**.
+ **memiliki nilai **0**, jika titik data **metrik1** yang sesuai adalah FALSE dan titik data yang sesuai tidak ada dalam metrik3** 
+ dijatuhkan, jika titik data yang sesuai dari **metric1** adalah FALSE dan **metric3** dihilangkan dari ekspresi.
+ dijatuhkan, jika titik data **metrik1** yang sesuai hilang.

Tabel berikut menunjukkan contoh untuk sintaks ini.


| Metrik atau fungsi | Nilai-nilai | 
| --- | --- | 
|  **(metric1)** |  **[1, 1, 0, 0, -]**  | 
|  **(metric2)** |  **[30, -, 0, 0, 30]**  | 
|  **(metric3)** |  **[0, 0, 20, -, 20]**  | 
|  **IF(metric1, metric2, metric3)** |  **[30, 0, 20, 0, -]**  | 

**IF(metric1, scalar2, metric3)**

Untuk setiap titik data **metric1**, nilai deret waktu output yang sesuai:
+ memiliki nilai **scalar2**, jika titik data yang sesuai dari **metric1** TRUE.
+ memiliki nilai **metric3**, jika titik data yang sesuai dari **metric1** FALSE.
+ diabaikan, jika titik data yang sesuai dari **metric1** FALSE dan titik data yang sesuai tidak ada pada **metric3**, atau jika **metric3** dihilangkan dari ekspresi.


| Metrik atau fungsi | Nilai-nilai | 
| --- | --- | 
|  **(metric1)** |  **[1, 1, 0, 0, -]**  | 
|  **scalar2** |  **5**  | 
|  **(metric3)** |  **[0, 0, 20, -, 20]**  | 
|  **IF(metric1, scalar2, metric3)** |  **[5, 5, 20, -, -]**  | 

**IF(metric1, metric2, scalar3)**

Untuk setiap titik data **metric1**, nilai deret waktu output yang sesuai:
+ memiliki nilai **metric2**, jika titik data yang sesuai dari **metric1** TRUE.
+ memiliki nilai **scalar3**, jika titik data yang sesuai dari **metric1** FALSE.
+ memiliki nilai **0**, jika titik data yang sesuai dari **metric1** TRUE dan titik data yang sesuai tidak ada dalam **metric2**. 
+ diabaikan jika titik data yang sesuai pada **metric1** tidak ada. 


| Metrik atau fungsi | Nilai-nilai | 
| --- | --- | 
|  **(metric1)** |  **[1, 1, 0, 0, -]**  | 
|  **(metric2)** |  **[30, -, 0, 0, 30]**  | 
|  **scalar3** |  **5**  | 
|  **IF(metric1, metric2, scalar3)** |  **[30, 0, 5, 5, -]**  | 

**IF(scalar1, metric2, *metric3*)**

Nilai deret waktu output yang sesuai:
+ memiliki nilai **metric2**, jika **scalar1** TRUE.
+ memiliki nilai **metric3**, jika **scalar1** FALSE.
+ adalah deret waktu kosong, jika **metrik3** dihilangkan dari ekspresi.

### Gunakan contoh kasus untuk ekspresi IF
<a name="using-IF-expressions-use-cases"></a>

Contoh berikut menggambarkan kemungkinan penggunaan fungsi **IF**.
+ Untuk menampilkan hanya nilai metrik rendah:

  **IF(metric1<400, metric1)**
+ Untuk mengubah setiap titik data dalam metrik menjadi satu dari dua nilai, untuk menunjukkan tinggi dan rendah relatif dari metrik awal:

  **IF(metric1<400, 10, 2)**
+ Agar menampilkan 1 untuk setiap timestamp di mana latensi berada di atas ambang batas, dan menampilkan 0 untuk semua titik data lainnya:

  **IF(latency>threshold, 1, 0)**

### Gunakan matematika metrik dengan operasi GetMetricData API
<a name="using-metrics-expression-api"></a>

Anda dapat menggunakan `GetMetricData` untuk melakukan penghitungan menggunakan ekspresi matematika, dan juga mengambil kumpulan besar data metrik dalam satu panggilan API. Untuk informasi selengkapnya, lihat [GetMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html).

## Deteksi anomali pada matematika metrik
<a name="using-anomaly-detection-on-metric-math"></a>

Deteksi anomali pada matematika metrik adalah fitur yang dapat Anda gunakan untuk membuat alarm deteksi anomali pada metrik tunggal dan hasil ekspresi matematika metrik. Anda dapat menggunakan ekspresi-ekspresi ini untuk membuat grafik yang menggambarkan pita deteksi anomali. Fitur ini mendukung fungsi aritmatika dasar, operator perbandingan dan logika, dan sebagian besar fungsi lainnya.

**Deteksi anomali pada matematika metrik tidak mendukung fungsi berikut:**
+ Ekspresi yang berisi lebih dari satu **ANOMALY\$1DETECTION\$1BAND** di garis yang sama.
+ Ekspresi yang berisi lebih dari 10 metrik atau ekspresi matematika.
+ Ekspresi yang berisi ekspresi **METRIK**.
+ Ekspresi yang berisi fungsi **SEARCH**.
+ Ekspresi yang menggunakan fungsi **DP\$1PERF\$1INSIGHTS**.
+ Ekspresi yang menggunakan metrik dengan periode yang berbeda.
+ Ekspresi yang menggunakan periode lebih dari satu jam sebagai input.
+ Ekspresi yang menggunakan metrik resolusi tinggi sebagai input.

Untuk informasi selengkapnya tentang fitur ini, lihat [Menggunakan deteksi CloudWatch anomali](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html#anomaly_detection_on_metric_math) di * CloudWatch Panduan Pengguna Amazon*.