Pemfilteran dan agregasi: memanipulasi deret waktu

Pemfilteran dan agregasi di Cloud Monitoring memungkinkan Anda menyaring data deret waktu mentah dalam jumlah besar sehingga Anda dapat mengidentifikasi pola, tren, dan pencilan. Pemfilteran menghapus data yang tidak ingin Anda analisis, sedangkan agregasi menggabungkan titik data di seluruh waktu dan dimensi menjadi kumpulan ringkasan yang lebih kecil.

Operasi ini dibuat berdasarkan model data yang dijelaskan dalam Metrik, deret waktu, dan resource. Untuk menerapkan teknik ini, gunakan Cloud Monitoring API atau alat diagram dan pemberitahuan di konsol Google Cloud . Untuk contoh, lihat Contoh kebijakan API dan Contoh Monitoring Query Language.

Data deret waktu mentah

Jumlah data metrik mentah dalam satu deret waktu bisa sangat besar, dan biasanya ada banyak deret waktu yang terkait dengan jenis metrik. Untuk menganalisis seluruh set data guna menemukan kesamaan, tren, atau pencilan, Anda harus melakukan beberapa pemrosesan pada deret waktu dalam set tersebut. Jika tidak, akan ada terlalu banyak data yang harus dipertimbangkan.

Untuk memperkenalkan pemfilteran dan agregasi, contoh di halaman ini menggunakan sejumlah kecil deret waktu hipotetis. Misalnya, ilustrasi berikut menunjukkan data mentah selama beberapa jam dari tiga deret waktu:

Grafik yang menampilkan tiga deret waktu mentah: merah, biru, dan hijau.
Gambar 1: Tiga deret waktu mentah

Setiap deret waktu diberi warna merah, biru, atau hijau untuk mencerminkan nilai label color hipotetis. Ada satu deret waktu untuk setiap nilai label. Perhatikan bahwa nilai-nilai tersebut tidak berurutan dengan rapi, karena dicatat pada waktu yang berbeda.

Pemfilteran

Salah satu alat analisis yang paling efektif adalah pemfilteran, yang memungkinkan Anda menyembunyikan data yang tidak langsung Anda minati.

Anda dapat memfilter data deret waktu berdasarkan hal berikut:

  • Waktu.
  • Nilai dari satu atau beberapa label.

Ilustrasi berikut menunjukkan hasil pemfilteran untuk hanya menampilkan deret waktu merah dari kumpulan asli deret waktu mentah (diilustrasikan dalam Gambar 1):

Grafik yang menampilkan salah satu deret waktu mentah: merah.
Gambar 2: Setelah pemfilteran, satu deret waktu mentah

Deret waktu ini, yang dipilih dengan pemfilteran, digunakan di bagian berikutnya untuk menunjukkan penyelarasan.

Agregasi

Cara lain untuk mengurangi jumlah data yang Anda miliki adalah dengan meringkas, atau menggabungkan data tersebut. Ada dua aspek agregasi:

  • Penyelarasan, atau regularisasi data dalam satu deret waktu.
  • Pengurangan, atau menggabungkan beberapa deret waktu.

Anda harus menyelaraskan deret waktu sebelum dapat menguranginya. Beberapa bagian berikutnya menjelaskan penyelarasan dan pengurangan menggunakan deret waktu yang menyimpan nilai bilangan bulat. Konsep umum ini juga berlaku saat deret waktu memiliki jenis nilai Distribution; namun, ada beberapa batasan tambahan dalam kasus ini. Untuk mengetahui informasi selengkapnya, lihat Tentang metrik nilai distribusi.

Penyelarasan: regularisasi dalam deret

Langkah pertama dalam menggabungkan data deret waktu adalah penyelarasan. Penyelarasan membuat deret waktu baru yang data mentahnya telah diatur dalam waktu sehingga dapat digabungkan dengan deret waktu selaras lainnya. Penyelarasan menghasilkan deret waktu dengan data yang berjarak teratur.

Penyelarasan melibatkan dua langkah:

  1. Membagi deret waktu menjadi interval waktu reguler, yang juga disebut pengelompokan data. Interval ini disebut periode, periode penyelarasan, atau jendela penyelarasan.

  2. Menghitung satu nilai untuk titik-titik dalam periode penyelarasan. Anda memilih cara penghitungan titik tunggal tersebut; Anda dapat menjumlahkan semua nilai, atau menghitung rata-ratanya, atau menggunakan nilai maksimum.

Karena deret waktu baru yang dibuat oleh penyelarasan mewakili semua nilai dari deret waktu mentah yang berada dalam periode penyelarasan dengan satu nilai, deret waktu ini juga disebut pengurangan dalam deret atau agregasi dalam deret.

Meregularisasi interval waktu

Menganalisis data deret waktu mengharuskan titik data tersedia pada batas waktu yang berjarak sama. Penyelarasan adalah proses untuk mewujudkan hal ini.

Penyelarasan membuat deret waktu baru dengan interval konstan, yaitu periode penyelarasan, di antara titik data. Penyelarasan biasanya diterapkan ke beberapa deret waktu sebagai persiapan untuk manipulasi lebih lanjut.

Bagian ini mengilustrasikan langkah-langkah penyelarasan dengan menerapkannya ke satu deret waktu. Dalam contoh ini, periode penyelarasan satu jam diterapkan ke contoh deret waktu yang diilustrasikan dalam Gambar 2. Deret waktu menampilkan data yang diambil selama tiga jam. Membagi titik data menjadi periode satu jam akan menghasilkan titik-titik berikut di setiap periode:

Periode Nilai
1:01–2:00 400, 350, 300, 200
2:01–3:00 200, 100
3:01–4:00 300, 250, 200

Memilih periode penyelarasan

Durasi periode penyelarasan bergantung pada dua faktor:

  • Perincian hal yang ingin Anda temukan dalam data.
  • Periode pengambilan sampel data; yaitu, seberapa sering data dilaporkan.

Bagian berikut membahas faktor-faktor ini secara lebih mendetail.

Selain itu, Cloud Monitoring menyimpan data metrik untuk jangka waktu terbatas. Periode ini bervariasi menurut jenis metrik; lihat Retensi data untuk mengetahui detailnya. Periode retensi adalah periode penyelarasan bermakna yang paling lama.

Perincian

Jika Anda mengetahui bahwa sesuatu terjadi dalam rentang waktu beberapa jam, dan Anda ingin menggali lebih dalam, Anda mungkin ingin menggunakan periode satu jam atau beberapa menit untuk penyelarasan.

Jika Anda tertarik untuk mempelajari tren dalam jangka waktu yang lebih lama, periode penyelarasan yang lebih besar mungkin lebih sesuai. Periode penyelarasan yang besar biasanya tidak berguna untuk melihat kondisi anomali jangka pendek. Misalnya, jika Anda menggunakan periode penyelarasan multi-minggu, keberadaan anomali dalam periode tersebut mungkin masih dapat dideteksi, tetapi data yang diselaraskan mungkin terlalu kasar untuk membantu.

Frekuensi sampling

Frekuensi penulisan data, yaitu frekuensi sampling, juga dapat memengaruhi pilihan periode penyelarasan. Lihat Daftar metrik untuk mengetahui frekuensi sampling metrik bawaan. Perhatikan gambar berikut, yang mengilustrasikan deret waktu dengan frekuensi sampling satu titik per menit:

Grafik data mentah dengan periode pengambilan sampel 1 menit.

Jika periode penyelarasan sama dengan periode pengambilan sampel, maka ada satu titik data di setiap periode penyelarasan. Artinya, misalnya, menerapkan salah satu penyelarasan max, mean, atau min akan menghasilkan deret waktu selaras yang sama. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu asli sebagai garis pudar:

Grafik deret waktu yang diselaraskan dengan periode yang cocok dengan periode pengambilan sampel.

Untuk mengetahui informasi selengkapnya tentang cara kerja fungsi penyelarasan, lihat Penyelarasan.

Jika periode penyelarasan ditetapkan ke dua menit, atau dua kali lipat periode pengambilan sampel, maka ada dua titik data di setiap periode. Jika penyelarasan max, mean, atau min diterapkan ke titik dalam periode penyelarasan dua menit, deret waktu yang dihasilkan akan berbeda. Ilustrasi berikut menunjukkan hasil ini, beserta deret waktu asli sebagai garis pudar:

Grafik deret waktu yang diselaraskan dengan periode dua kali lipat periode pengambilan sampel.

Saat memilih periode penyelarasan, buat periode tersebut lebih lama daripada periode pengambilan sampel, tetapi cukup singkat untuk menampilkan tren yang relevan. Anda mungkin harus bereksperimen untuk menentukan periode penyelarasan yang berguna. Misalnya, jika data dikumpulkan dengan kecepatan satu titik per hari, periode penyelarasan satu jam terlalu singkat untuk berguna: untuk sebagian besar jam, tidak akan ada data.

Aligner

Setelah data dipecah menjadi periode penyelarasan, Anda memilih fungsi, yaitu penyelarasan, yang akan diterapkan ke titik data dalam periode tersebut. Aligner menghasilkan satu nilai yang ditempatkan di akhir setiap periode penyelarasan.

Opsi penyelarasan mencakup menjumlahkan nilai, menemukan nilai maksimum, minimum, atau rata-rata nilai, menemukan nilai persentil yang dipilih, menghitung nilai, dan lainnya. Cloud Monitoring API mendukung serangkaian besar fungsi penyelarasan, jauh lebih banyak daripada yang diilustrasikan di sini; lihat Aligner untuk daftar lengkapnya. Untuk deskripsi tentang penyelarasan rasio dan delta, yang mengubah data deret waktu, lihat Jenis, tipe, dan konversi.

Misalnya, dengan mengambil data yang dikelompokkan dari deret waktu mentah (diilustrasikan dalam Gambar 1), pilih penyelarasan dan terapkan ke data di setiap bucket. Tabel berikut menunjukkan nilai mentah dan hasil dari tiga penyelarasan yang berbeda, max, mean, dan min:

Periode Nilai Aligner: max Aligner: mean Aligner: min
1:01–2:00 400, 350, 300, 200 400 312,5 200
2:01–3:00 200, 100 200 150 100
3:01–4:00 300, 250, 200 300 250 200

Ilustrasi berikut menunjukkan hasil penerapan penyelarasan max, mean, atau min menggunakan periode penyelarasan 1 jam ke deret waktu merah asli (ditunjukkan oleh garis pudar dalam ilustrasi):

Grafik yang menampilkan deret waktu merah setelah menerapkan salah satu dari tiga penyelarasan yang berbeda.
Gambar 3: Satu deret waktu, yang diselaraskan dengan tiga cara

Beberapa aligner lainnya

Tabel berikut menunjukkan nilai mentah yang sama dan hasil dari tiga penyelarasan lainnya:

  • Count menghitung jumlah nilai dalam periode penyelarasan.
  • Sum menjumlahkan semua nilai dalam periode penyelarasan.
  • Next older menggunakan nilai terbaru dalam periode sebagai nilai penyelarasan.
Periode Nilai Aligner: hitung Aligner: sum Aligner: next older
1:01–2:00 400, 350, 300, 200 4 1250 200
2:01–3:00 200, 100 2 300 100
3:01–4:00 300, 250, 200 3 750 200

Hasil ini tidak ditampilkan di diagram.

Pengurangan: menggabungkan deret waktu

Langkah berikutnya dalam proses ini, reduksi, adalah proses menggabungkan beberapa deret waktu yang selaras menjadi deret waktu baru. Langkah ini mengganti semua nilai pada batas periode penyelarasan dengan satu nilai. Karena berfungsi di seluruh deret waktu yang terpisah, pengurangan juga disebut agregasi lintas deret.

Reducer

Reducer adalah fungsi yang diterapkan ke nilai di seluruh kumpulan deret waktu untuk menghasilkan satu nilai.

Opsi reducer mencakup menjumlahkan nilai yang diselaraskan atau menemukan nilai maksimum, minimum, atau rata-rata dari nilai tersebut. Cloud Monitoring API mendukung sekumpulan besar fungsi reduksi; lihat Reducer untuk mengetahui daftar lengkapnya. Daftar pengurang sejajar dengan daftar penyelarasan.

Deret waktu harus diselaraskan sebelum dapat direduksi. Ilustrasi berikut menunjukkan hasil penyelarasan ketiga deret waktu mentah (dari Gambar 1) ke dalam periode 1 jam dengan penyelarasan mean:

Grafik yang menampilkan tiga deret waktu yang diselaraskan dengan nilai rata-rata.
Gambar 4: Tiga deret waktu, mean diselaraskan

Nilai dari tiga deret waktu yang selaras dengan mean (diilustrasikan dalam Gambar 4) ditampilkan dalam tabel berikut:

Batas penyelarasan Merah Biru Hijau
2:00 312,5 133,3 400
3:00 150 283,3 433,3
4:00 250 300 350

Dengan menggunakan data yang selaras dalam tabel sebelumnya, pilih reducer dan terapkan ke nilai. Tabel berikut menunjukkan hasil penerapan berbagai reducer pada data yang diselaraskan dengan mean:

Batas penyelarasan Pengurang: maks Pengurang: rata-rata Pengurang: min Pengurang: jumlah
2:00 400 281,9 133,3 845,8
3:00 433,3 288,9 150 866,7
4:00 350 300 250 900

Secara default, pengurangan berlaku di semua deret waktu Anda, sehingga menghasilkan satu deret waktu. Ilustrasi berikut menunjukkan hasil penggabungan tiga deret waktu yang diselaraskan dengan mean menggunakan reducer max, yang menghasilkan nilai rata-rata tertinggi di seluruh deret waktu:

Grafik yang menunjukkan hasil penggunaan pengurang maksimum pada deret waktu yang diselaraskan dengan nilai rata-rata.
Gambar 5: Pengurangan Max dari tiga deret waktu yang selaras dengan nilai rata-rata

Pengurangan juga dapat digabungkan dengan pengelompokan, di mana deret waktu diatur ke dalam kategori, dan pengurang diterapkan di seluruh deret waktu di setiap grup.

Pengelompokan

Pengelompokan memungkinkan Anda menerapkan reducer di seluruh subset deret waktu, bukan di seluruh kumpulan deret waktu. Untuk mengelompokkan deret waktu, pilih satu atau beberapa label. Deret waktu kemudian dikelompokkan berdasarkan nilainya untuk label yang dipilih. Pengelompokan menghasilkan satu deret waktu untuk setiap grup.

Jika jenis metrik mencatat nilai untuk label zone dan color, Anda dapat mengelompokkan deret waktu berdasarkan salah satu atau kedua label. Saat Anda menerapkan reducer, setiap grup akan direduksi menjadi satu deret waktu. Jika Anda mengelompokkan berdasarkan warna, Anda akan mendapatkan satu deret waktu untuk setiap warna yang direpresentasikan dalam data. Jika mengelompokkan menurut zona, Anda akan mendapatkan deret waktu untuk setiap zona yang muncul dalam data. Jika Anda mengelompokkan berdasarkan keduanya, Anda akan mendapatkan deret waktu untuk setiap kombinasi warna dan zona.

Misalnya, Anda telah mengambil banyak deret waktu dengan nilai “merah”, “biru”, dan “hijau” untuk label color. Setelah menyelaraskan semua deret waktu, deret waktu tersebut dapat dikelompokkan menurut nilai color, lalu dikurangi menurut grup. Hal ini menghasilkan tiga deret waktu khusus warna:

Grafik yang menampilkan deret waktu yang dikelompokkan menurut warna dan direduksi.
Gambar 6: Deret waktu, dikelompokkan menurut warna dan dikurangi

Contoh ini tidak menentukan aligner atau reducer yang digunakan; intinya di sini adalah bahwa pengelompokan memungkinkan Anda mengurangi set deret waktu yang besar menjadi set yang lebih kecil, dengan setiap deret waktu mewakili grup yang memiliki atribut yang sama: dalam contoh ini, nilai label color.

Agregasi sekunder

Cloud Monitoring melakukan dua langkah agregasi.

  • Agregasi primer meregulasi data yang diukur, lalu menggabungkan deret waktu yang diregulasi menggunakan pengurang. Saat Anda menggunakan pengelompokan, lebih dari satu deret waktu mungkin dihasilkan dari pengurangan yang dilakukan sebagai bagian dari langkah ini.

  • Agregasi sekunder, yang berlaku untuk hasil langkah agregasi utama, memungkinkan Anda menggabungkan deret waktu yang dikelompokkan menjadi satu hasil menggunakan reducer kedua.

Tabel berikut menunjukkan nilai deret waktu yang dikelompokkan (diilustrasikan dalam Gambar 6):

Batas penyelarasan Grup merah Grup biru Grup hijau
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

Ketiga deret waktu yang sudah direduksi ini kemudian dapat direduksi lebih lanjut dengan menerapkan agregasi sekunder. Tabel berikut menunjukkan hasil penerapan reducer yang dipilih:

Batas penyelarasan Pengurang: maks Pengurang: rata-rata Pengurang: min Pengurang: jumlah
2:00 450 333,3 150 1000
3:00 450 333,3 200 1000
4:00 400 333,3 300 1000

Ilustrasi berikut menunjukkan hasil penggabungan tiga deret yang dikelompokkan dengan pereduksi mean:

Grafik yang menampilkan hasil pengurang rata-rata pada deret waktu yang dikurangi grup.
Gambar 7: Deret waktu yang dikelompokkan, setelah agregasi sekunder mean

Kind, jenis, dan konversi

Ingat bahwa titik data dalam deret waktu ditandai dengan jenis metrik dan jenis nilai; lihat Jenis nilai dan jenis metrik untuk ulasan. Aligner dan reducer yang sesuai untuk satu set data mungkin tidak sesuai untuk set data lainnya. Misalnya, aligner atau reducer yang menghitung jumlah nilai false sesuai untuk data boolean, tetapi tidak untuk data numerik. Demikian pula, aligner atau reducer yang menghitung mean berlaku untuk data numerik, tetapi tidak untuk data boolean.

Beberapa aligner dan reducer juga dapat digunakan untuk mengubah secara eksplisit jenis metrik atau jenis nilai data dalam deret waktu. Beberapa, seperti ALIGN_COUNT, melakukannya sebagai efek samping.

  • Jenis metrik: Metrik kumulatif adalah metrik yang setiap nilainya mewakili total sejak pengumpulan nilai dimulai. Anda tidak dapat menggunakan metrik kumulatif secara langsung dalam diagram, tetapi Anda dapat menggunakan metrik delta, yang setiap nilainya mewakili perubahan sejak pengukuran sebelumnya.

    Anda juga dapat mengonversi metrik kumulatif dan delta menjadi metrik pengukur. Misalnya, pertimbangkan metrik delta yang deret waktunya adalah sebagai berikut:

    (waktu mulai, waktu berakhir] (menit) value (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    Asumsikan bahwa Anda memilih penyelarasan ALIGN_DELTA dan periode penyelarasan tiga menit. Karena periode penyelarasan tidak cocok dengan (waktu mulai, waktu berakhir] untuk setiap sampel, deret waktu dibuat dengan nilai yang diinterpolasi. Untuk contoh ini, deret waktu yang diinterpolasi adalah:

    (waktu mulai, waktu berakhir] (menit) nilai interpolasi (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    Selanjutnya, semua titik dalam periode penyelarasan tiga menit dijumlahkan untuk menghasilkan nilai yang selaras:

    (waktu mulai, waktu berakhir] (menit) nilai yang diselaraskan (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    Jika ALIGN_RATE dipilih, prosesnya sama, kecuali bahwa nilai yang diselaraskan dibagi dengan periode penyelarasan. Untuk contoh ini, periode penyelarasan adalah tiga menit, sehingga deret waktu yang diselaraskan memiliki nilai berikut:

    (waktu mulai, waktu berakhir] (menit) nilai yang diselaraskan (MiB / detik)
    (0, 3] 0,056
    (3, 6] 0,022
    (6, 9] 0,050

    Untuk membuat diagram metrik kumulatif, metrik tersebut harus dikonversi menjadi metrik delta atau metrik rasio. Proses untuk metrik kumulatif mirip dengan pembahasan sebelumnya. Anda dapat menghitung deret waktu delta dari deret waktu kumulatif dengan menghitung perbedaan istilah yang berdekatan.

  • Jenis nilai: Beberapa aligner dan reducer membiarkan jenis nilai data input tidak berubah; misalnya, data bilangan bulat tetap berupa data bilangan bulat setelah penyelarasan. Aligner dan reducer lainnya mengonversi data dari satu jenis ke jenis lainnya, yang berarti informasi dapat dianalisis dengan cara yang tidak sesuai dengan jenis nilai aslinya.

    Misalnya, reducer REDUCE_COUNT dapat diterapkan ke data numerik, boolean, string, dan distribusi, tetapi hasil yang dihasilkannya adalah bilangan bulat 64-bit yang menghitung jumlah nilai dalam periode tersebut. REDUCE_COUNT hanya dapat diterapkan ke metrik gauge dan delta, dan tidak mengubah jenis metrik.

Tabel referensi untuk Aligner dan Reducer menunjukkan jenis data yang sesuai untuk masing-masing dan konversi yang dihasilkan. Misalnya, berikut ini entri untuk ALIGN_DELTA:

Entri referensi untuk penyelarasan delta