Dokumen ini menjelaskan cara membaca data metrik, yang juga disebut data deret waktu,
menggunakan metode timeSeries.list
di
Monitoring API.
Ada beberapa cara untuk memanggil metode timeSeries.list
:
- Anda dapat menggunakan tab Protocol di halaman ini untuk menggunakan APIs Explorer berbasis formulir.
- Anda dapat menggunakan library klien untuk bahasa tertentu.
- Anda dapat menggunakan Metrics Explorer.
Cara lain untuk membaca data metrik Anda adalah dengan mengirim perintah ke metode timeSeries.query
, yang memerlukan Bahasa Kueri Monitoring (MQL). Dokumen ini tidak menjelaskan
MQL atau metode timeSeries.query
. Untuk mengetahui informasi tentang
topik tersebut, lihat
Mengambil data dengan timeSeries.query
.
Ringkasan
Setiap panggilan ke metode timeSeries.list
dapat menampilkan berapa pun deret waktu dari satu jenis metrik. Misalnya, jika Anda menggunakan Compute Engine, jenis metrik compute.googleapis.com/instance/cpu/usage_time
memiliki deret waktu terpisah untuk setiap instance VM Anda.
Untuk pengantar metrik dan deret waktu, lihat Metrik, deret waktu, dan resource.
Anda menentukan data deret waktu yang Anda inginkan dengan memberikan informasi berikut ke metode timeSeries.list
:
- Ekspresi filter yang menentukan jenis metrik. Secara opsional, filter memilih subset deret waktu metrik dengan menentukan resource yang menghasilkan deret waktu atau menentukan nilai untuk label tertentu dalam deret waktu.
- Interval waktu yang membatasi jumlah data yang ditampilkan.
- Secara opsional, spesifikasi cara menggabungkan beberapa deret waktu untuk menghasilkan ringkasan gabungan data. Untuk informasi dan contoh selengkapnya, lihat Menggabungkan data.
Filter deret waktu
Anda menentukan deret waktu yang akan diambil dengan meneruskan
filter deret waktu ke
metode timeSeries.list
.
Berikut ini daftar komponen filter umum:
Filter harus menentukan satu jenis metrik. Contoh:
metric.type = "compute.googleapis.com/instance/cpu/usage_time"
Untuk mengambil metrik yang ditentukan pengguna, ubah awalan metric.type di filter menjadi
custom.googleapis.com
atau awalan lain jika digunakan;external.googleapis.com
sering digunakan.Filter dapat menentukan nilai untuk label dimensi metrik. Jenis metrik menentukan label yang ada. Contoh:
(metric.label.instance_name = "your-instance-id" OR metric.label.instance_name = "your-other-instance-id")
Pada ekspresi sebelumnya,
label
benar meskipun objek metrik yang sebenarnya menggunakanlabels
sebagai kuncinya.Filter hanya dapat memilih deret waktu yang berisi jenis resource tertentu yang dimonitor:
resource.type = "gce_instance"
Komponen filter dapat digabungkan menjadi satu filter deret waktu, seperti berikut:
metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
(metric.label.instance_name = "your-instance-id" OR
metric.label.instance_name = "your-other-instance-id")
Jika Anda tidak menentukan nilai untuk semua label metrik, metode list
akan menampilkan deret waktu untuk setiap kombinasi nilai dalam label yang tidak ditentukan. Metode ini hanya menampilkan deret waktu yang memiliki data.
Interval waktu
Saat menggunakan API untuk membaca data, Anda menetapkan interval waktu
yang datanya ingin Anda ambil dengan menetapkan waktu mulai dan berakhir.
API mengambil data dari interval (start, end]
, yaitu, dari setelah waktu mulai hingga waktu berakhir.
Waktu mulai tidak boleh setelah waktu berakhir. Jika Anda menentukan waktu mulai yang lebih lama dari waktu berakhir, API akan menampilkan error.
Jika Anda hanya ingin mengambil data dengan stempel waktu tertentu, tetapkan waktu mulai agar sama dengan waktu berakhir, atau dengan cara yang setara, jangan tetapkan waktu mulai.
Format waktu
Waktu mulai dan berakhir harus ditetapkan sebagai string dalam format RFC 3339. Contoh:
2024-03-01T12:34:56+04:00 2024-03-01T12:34:56.992Z
Perintah date -Iseconds
di Linux berguna untuk membuat stempel waktu.
Operasi daftar dasar
Metode timeSeries.list
dapat digunakan untuk
menampilkan data sederhana yang mentah, atau
dapat digunakan untuk menampilkan data yang sering diproses. Bagian ini menggambarkan cara mencantumkan deret waktu yang tersedia dan cara mendapatkan nilai dalam deret waktu tertentu.
Contoh: Mencantumkan deret waktu yang tersedia
Contoh ini menunjukkan cara menampilkan hanya nama dan deskripsi deret waktu yang cocok dengan filter, bukan menampilkan semua data yang tersedia:
Protokol
Buka halaman referensi
timeSeries.list
.Di panel berlabel Try this method, masukkan perintah berikut:
-
name: Masukkan jalur ke project Anda.
projects/PROJECT_ID
-
filter: Tentukan jenis metrik.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Masukkan waktu berakhir.
- interval.startTime: Masukkan waktu mulai dan pastikan 20 menit lebih awal dari waktu berakhir.
Klik Tampilkan parameter standar, lalu masukkan string berikut di kolom:
timeSeries.metric
-
name: Masukkan jalur ke project Anda.
Klik Jalankan.
Contoh output menunjukkan deret waktu untuk dua instance VM yang berbeda:
{
"timeSeries": [
{
"metric": {
"labels": {
"instance_name": "your-first-instance"
},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
},
{
"metric": {
"labels": {
"instance_name": "your-second-instance"
},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
}
]
}
Untuk melihat permintaan sebagai perintah curl
, sebagai permintaan HTTP, atau di JavaScript, klik fullscreen Layar penuh di APIs Explorer.
C#
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Jika Anda mengalami kesulitan, lihat Memecahkan masalah Monitoring API.
Contoh: Mendapatkan data deret waktu
Contoh ini menampilkan pengukuran pemakaian CPU yang dicatat dalam interval 20 menit untuk instance Compute Engine tertentu. Jumlah data yang ditampilkan bergantung pada frekuensi sampling metrik. Karena penggunaan CPU diambil sampelnya setiap menit, hasil kueri ini adalah sekitar 20 titik data. Jika beberapa titik data ditampilkan untuk sebuah deret waktu, API akan menampilkan titik data di setiap deret waktu dalam urutan waktu terbalik; tidak ada penggantian untuk pengurutan titik ini.
Protokol
Contoh protokol lebih lanjut membatasi output, agar data yang ditampilkan lebih mudah dikelola di kotak respons:
- Nilai filter membatasi deret waktu ke satu instance VM.
- Nilai fields hanya menentukan waktu dan nilai pengukuran.
Setelan ini membatasi jumlah data deret waktu yang ditampilkan dalam hasil.
Buka halaman referensi
timeSeries.list
.Di panel berlabel Try this method, masukkan perintah berikut:
-
name: Masukkan jalur ke project Anda.
projects/PROJECT_ID
filter: Tentukan jenis metrik.
metric.type = "compute.googleapis.com/instance/cpu/utilization" AND metric.label.instance_name = "INSTANCE_NAME"
interval.endTime: Masukkan waktu berakhir.
interval.startTime: Masukkan waktu mulai dan pastikan 20 menit lebih awal dari waktu berakhir.
Klik Tampilkan parameter standar, lalu masukkan string berikut di kolom:
timeSeries.points.interval.endTime,timeSeries.points.value
-
name: Masukkan jalur ke project Anda.
Klik Jalankan.
Permintaan tersebut menampilkan hasil seperti berikut:
{
"timeSeries": [
{
"points": [
{
"interval": {
"endTime": "2024-03-01T00:19:01Z"
},
"value": {
"doubleValue": 0.06763074536575005
}
},
{
"interval": {
"endTime": "2024-03-01T00:18:01Z"
},
"value": {
"doubleValue": 0.06886174467702706
}
},
...
{
"interval": {
"endTime": "2024-03-01T00:17:01Z"
},
"value": {
"doubleValue": 0.06929610064253211
}
}
]
}
]
}
Untuk melihat permintaan sebagai perintah curl
, sebagai permintaan HTTP, atau di JavaScript, klik fullscreen Layar penuh di APIs Explorer.
C#
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Jika Anda mengalami kesulitan, lihat Memecahkan masalah Monitoring API.
Menggabungkan data
Metode timeSeries.list
dapat melakukan agregasi dan pengurangan statistik pada data deret waktu
yang ditampilkan. Bagian berikut menunjukkan dua contoh.
Untuk mempelajari lebih lanjut, lihat
Pemfilteran dan agregasi: memanipulasi deret waktu.
Contoh: Menyelaraskan deret waktu
Contoh ini mengurangi 20 pengukuran pemakaian individual di setiap deret waktu menjadi 2 pengukuran: pemakaian rata-rata untuk dua periode 10 menit dalam interval 20 menit. Data dari setiap deret waktu pertama-tama diselaraskan ke dalam periode 10 menit, lalu nilai dalam setiap periode 10 menit dirata-ratakan.
Operasi penyelarasan memiliki dua keuntungan: menghaluskan data, dan menyelaraskan data dari semua data deret waktu pada batas 10 menit yang tepat. Data yang diselaraskan kemudian dapat diproses lebih lanjut.
Protokol
Buka halaman referensi
timeSeries.list
.Di panel berlabel Try this method, masukkan perintah berikut:
-
name: Masukkan jalur ke project Anda.
projects/PROJECT_ID
-
aggregation.alignmentPeriod: Masukkan
600s
-
aggregation.perSeriesAligner: Pilih
ALIGN_MEAN
-
filter: Tentukan jenis metrik.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Masukkan waktu berakhir.
- interval.startTime: Masukkan waktu mulai dan pastikan 20 menit lebih awal dari waktu berakhir.
-
Klik Tampilkan parameter standar, lalu masukkan string berikut di kolom:
timeSeries.metric,timeSeries.points
-
name: Masukkan jalur ke project Anda.
Klik Jalankan.
Filter untuk satu instance yang ditampilkan dalam contoh sebelumnya telah dihapus: kueri ini menampilkan lebih sedikit data, sehingga tidak perlu lagi membatasinya ke satu instance VM.
Hasil contoh berikut memiliki deret waktu untuk masing-masing dari tiga instance VM. Setiap deret waktu memiliki dua titik data, penggunaan rata-rata untuk periode penyelarasan 10 menit:
{
"timeSeries": [
{
"metric": {
"labels": {"instance_name": "your-first-instance"},
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.06688481346044381 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": {"doubleValue": 0.06786652821310177 }
}
]
},
{
"metric": {
"labels": { "instance_name": "your-second-instance" },
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.04144239874207415 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": { "doubleValue": 0.04045793689050091 }
}
]
},
{
"metric": {
"labels": { "instance_name": "your-third-instance" },
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": { "doubleValue": 0.029650046587339607 }
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": { "doubleValue": 0.03053874224715402 }
}
]
}
]
}
Untuk melihat permintaan sebagai perintah curl
, sebagai permintaan HTTP, atau di JavaScript, klik fullscreen Layar penuh di APIs Explorer.
C#
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Jika Anda mengalami kesulitan, lihat Memecahkan masalah Monitoring API.
Contoh: Mengurangi di seluruh deret waktu
Contoh ini memperluas contoh sebelumnya dengan menggabungkan deret waktu yang diselaraskan dari tiga instance VM menjadi satu deret waktu yang mengukur pemanfaatan rata-rata semua instance.
Protokol
Buka halaman referensi
timeSeries.list
.Di panel berlabel Try this method, masukkan perintah berikut:
-
name: Masukkan jalur ke project Anda.
projects/PROJECT_ID
-
aggregation.alignmentPeriod: Masukkan
600s
-
aggregation.perSeriesAligner: Pilih
ALIGN_MEAN
-
aggregation.crossSeriesReducer: Pilih
REDUCE_MEAN
-
filter: Tentukan jenis metrik.
metric.type = "compute.googleapis.com/instance/cpu/utilization"
- interval.endTime: Masukkan waktu berakhir.
- interval.startTime: Masukkan waktu mulai dan pastikan 20 menit lebih awal dari waktu berakhir.
-
Klik Tampilkan parameter standar, lalu masukkan string berikut di kolom:
timeSeries.metric,timeSeries.points
-
name: Masukkan jalur ke project Anda.
Klik Jalankan.
Hasil contoh berikut hanya memiliki satu deret waktu dan dua titik data. Setiap titik merupakan rata-rata pemakaian di antara tiga instance VM selama jangka waktu tertentu:
{
"timeSeries": [
{
"metric": {
"type": "compute.googleapis.com/instance/cpu/utilization"
},
"points": [
{
"interval": {
"startTime": "2024-03-01T00:20:00.000Z",
"endTime": "2024-03-01T00:20:00.000Z"
},
"value": {
"doubleValue": 0.045992419596619184
}
},
{
"interval": {
"startTime": "2024-03-01T00:10:00.000Z",
"endTime": "2024-03-01T00:10:00.000Z"
},
"value": {
"doubleValue": 0.04628773578358556
}
}
]
}
]
}
Untuk melihat permintaan sebagai perintah curl
, sebagai permintaan HTTP, atau di JavaScript, klik fullscreen Layar penuh di APIs Explorer.
C#
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Go
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengautentikasi ke Monitoring, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Jika Anda mengalami kesulitan, lihat Memecahkan masalah Monitoring API.
Langkah selanjutnya
- Pelajari Retensi dan latensi data metrik.
- Pelajari cara Pemfilteran dan agregasi: memanipulasi deret waktu.