Memeriksa aplikasi yang error untuk menemukan error menggunakan Error Reporting
Anda dapat menggunakan Error Reporting untuk melihat, memprioritaskan, dan memecahkan masalah error aplikasi, sehingga membantu tim Anda mengidentifikasi masalah dan mengatasi error sebelum memengaruhi pengguna.
Dalam panduan memulai ini, Anda akan menyimulasikan kondisi error di project Google Cloud , melihat detail error di konsol Google Cloud , dan mengonfigurasi notifikasi untuk menerima pemberitahuan saat terjadi error baru.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Buka Cloud Shell untuk project Anda Google Cloud . Saat dimulai, pesan Menghubungkan akan ditampilkan.
- Konfigurasikan alamat email Anda sebagai saluran notifikasi yang didukung.
Menyimulasikan error
Untuk menghasilkan 11 contoh error, jalankan skrip berikut di Cloud Shell:
COUNTER=0 while [ $COUNTER -lt 11 ]; do gcloud beta error-reporting events report --service tutorial --service-version v$((COUNTER/10+1)) \ --message "java.lang.RuntimeException: Error rendering template $COUNTER at com.example.TestClass.test(TestClass.java:51) at com.example.AnotherClass(AnotherClass.java:25) at javax.servlet.http.HttpServlet.service (HttpServlet.java:617) at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)" if [ $COUNTER -eq 10 ]; then echo "All sample errors reported." fi let COUNTER=COUNTER+1 doneSetelah selesai menghasilkan semua error, skrip akan mencetak baris berikut:
All sample errors reported.
Melihat error di Error Reporting
-
Di Google Cloud konsol, buka halaman Error Reporting:
Anda juga dapat menemukan halaman ini menggunakan kolom penelusuran.
Dasbor Error Reporting menampilkan daftar ringkasan setiap error yang ditemukan dan jumlah kemunculan setiap error. Jika Muat ulang otomatis diaktifkan, Error Reporting akan otomatis memuat ulang daftar error setiap 10 detik.
Screenshot berikut menampilkan contoh halaman Error Reporting:
Klik nama error untuk melihat halaman detail error, yang berisi semua informasi yang tersedia tentang error. Jika Gemini diaktifkan di project, Anda dapat menggunakan Gemini untuk mendapatkan saran pemecahan masalah.
Mengonfigurasi notifikasi
Anda dapat mengonfigurasi Error Reporting untuk memberi tahu Anda saat ada jenis error baru. Notifikasi tidak dikirim saat ada kemunculan baru dari error yang ada:
-
Di Google Cloud konsol, buka halaman Error Reporting:
Anda juga dapat menemukan halaman ini menggunakan kolom penelusuran.
Untuk mengaktifkan notifikasi email, klik Configure notifications.
Di menu Notification channels, pilih alamat email Anda, lalu pilih Save.
Untuk menghasilkan jenis error baru, klik terminal Activate Cloud Shell dan jalankan skrip berikut:
COUNTER=0 while [ $COUNTER -lt 3 ]; do gcloud beta error-reporting events report --service tutorial --service-version v1 \ --message "java.lang.ArrayIndexOutOfBoundsException: $COUNTER at com.example.AppController.createUser(AppController.java:42) at com.example.User(User.java:31) at javax.servlet.http.HttpServlet.service (HttpServlet.java:617) at javax.servlet.http.HttpServlet.service (HttpServlet.java:717)" let COUNTER=COUNTER+1 done echo "All sample errors reported."Setelah selesai menghasilkan semua error, skrip akan mencetak baris berikut:
All sample errors reported.Periksa email Anda untuk menemukan pesan dari "Stackdriver Notifications".
Menghasilkan pesan error dari aplikasi App Engine
Pesan contoh yang dihasilkan oleh skrip sebelumnya menyimulasikan kondisi error. Untuk menghasilkan error dari layanan aktif yang berjalan di Google Cloud project Anda, ikuti langkah-langkah di bagian ini.
Men-deploy aplikasi
Untuk mendownload dan men-deploy aplikasi ke App Engine, lakukan hal berikut:
Download dan konfigurasi aplikasi dari project GitHub python-docs-samples:
Clone project ke Cloud Shell Anda:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Git akan menampilkan pesan yang mirip dengan ini:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples Cloning into 'python-docs-samples'...
Buat lingkungan Python yang terisolasi dan aktifkan:
cd python-docs-samples/appengine/standard_python3/hello_world virtualenv env -p python3 source env/bin/activate
Instal dependensi:
pip install -r requirements.txt
Pastikan penginstalan dan konfigurasi aplikasi berhasil:
Jalankan aplikasi:
python main.py
Untuk melihat aplikasi di halaman web lokal, klik link yang ditampilkan di Cloud Shell. Halaman web akan menampilkan
Hello World!.Untuk menghentikan aplikasi yang sedang berjalan, masukkan
Ctrl-Cdi Cloud Shell.
Upload aplikasi Anda ke App Engine:
gcloud app deploy
Jika diminta untuk memilih region deployment, pilih region yang terdekat dengan Anda. Masukkan
Ysaat ditanya apakah Anda ingin melanjutkan. Setelah beberapa saat, proses upload akan selesai.Lihat aplikasi Anda di browser dengan menjalankan perintah berikut di Cloud Shell:
gcloud app browse
Jika Google Cloud CLI tidak dapat menemukan browser Anda, perintah sebelumnya akan menampilkan pesan error dan link. Klik link yang ditampilkan. Pesan
Hello, World!akan ditampilkan di browser.
Menghasilkan error
Untuk membuat error yang ditangkap dan ditampilkan oleh Error Reporting, lakukan hal berikut:
Edit
main.pydan ubahreturn 'Hello World!
menjadi
return 'Hello World!' + 1000
Saat dijalankan, perubahan ini akan menyebabkan pengecualian
TypeErrorPython karena penggabungan string dan bilangan bulat tidak diizinkan.Upload aplikasi yang telah diubah ke App Engine:
gcloud app deploy
Kembali ke tab browser yang berisi aplikasi yang sedang berjalan, lalu muat ulang halaman. Karena perubahan yang Anda lakukan, halaman akan menampilkan pesan error, bukan
Hello, World!:Internal Server Error The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
Jika Anda tidak melihat pesan ini, tunggu sebentar dan muat ulang lagi. Mungkin perlu waktu beberapa saat sebelum versi baru diaktifkan.
Melihat error di Error Reporting
Untuk melihat error, ikuti petunjuk di bagian sebelumnya, Melihat error di Error Reporting.
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
- Di Google Cloud konsol, buka halaman Manage resources.
- Pada daftar project, pilih project yang Anda ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.