Dokumen ini menjelaskan cara mengonfigurasi pengujian berkala untuk link yang terdapat dalam URI dengan membuat monitor sintetis. Tentukan opsi untuk pengujian, seperti URI asal, jumlah link yang diuji, dan jumlah percobaan ulang, kemudian deploy Cloud Function yang telah dikonfigurasi sebelumnya.
Untuk mempelajari monitor sintetis lebih lanjut, lihat Tentang monitor sintetis.
Tentang Pemeriksa link rusak
Setiap pemeriksa link rusak menguji link secara berurutan, dan ada waktu tunggu sintetis keseluruhan yang dapat dikonfigurasi.
Secara default, pemeriksa link rusak melakukan hal berikut:
- Elemen ini menelusuri URI asal untuk elemen anchor HTML dengan atribut
href
. - Pengujian ini menguji 10 link pertama yang ditemukan di URI asal.
- Untuk setiap link, pemeriksa menunggu maksimal 30 detik, lalu memverifikasi bahwa status respons HTTP adalah
200
, yang menunjukkan respons yang berhasil. Pemeriksa tidak akan melakukan percobaan ulang.
Anda menentukan URI asal. Anda dapat mengonfigurasi elemen HTML yang ditelusuri pemeriksa link rusak, jumlah maksimum elemen yang diuji, waktu tunggu per pengujian, dan apakah percobaan ulang dilakukan atau tidak. Anda juga dapat mengonfigurasi ceker link rusak untuk menunggu pemilih muncul.
Pemeriksa link rusak menggunakan template
broken-links-ok
. Konfigurasi untuk pemeriksa link rusak ditentukan oleh objek options
dari file index.js
. Jika membuat pemeriksa menggunakan Google Cloud Console, Anda akan diminta untuk memasukkan setiap opsi konfigurasi dan Cloud Function akan diperbarui untuk Anda. Namun, jika menggunakan Cloud Monitoring API atau Terraform, Anda harus mengisi objek ini.
Setelah Anda membuat pemeriksa link rusak, untuk mengubah konfigurasi, update objek options
dan deploy ulang Cloud Function.
Sebelum memulai
-
Untuk mendapatkan izin yang diperlukan guna melihat dan memodifikasi monitor sintetis menggunakan Konsol Google Cloud, mintalah administrator untuk memberi Anda peran IAM berikut di project Anda:
-
Monitoring Editor (
roles/monitoring.editor
) -
Developer Cloud Functions (
roles/cloudfunctions.developer
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
-
Monitoring Editor (
-
Aktifkan API Cloud Monitoring API, Artifact Registry API, Cloud Build API, Cloud Functions API, Cloud Logging API, Pub/Sub API, dan Cloud Run Admin API.
Pastikan project Google Cloud Anda berisi akun layanan Compute Engine default. Akun layanan ini dibuat saat Anda mengaktifkan Compute Engine API dan memiliki nama yang mirip dengan
12345-compute@developer.gserviceaccount.com
.Pada panel navigasi konsol Google Cloud, pilih IAM & Admin, lalu pilih Service Accounts:
Jika akun layanan Compute Engine default tidak ada, klik Create service account dan selesaikan dialognya.
Pastikan akun layanan Compute Engine default, atau akun layanan yang Anda buat, telah diberi peran Editor (
roles/editor
).Untuk melihat peran yang diberikan ke akun layanan Anda, lakukan hal berikut:
-
Pada panel navigasi Konsol Google Cloud, pilih IAM:
- Pilih Sertakan pemberian peran yang disediakan Google.
- Jika akun layanan yang digunakan oleh monitor sintetis tidak tercantum, atau jika
belum diberi peran yang mencakup izin dalam peran
Agen Cloud Trace (
roles/cloudtrace.agent
), berikan peran ini ke akun layanan Anda.
-
- Konfigurasikan saluran notifikasi yang ingin Anda gunakan untuk menerima notifikasi. Sebaiknya buat beberapa jenis saluran notifikasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi serta Membuat dan mengelola saluran notifikasi dengan API.
Membuat pemeriksa link rusak
Konsol
Saat Anda membuat monitor sintetis menggunakan Konsol Google Cloud, Cloud Function (generasi ke-2) baru akan di-deploy dan monitor untuk Cloud Function tersebut akan dibuat. Anda tidak dapat membuat monitor sintetis yang memantau Cloud Function yang ada.
- Pastikan Anda telah mengaktifkan API yang diperlukan, dan project Anda berisi akun layanan Compute Engine default, dan akun ini telah diberi peran Editor (
roles/editor
). Untuk informasi selengkapnya, lihat Sebelum memulai. -
Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih Synthetic Monitoring:
- Pilih Create Synthetic Monitor.
- Untuk template, pilih Pemeriksa link rusak.
- Masukkan nama untuk monitor sintetis.
Opsional: Perbarui Waktu Tunggu Respons, Pemeriksaan Frekuensi, dan tambahkan label yang ditentukan pengguna.
Konfigurasikan URI dan elemen yang akan diuji:
Klik Origin URI, lalu masukkan URI yang ingin Anda uji. Nilai yang Anda masukkan harus berupa endpoint HTTP atau HTTPS. Misalnya, Anda dapat memasukkan
https://mywebsite.example.com
.Opsional: Pada bagian Jumlah link yang akan diikuti, perbarui jumlah maksimum link yang diuji. Nilai default kolom ini adalah 10.
Opsional: Di kolom Pemilih elemen HTML, masukkan elemen HTML yang ingin Anda cocokkan, sebagai daftar yang dipisahkan koma. Nilai yang Anda masukkan akan dikonversi menjadi string, lalu diteruskan ke metode
Document: querySelectorAll()
.Secara default, kolom ini ditetapkan ke
a
, yang cocok dengan anchor. Anda dapat memasukkan nilai sepertia, img
, jika ingin mencocokkan anchor dan gambar.Opsional: Di kolom Atribut HTML yang akan diikuti, masukkan atribut HTML yang ingin Anda cocokkan. Nilai yang dipisahkan koma yang Anda masukkan akan diteruskan satu per satu ke metode
getAttribute()
.Secara default, kolom ini ditetapkan ke
href
, yang menentukan URI untuk link tersebut. Anda dapat memasukkan beberapa atribut, misalnya Anda dapat memasukkanhref, src
. Dalam contoh ini, kode menelusuri atributhref
, lalu menelusuri atributsrc
.Opsional: Konfigurasi tunggu pemilih, waktu tunggu per URI, percobaan ulang, dan kode status yang diharapkan:
- Klik Tampilkan opsi lainnya.
Untuk mengonfigurasi pemeriksa link rusak agar menunggu pemilih tertentu muncul di URI sebelum link disalin, masukkan pemilih CSS di kolom Tunggu pemilih elemen. Nilai yang Anda masukkan akan dikonversi menjadi string, lalu diteruskan ke metode
page.waitForSelector()
.Jika pemilih tidak muncul sebelum waktu tunggu berakhir, kegagalan akan dicatat dalam log.
Perbarui urutan link yang dipilih untuk pengujian.
Konfigurasi percobaan ulang.
Secara default, satu permintaan dikirimkan ke setiap link dan jika permintaan awal gagal karena alasan apa pun, misalnya waktu perintah habis atau kode status HTTP bukan
200
, link tersebut akan ditandai sebagai gagal.Kolom ini menentukan berapa kali pemeriksa link rusak dapat mengeluarkan permintaan HTTP ke link sebelum menandai link sebagai gagal.
Konfigurasikan waktu tunggu yang berlaku untuk setiap URI. Secara default, nilai ini disetel ke 30 detik.
Untuk menentukan kode status yang diharapkan dan waktu tunggu untuk URI tertentu, klik Tambahkan opsi per link dan selesaikan dialog.
Tinjau dan pastikan konfigurasi sudah benar dan lengkap, lalu buat Cloud Function Anda:
Klik Buat fungsi.
Nilai di kolom Konfigurasi URI disalin ke objek
Options
dalam fileindex.js
saat Anda mengklik Create Function. Setelah Anda mengklik Create Function, untuk mengubah konfigurasi, edit objekOptions
.Masukkan nama tampilan dan pilih wilayah. Nama harus unik di dalam suatu wilayah.
Di bagian Runtime, build, connections and security settings, lakukan langkah berikut:
Di tab Connections, pastikan Allow all traffic dipilih.
Tinjau setelan default dan perbarui jika perlu.
Di kolom Runtime service account, pilih akun layanan.
Klik Terapkan fungsi.
Konfigurasikan kebijakan pemberitahuan:
Opsional: Perbarui nama kebijakan pemberitahuan dan durasi kegagalan sebelum notifikasi dikirim.
Tambahkan saluran notifikasi.
Klik Create.
Cloud Function yang Anda tentukan telah dibuat dan di-deploy sebagai generasi ke-2, lalu monitor sintetis dibuat.
API
Proses pembuatan pemeriksa link rusak menggunakan Cloud Monitoring API identik dengan proses pembuatan monitor sintetis lainnya. Untuk mengetahui informasi tentang cara menggunakan Cloud Monitoring API dalam membuat monitor sintetis, lihat Membuat monitor sintetis, lalu pilih tab Cloud Monitoring.
Pemeriksa link rusak menggunakan template
broken-links-ok
. Konfigurasi untuk pemeriksa link rusak ditentukan oleh objek options
dari file index.js
.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi penyedia Terraform.
Proses pembuatan pemeriksa link rusak menggunakan Terraform sama dengan proses pembuatan monitor sintetis lainnya. Untuk mengetahui informasi tentang cara menggunakan Terraform dalam membuat monitor sintetis, baca bagian Membuat monitor sintetis, lalu pilih tab Terraform.
Pemeriksa link rusak menggunakan template
broken-links-ok
. Konfigurasi untuk pemeriksa link rusak ditentukan oleh objek options
dari file index.js
.
Jelajahi hasil
Untuk setiap eksekusi, pemeriksa link rusak akan melakukan hal berikut:
Menghasilkan tabel, tempat setiap baris memberikan informasi tentang pengujian URI tertentu. Informasi ringkasan mencakup URI target, latensi, status, dan ID elemen HTML. Misalnya, kolom ini mencantumkan a saat elemen anchor HTML diuji. Jika baris sesuai dengan URI asal, nilai ID elemen HTML adalah -.
Mengumpulkan metrik, data trace, dan data log.
Untuk informasi selengkapnya tentang cara menjelajahi data yang dikumpulkan, lihat Mempelajari hasil monitor sintetis.
Memecahkan masalah
Bagian ini memberikan informasi yang dapat Anda gunakan untuk membantu memecahkan masalah pemeriksa link yang rusak.
Tidak dapat mengedit konfigurasi pemeriksa link yang rusak
Anda membuat pemeriksa link rusak menggunakan Konsol Google Cloud, dan ingin mengubah elemen HTML yang diuji, atau ingin mengubah waktu tunggu URI, percobaan ulang, tunggu pemilih, dan opsi per link. Namun, saat Anda mengedit pemeriksa link yang rusak, Konsol Google Cloud tidak akan menampilkan kolom konfigurasi.
Untuk mengatasi kegagalan ini, lakukan hal berikut:
-
Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih Synthetic Monitoring:
- Temukan monitor sintetis yang ingin Anda edit, klik more_vert Opsi lainnya, lalu pilih Edit.
- Klik Edit fungsi.
Edit objek
options
dalam fileindex.js
, lalu klik Apply function.Guna mengetahui informasi tentang kolom dan sintaksis untuk objek ini, lihat
broken-links-ok/index.js
.Klik Save.