Inferensi SQL - Amazon CloudWatch

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

Inferensi SQL

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

Bucketing waktu

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

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.

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 instans.

Agregasi global ORDER BY

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.