Dokumen ini menjelaskan cara mengonfigurasi pemeriksaan waktu aktif untuk memvalidasi kode respons HTTP dan data respons yang dikirim oleh resource yang diperiksa. Secara
default, pemeriksaan uptime HTTP memverifikasi bahwa kode respons adalah 2xx
. Selain itu,
secara default, data respons tidak divalidasi. Namun, Anda dapat mengubah setelan ini. Misalnya, Anda dapat mengonfigurasi cek uptime HTTP untuk menerima kode respons 2xx
dan 3xx
. Untuk semua cek uptime, Anda dapat menentukan nilai yang harus, atau tidak boleh, ada dalam data respons agar cek uptime berhasil.
Fitur ini hanya didukung untuk Google Cloud project. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
Cara memvalidasi data respons
Anda dapat mengonfigurasi Cloud Monitoring untuk memvalidasi data respons dari resource yang diperiksa saat Anda membuat atau mengedit cek uptime.
Google Cloud console
Untuk membuat pemeriksaan uptime yang memvalidasi data respons, lakukan langkah berikut:
-
Di konsol Google Cloud , buka halaman
Pemeriksaan uptime:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
- Klik Create uptime check.
- Masukkan Judul, lalu klik Berikutnya.
- Masukkan Target, lalu klik Berikutnya.
Konfigurasi Validasi respons:
- Untuk memvalidasi data respons, pastikan Pencocokan konten diaktifkan ditampilkan, lalu isi kolom yang terkait dengan validasi respons. Untuk mengetahui informasi tentang opsi ini, lihat bagian berikutnya dalam dokumen ini.
- Untuk pemeriksaan uptime HTTP, konfigurasikan kode respons yang dapat diterima.
Secara default, pemeriksaan uptime HTTP menandai setiap respons
2xx
sebagai respons yang berhasil.
Klik Berikutnya dan selesaikan konfigurasi pemeriksaan uptime.
Cloud Monitoring API
Untuk mengonfigurasi pemeriksaan waktu aktif guna memvalidasi data respons, isi array contentMatchers
dari objek UptimeCheckConfig
.
Objek ContentMatcher
berisi kolom berikut:
matcher
: Menjelaskan cara perbandingan dilakukan. Untuk mengetahui daftar nilai, lihatContentMatcherOption
.Jangan gunakan nilai
CONTENT_MATCHER_OPTION_UNSPECIFIED
.content
: Menyimpan nilai yang akan dicari dalam data respons. Nilainya adalah literal string atau ekspresi reguler.jsonPathMatcher
: Menyimpan objekJsonPathMatcher
yang mendeskripsikan JSONpath yang akan dicari dan cara melakukan perbandingan.Jangan sertakan kolom ini kecuali pemeriksaan waktu aktif memvalidasi JSONpath tertentu.
Bagian selanjutnya dari dokumen ini menjelaskan cara menggunakan opsi pencocokan konten.
Opsi untuk memvalidasi data respons
Bagian ini menjelaskan strategi pencocokan string yang dapat Anda gunakan untuk memvalidasi respons yang dikirim oleh resource yang diperiksa. Untuk setiap strategi, Anda menentukan nilai dan apakah menemukan nilai tersebut dalam data respons menyebabkan pemeriksaan waktu aktif berhasil atau gagal.
Seluruh respons dari sumber yang diperiksa mungkin tidak dapat ditelusuri:
- Pemeriksaan uptime HTTP dan HTTPS: 4 MB pertama dicari.
- Pemeriksaan uptime TCP: 1 MB pertama akan ditelusuri.
Menelusuri substring literal
Google Cloud console
Untuk mengonfigurasi pemeriksaan uptime agar lulus saat data respons berisi substring literal, gunakan setelan berikut:
- Pilih Berisi di menu Jenis pencocokan konten respons.
- Masukkan substring literal di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Untuk mengonfigurasi pemeriksaan waktu aktif agar gagal saat data respons berisi substring literal, gunakan setelan berikut:
- Pilih Tidak berisi di menu Jenis pencocokan konten respons.
- Masukkan substring literal di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Cloud Monitoring API
Untuk mengonfigurasi pemeriksaan uptime agar lulus saat data respons berisi substring literal, gunakan nilai berikut:
... "contentMatchers": [ { "content": "Set to the string to be matched.", "matcher": "CONTAINS_STRING" } ], ...
Untuk mengonfigurasi pemeriksaan waktu aktif agar gagal saat data respons berisi substring literal, gunakan nilai berikut:
... "contentMatchers": [ { "content": "Set to the string to be matched.", "matcher": "NOT_CONTAINS_STRING" } ], ...
Tabel berikut menampilkan status pemeriksaan waktu aktif untuk berbagai data respons, string pengujian, dan jenis pengujian:
Status cek uptime | |||
---|---|---|---|
Data respons | String pengujian | Berisi | Tidak berisi |
abcd |
abcd |
lulus | gagal |
abc |
abcd |
gagal | lulus |
abc |
a |
lulus | gagal |
Uptime Checks |
Uptime |
lulus | gagal |
Uptime Checks |
uptime |
gagal | lulus |
Pada tabel sebelumnya, kolom Data respons menjelaskan data yang ditampilkan oleh resource yang dicentang, sedangkan kolom String pengujian mencantumkan literal string. Dua kolom berikutnya menentukan jenis pengujian dan hasil pemeriksaan uptime.
Menelusuri menggunakan ekspresi reguler
Google Cloud console
Untuk mengonfigurasi pemeriksaan waktu aktif agar lulus saat data respons cocok dengan ekspresi reguler, gunakan setelan berikut:
- Pilih Cocok dengan ekspresi reguler di menu Jenis pencocokan konten respons.
- Masukkan regular expression di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Untuk mengonfigurasi pemeriksaan uptime agar gagal saat data respons cocok dengan ekspresi reguler, gunakan setelan berikut:
- Pilih Tidak cocok dengan ekspresi reguler di menu Jenis pencocokan konten respons.
- Masukkan regular expression di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Cloud Monitoring API
Untuk mengonfigurasi pemeriksaan uptime agar lulus saat data respons cocok dengan ekspresi reguler, gunakan nilai berikut:
... "contentMatchers": [ { "content": "Set to the regular expression to be matched.", "matcher": "MATCHES_REGEX" } ], ...
Untuk mengonfigurasi pemeriksaan waktu aktif agar gagal saat data respons cocok dengan ekspresi reguler, gunakan nilai berikut:
... "contentMatchers": [ { "content": "Set to the regular expression to be matched.", "matcher": "NOT_MATCHES_REGEX" } ], ...
Tabel berikut menampilkan status pemeriksaan waktu aktif untuk berbagai data respons, ekspresi reguler, dan jenis pengujian:
Status cek uptime | |||
---|---|---|---|
Data respons | Regex | Cocok dengan ekspresi reguler | Tidak cocok dengan ekspresi reguler |
abcd |
abcd |
lulus | gagal |
Uptime Checks |
[uU]ptime |
lulus | gagal |
Uptime Checks |
[a-z]{6} |
gagal | lulus |
Uptime Checks |
[a-zA-Z]{6} |
lulus | gagal |
Pada tabel sebelumnya, kolom Data respons menjelaskan data yang ditampilkan oleh resource yang dicentang, sedangkan kolom Regex mencantumkan ekspresi reguler. Dua kolom berikutnya menentukan jenis pengujian dan hasil pemeriksaan uptime.
Menelusuri kolom tertentu dalam respons JSON
Anda dapat mengonfigurasi cek uptime untuk memvalidasi JSONpath. Saat Anda memilih pengujian JSONpath, pengujian akan membandingkan nilai jalur dengan angka, literal string, atau dengan ekspresi reguler:
- Membandingkan JSONpath dengan literal angka atau string
- Membandingkan JSONpath dengan ekspresi reguler
Saat menentukan JSONpath, Anda harus menentukan objek root dengan $.
, lalu diikuti dengan ID kolom tertentu. Jika respons JSON
berisi array elemen, gunakan tanda kurung, []
, untuk mengidentifikasi
elemen array tertentu yang akan dicocokkan. Contoh berikut mengilustrasikan sintaksis jalur:
$.type
cocok dengan kolomtype
objek root.$.[0].address.city
cocok dengan kolomcity
dalam objekaddress
yang disimpan dalam elemen array pertama dari respons JSON.$.content[0].phone
cocok dengan kolomphone
dari elemen array pertama dari kolomcontent
. Kolomcontent
adalah turunan dari objek root.
Anda dapat mengonfigurasi pengujian waktu aktif agar cocok dengan beberapa kolom. Pertimbangkan JSON berikut:
[
{
...
"address": {
...
"city": "Gwenborough",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
},
...
]
Untuk mencocokkan seluruh jalur kolom geo
dalam elemen array pertama,
tetapkan JSONpath ke $.[0].address.geo
, dan masukkan nilai lengkap
di kolom konten:
{
"lat": "-37.3159",
"lng": "81.1496"
}
Jika Anda tertarik untuk bereksperimen dengan opsi ini, temukan situs publik yang menampilkan respons JSON.
Membandingkan JSONpath dengan literal angka atau string
Google Cloud console
Untuk mengonfigurasi pemeriksaan waktu aktif agar lulus saat JSONpath tertentu dalam data respons cocok dengan literal string, gunakan setelan berikut:
- Pilih Cocok di JSONPath di menu Jenis pencocokan konten respons.
- Masukkan jalur di kolom JSONPath.
- Masukkan angka atau literal string di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Untuk mengonfigurasi pemeriksaan waktu aktif agar gagal saat JSONpath tertentu dalam data respons cocok dengan literal string, gunakan setelan berikut:
- Pilih Tidak cocok di JSONPath di menu Jenis pencocokan konten respons.
- Masukkan jalur di kolom JSONPath.
- Masukkan angka atau literal string di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Cloud Monitoring API
Untuk mengonfigurasi pemeriksaan waktu aktif agar lulus saat kolom tertentu dalam
respons berformat JSON cocok dengan angka atau literal string,
gunakan nilai berikut untuk objek ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to a number, a boolean, or the string to be matched.", "matcher" : "MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "EXACT_MATCH" } ], ...
Untuk mengonfigurasi pemeriksaan uptime agar gagal saat kolom tertentu dalam
respons berformat JSON cocok dengan angka atau literal string,
gunakan nilai berikut untuk objek ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to a number, a boolean, or the string to be matched.", "matcher" : "NOT_MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "EXACT_MATCH" } ], ...
Untuk mengilustrasikan cara kerja pengujian kecocokan string JSONpath, pertimbangkan data respons JSON berikut:
{ "name": "Sample Uptime Check", "type": "JSONpath", "content": [ { "id": 1, "phone": "1234567890", "alias": "Exact", "enabled": true, }, { "id": 2, "phone": "1234512345", "alias": "Regex", "enabled": false, } ] }
Tabel berikut menampilkan status pemeriksaan waktu aktif respons sebelumnya, tetapi untuk jalur, nilai pengujian, dan jenis pengujian yang berbeda:
Status cek uptime | |||
---|---|---|---|
JSONpath | Nilai pengujian | Kecocokan JSONpath | JSONpath tidak cocok |
$. |
"JSONpath" |
lulus | gagal |
$. |
"Sample" |
gagal | lulus |
$. |
"Sample Uptime Check" |
lulus | gagal |
$. |
1 |
lulus | gagal |
$. |
"Exact" |
lulus | gagal |
$. |
true |
lulus | gagal |
Pada tabel sebelumnya, kolom JSONpath mengidentifikasi elemen yang akan diuji dan kolom Nilai pengujian mencantumkan nilai. Dua kolom berikutnya menentukan jenis pengujian dan hasil pemeriksaan uptime.
Membandingkan JSONpath dengan ekspresi reguler
Pencocokan ekspresi reguler mendukung pencocokan string, angka, boolean, dan nilai JSON null.
Google Cloud console
Untuk mengonfigurasi pemeriksaan waktu aktif agar lulus saat JSONpath tertentu dalam data respons cocok dengan ekspresi reguler, gunakan setelan berikut:
- Pilih Cocok di JSONPath di menu Jenis pencocokan konten respons.
- Masukkan jalur di kolom JSONPath.
- Masukkan regular expression di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Untuk mengonfigurasi pemeriksaan waktu aktif agar gagal saat JSONpath tertentu dalam data respons cocok dengan ekspresi reguler, gunakan setelan berikut:
- Pilih Tidak cocok di JSONPath di menu Jenis pencocokan konten respons.
- Masukkan jalur di kolom JSONPath.
- Masukkan regular expression di kolom Response content.
- Untuk memverifikasi konfigurasi, klik Uji.
Cloud Monitoring API
Untuk mengonfigurasi pemeriksaan uptime agar lulus saat kolom tertentu dalam
respons berformat JSON cocok dengan ekspresi reguler, gunakan
nilai berikut untuk objek ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to the regular expression to be matched." "matcher" : "MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "REGEX_MATCH" } ], ...
Untuk mengonfigurasi pemeriksaan uptime agar gagal saat kolom tertentu dalam
respons berformat JSON cocok dengan ekspresi reguler, gunakan nilai
berikut untuk objek ContentMatcher
:
... "contentMatchers": [ { "content" : "Set to the regular expression to be matched.", "matcher" : "NOT_MATCHES_JSON_PATH", "jsonPathMatcher" : { "jsonPath" : "Set to the JSONpath.", "jsonMatcher" : "REGEX_MATCH" } ], ...
Untuk mengilustrasikan cara kerja pengujian ekspresi reguler JSONpath, pertimbangkan data respons JSON berikut:
{ "name": "Sample Uptime Check", "type": "JSONpath", "content": [ { "id": 1, "phone": "1234567890", "alias": "Exact", "enabled": true, }, { "id": 2, "phone": "1234512345", "alias": "Regex", "enabled": false, } ] }
Tabel berikut menampilkan status pemeriksaan waktu aktif respons sebelumnya, tetapi untuk jalur, ekspresi reguler, dan jenis pengujian yang berbeda:
Status cek uptime | |||
---|---|---|---|
JSONpath | Regex | JSONpath cocok dengan regex | JSONpath tidak cocok dengan ekspresi reguler |
$. |
[A-Z]{4}Path |
lulus | gagal |
$. |
Sample |
gagal | lulus |
$. |
. |
lulus | gagal |
$. |
2 |
lulus | gagal |
$. |
"[12345]{2}" |
lulus | gagal |
$. |
f. |
lulus | gagal |
Pada tabel sebelumnya, kolom JSONpath mengidentifikasi elemen mana yang akan diuji dan kolom Regex mencantumkan ekspresi reguler. Dua kolom berikutnya menentukan jenis pengujian dan hasil pemeriksaan uptime.