Data SLO disimpan dalam deret waktu. Anda dapat mengambil deret waktu SLO dengan
menentukan pemilih deret waktu dalam parameter filter
ke metode
timeSeries.list
atau dengan menggunakan mode
filter langsung di Metrics Explorer.
Kebijakan pemberitahuan berbasis SLO
Jika Anda membuat kebijakan pemberitahuan menggunakan Cloud Monitoring API, Anda menentukan filter menggunakan pemilih deret waktu sebagai kolom dalam kondisi nilai minimum kebijakan. Untuk mengetahui informasi tentang cara membuat kebijakan pemberitahuan berbasis SLO menggunakan Monitoring API, lihat Membuat kebijakan pemberitahuan.
Hanya sebagian kecil pemilih deret waktu yang tersedia untuk SLO yang dapat digunakan dalam kebijakan pemberitahuan.
Selain itu, kebijakan pemberitahuan berbasis SLO yang dibuat dengan Google Cloud konsol
selalu menggunakan pemilih select_slo_burn_rate
.
Menggunakan pemilih deret waktu dalam filter
Untuk mengambil data deret waktu untuk SLO, filter Anda harus menentukan pemilih deret waktu. Data SLO tidak disimpan dengan jenis metrik dan tidak dapat diambil dengan filter yang menentukan pasangan jenis metrik dan resource yang dipantau.
Nama dan argumen
Pemilih deret waktu memiliki salah satu bentuk berikut:
SELECTOR_NAME(SLO_NAME) SELECTOR_NAME(SLO_NAME, LOOKBACK_PERIOD)
Pemilih memiliki nama yang diawali dengan select_slo_
, dan mengambil satu atau dua argumen:
Argumen pertama untuk pemilih adalah nama resource untuk SLO, yang terlihat seperti ini:
projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID
Ekspresi sebelumnya berisi tiga variabel:
- PROJECT_ID: Nama atau nomor Google Cloud project.
- SERVICE_ID: Nama layanan.
- SLO_ID: ID untuk SLO yang ditentukan untuk layanan.
Untuk mengetahui informasi tentang cara menemukan nilai untuk kolom SERVICE_ID dan SLO_ID untuk project Google Cloud Anda, lihat Bekerja dengan API.
Argumen kedua, jika didukung, adalah periode lihat kembali. Lihat Jenis pemberitahuan anggaran error untuk mengetahui informasi tentang periode lihat ke belakang. Unit waktu yang valid adalah "ns", "us", "ms", "s", "m", "h".
Misalnya, pemilih select_slo_budget
mengambil argumen SLO_NAME,
sehingga filter yang menggunakan pemilih ini akan terlihat seperti berikut:
select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")
Sebaliknya, pemilih select_slo_burn_rate
memerlukan argumen
SLO_NAME dan LOOKBACK_PERIOD,
sehingga filter yang menggunakan pemilih ini akan terlihat seperti berikut:
select_slo_burn_rate("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID", "3600s")
Untuk melihat daftar dan deskripsi semua pemilih, lihat Pemilih deret waktu.
Mengambil data dengan pemilih
Salah satu cara untuk membuat kueri data deret waktu adalah dengan menggunakan alat APIs Explorer
di halaman referensi metode timeSeries.list
.
Untuk mengetahui informasi tentang alat ini, lihat APIs Explorer.
Misalnya, untuk mengambil informasi tentang anggaran SLO, selesaikan kolom berikut di alat APIs Explorer:
- name:
projects/PROJECT_ID
- filter:
select_slo_budget("projects/PROJECT_ID/services/SERVICE_ID/serviceLevelObjectives/SLO_ID")
- interval.startTime:
2021-10-07T13:00:20-04:00
- interval.endTime:
2021-10-08T13:00:20-04:00
Untuk satu sistem, setelah variabel seperti PROJECT_ID diganti dengan nilai dan metode dijalankan, data deret waktu berikut akan ditampilkan:
Pemilih deret waktu
Bagian ini mencantumkan pemilih deret waktu yang tersedia untuk SLO dan menjelaskan
apa yang diwakilinya. Semua pemilih dapat digunakan dalam filter dengan metode
timeSeries.list
untuk mengambil data deret waktu. Tidak semuanya didukung dalam kebijakan pemberitahuan.
select_slo_burn_rate
Sintaksis: select_slo_burn_rate(SLO_NAME, LOOKBACK_PERIOD)
Pemilih deret waktu “laju pengeluaran” menampilkan rasio tingkat kegagalan saat ini (tingkat permintaan buruk dalam interval lihat balik) terhadap tingkat kegagalan berkelanjutan untuk SLO. Tingkat kegagalan berkelanjutan adalah tingkat saat SLO terpenuhi dengan tepat.
Nilai dalam deret waktu ini dapat berkisar dari 0 hingga tak terhingga:
- Nilai satu menunjukkan bahwa layanan menunjukkan tingkat kegagalan yang ideal: tidak terlalu berisiko, tidak terlalu konservatif.
- Nilai yang lebih besar dari satu berarti tingkat kegagalan melebihi tingkat yang berkelanjutan. Makin tinggi nilainya, makin cepat SLO tidak mematuhi kepatuhan.
- Nilai kurang dari satu berarti tingkat kegagalan saat ini kurang dari tingkat berkelanjutan.
Sebaiknya gunakan dua kebijakan pemberitahuan untuk memantau kecepatan penggunaan: kebijakan penggunaan cepat untuk memberi tahu Anda tentang lonjakan kecepatan penggunaan, dan kebijakan penggunaan lambat untuk memberi tahu Anda tentang peningkatan bertahap.
Anda dapat membuat dan mengedit kebijakan pemberitahuan berdasarkan pemilih deret waktu ini dengan menggunakan API atau konsol Google Cloud .
Semua kebijakan pemberitahuan berbasis SLO yang dibuat menggunakan konsol Google Cloud menggunakan pemilih ini untuk mengambil data SLO.
select_slo_health
Sintaksis: select_slo_health(SLO_NAME)
Deret waktu “kualitas SLO” menjawab pertanyaan, “Selama periode penyelarasan tertentu, berapa rasio permintaan yang baik terhadap total permintaan?” SLI untuk layanan menentukan apa yang dianggap sebagai permintaan yang baik. Untuk mengetahui informasi selengkapnya tentang SLI, lihat Ringkasan.
Deret waktu ini mengukur performa layanan: jika setiap permintaan ke layanan berhasil, maka titik data dalam deret waktu ini memiliki nilai 1. Saat jumlah permintaan buruk meningkat, nilai titik data akan menurun.
select_slo_compliance
Sintaksis: select_slo_compliance(SLO_NAME)
Deret waktu “kepatuhan SLO” menjawab pertanyaan, “Berapa rasio unit yang baik terhadap total unit sejak awal periode kepatuhan?” SLO menentukan periode kepatuhan sebagai jendela bergulir atau rentang waktu kalender. Unit dapat berupa permintaan atau jangka waktu. Untuk mengetahui informasi selengkapnya, lihat Kepatuhan dalam SLO berbasis permintaan dan berbasis periode.
Deret waktu ini memberikan gambaran umum tentang seberapa baik layanan memenuhi SLO. Tidak menghasilkan sinyal yang mendesak secara operasional.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.
select_slo_budget
Sintaksis: select_slo_budget(SLO_NAME)
Deret waktu “anggaran SLO” menjawab pertanyaan, “Berapa banyak anggaran error yang tersisa pada saat pengukuran?” Anggaran error dapat diukur dalam permintaan atau menit, dan jumlah yang tersisa dihitung berdasarkan apakah periode kepatuhan diukur dalam waktu kalender atau sebagai jendela geser. Untuk mengetahui informasi selengkapnya, lihat Anggaran error.
Deret waktu ini mengukur risiko keandalan layanan. Jika anggaran error menjadi kurang dari nol, SLO untuk periode saat ini mungkin tidak dapat dipenuhi. Kegagalan dalam memenuhi SLO dapat memiliki konsekuensi nyata bagi lingkungan produksi organisasi, bergantung pada cara organisasi mengatur keandalan.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.
select_slo_budget_fraction
Sintaksis: select_slo_budget_fraction(SLO_NAME)
Deret waktu “fraksi anggaran SLO” menjawab pertanyaan, “Berapa banyak anggaran error, sebagai fraksi dari minus tak terhingga hingga satu, yang tersisa saat ini?”
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.
select_slo_budget_total
Sintaksis: select_slo_budget_total(SLO_NAME)
Deret waktu “Total anggaran SLO” menjawab pertanyaan, “Berapa total anggaran error (dalam permintaan atau menit) yang diproyeksikan akan tersedia saat ini, berdasarkan perilaku layanan sejak awal periode kepatuhan?” SLO menentukan periode kepatuhan sebagai jendela bergulir atau rentang waktu kalender.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.
select_slo_counts
Sintaksis: select_slo_counts(SLO_NAME)
Deret waktu “jumlah SLO” menjawab pertanyaan, “Selama periode penyelarasan tertentu, berapa jumlah permintaan yang baik dan buruk?” Pemilih ini menyediakan deret waktu yang mencatat kesehatan umum dan cocok untuk penyerapan ke dalam sistem penyimpanan jangka panjang.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.