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 membuat kebijakan pemberitahuan menggunakan Cloud Monitoring API, Anda menentukan filter menggunakan pemilih deret waktu sebagai kolom dalam kondisi nilai minimum kebijakan. Untuk informasi tentang cara membuat kebijakan pemberitahuan berbasis SLO menggunakan Monitoring API, lihat Membuat kebijakan pemberitahuan.
Hanya sebagian selektor deret waktu yang tersedia untuk SLO yang dapat digunakan dalam
kebijakan pemberitahuan.
Selain itu, kebijakan pemberitahuan berbasis SLO yang dibuat dengan konsol Google Cloud
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 sepasang jenis metrik dan resource yang dimonitor.
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 memerlukan 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 project Google Cloud.
- 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 Menggunakan API.
Argumen kedua, jika didukung, adalah periode lihat balik. Lihat Jenis pemberitahuan anggaran error untuk mengetahui informasi tentang periode lihat balik. Satuan waktu yang valid adalah "ns", "us", "ms", "s", "m", "h".
Misalnya, pemilih select_slo_budget
menggunakan argumen SLO_NAME, sehingga filter yang menggunakan pemilih ini 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 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 API Explorer
di halaman referensi metode timeSeries.list
.
Untuk informasi tentang alat ini, lihat APIs Explorer.
Misalnya, untuk mengambil informasi tentang anggaran SLO, isi kolom berikut di alat API 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 semua peristiwa tersebut
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 yang berkelanjutan untuk SLO. Tingkat kegagalan berkelanjutan adalah tingkat pencapaian SLO yang tepat.
Nilai dalam deret waktu ini dapat berkisar dari 0 hingga tak terbatas:
- Nilai satu menunjukkan bahwa layanan menunjukkan tingkat kegagalan yang ideal: tidak terlalu berisiko, tidak terlalu konservatif.
- Nilai yang lebih besar dari satu berarti rasio kegagalan melebihi rasio yang berkelanjutan. Makin tinggi nilainya, makin cepat SLO tidak mematuhi kebijakan.
- Nilai kurang dari satu berarti tingkat kegagalan saat ini kurang dari tingkat yang berkelanjutan.
Sebaiknya gunakan dua kebijakan pemberitahuan untuk memantau burn rate: kebijakan burn rate cepat untuk memberi tahu Anda tentang lonjakan burn rate, dan kebijakan burn rate lambat untuk memberi tahu Anda tentang peningkatan bertahap.
Anda dapat membuat dan mengedit kebijakan pemberitahuan berdasarkan pemilih deret waktu ini 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 “Status 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 informasi selengkapnya tentang SLI, lihat Ringkasan.
Deret waktu ini mengukur performa layanan: jika setiap permintaan ke layanan bagus, titik data dalam deret waktu ini akan 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 periode bergulir atau rentang waktu kalender. Unit dapat berupa permintaan atau jangka waktu. Untuk informasi selengkapnya, lihat Kepatuhan dalam SLO berbasis permintaan dan periode.
Deret waktu ini memberi Anda gambaran umum tentang seberapa baik layanan memenuhi SLO. Sinyal ini 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 periode bergulir. Untuk mengetahui informasi selengkapnya, lihat Anggaran error.
Deret waktu ini mengukur risiko dalam keandalan layanan. Jika anggaran error menjadi kurang dari nol, Anda mungkin tidak dapat memenuhi SLO untuk periode saat ini. Kegagalan dalam memenuhi SLO mungkin memiliki konsekuensi nyata bagi lingkungan produksi organisasi, bergantung pada cara organisasi mengelola keandalan.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.
select_slo_budget_fraction
Sintaksis: select_slo_budget_fraction(SLO_NAME)
Deret waktu “Pecahan anggaran SLO” menjawab pertanyaan, “Berapa banyak anggaran error, sebagai pecahan dari negatif 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 “Anggaran total SLO” menjawab pertanyaan, “Berapa total anggaran error (dalam permintaan atau menit) yang diperkirakan akan tersedia saat ini, berdasarkan perilaku layanan sejak awal periode kepatuhan?” SLO menentukan periode kepatuhan sebagai periode 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 kondisi umum dan cocok untuk diserap ke dalam sistem penyimpanan jangka panjang.
Jangan gunakan pemilih deret waktu ini dalam kebijakan pemberitahuan.