Periksa aplikasi yang mengalami error untuk menemukan error menggunakan Error Reporting

Error Reporting menyediakan satu tempat untuk memantau kondisi error dari semua aplikasi dan layanan dalam project Google Cloud serta dari aplikasi Amazon Elastic Compute Cloud (EC2).

Dalam panduan ini, kita akan mempelajari cara melakukan hal berikut:

  1. Menyimulasikan error dari layanan di project Google Cloud.

  2. Gunakan Error Reporting untuk melihat error dan mengubah status error agar orang lain di tim Anda tahu bahwa masalah tersebut sedang ditangani.

  3. Siapkan notifikasi agar Anda mengetahui saat jenis error baru terjadi.


Jika ingin mengikuti panduan langkah demi langkah untuk tugas ini langsung di Konsol Google Cloud, klik Pandu saya:

Pandu saya


Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Buka Cloud Shell untuk project Google Cloud Anda. Saat dimulai, pesan Connecting akan ditampilkan.

    Buka Cloud Shell.

Membuat simulasi error

  1. 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
      done
    

    Setelah selesai menghasilkan semua error, skrip akan mencetak baris berikut:

    All sample errors reported.

Lihat error di Error Reporting

  1. Di panel navigasi konsol Google Cloud, pilih Error Reporting, lalu pilih project Google Cloud Anda:

    Buka Error Reporting

    Dasbor Error Reporting menampilkan daftar ringkasan setiap error yang ditemukan dan jumlah kemunculan dari setiap error. Jika Auto reload diaktifkan, Error Reporting akan otomatis memuat ulang daftar error setiap 10 detik.

    Screenshot berikut menunjukkan contoh halaman pelaporan error:

    Antarmuka pengguna menampilkan daftar error.

  2. 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 jenis error baru muncul. Notifikasi tidak dikirim saat terjadi error baru yang sudah ada:

  1. Di panel navigasi konsol Google Cloud, pilih Error Reporting, lalu pilih project Google Cloud Anda:

    Buka Error Reporting

  2. Untuk mengaktifkan notifikasi email, klik More lalu pilih Turn on new error notifications for project dari menu drop-down.

  3. Untuk menghasilkan jenis error baru, klik Activate Cloud ShellTombol Activate 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)"
          if [ $COUNTER -eq 10 ]; then
            echo "All sample errors reported."
          fi
          let COUNTER=COUNTER+1
      done
    

    Setelah selesai menghasilkan semua error, skrip akan mencetak baris berikut:

    All sample errors reported.

  4. Periksa email Anda untuk melihat pesan dari "Stackdriver Notifications".

Membuat pesan error dari aplikasi App Engine

Meskipun pesan contoh yang Anda buat dari skrip sepenuhnya menyimulasikan kondisi error di Error Reporting, jika Anda ingin membuat error dari layanan sebenarnya yang berjalan di project Google Cloud, ikuti langkah-langkah di bagian ini.

Men-deploy aplikasi

Untuk mendownload dan men-deploy aplikasi ke App Engine, lakukan hal berikut:

  1. Download dan konfigurasi aplikasi dari project GitHub python-docs-samples:

    1. Clone project ke Cloud Shell Anda:

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      

      Git menampilkan pesan yang mirip dengan ini:

      git clone https://github.com/GoogleCloudPlatform/python-docs-samples
      Cloning into 'python-docs-samples'...
      
    2. Buat lingkungan Python yang terisolasi, lalu aktifkan:

      cd python-docs-samples/appengine/standard_python3/hello_world
      virtualenv env -p python3
      source env/bin/activate
      
    3. Instal dependensi:

      pip install -r requirements.txt
      
  2. Pastikan penginstalan dan konfigurasi aplikasi berhasil:

    1. Jalankan aplikasi:

      python main.py
      
    2. Untuk melihat aplikasi di halaman web lokal, klik link yang ditampilkan di Cloud Shell. Halaman web menampilkan Hello World!.

    3. Untuk menghentikan aplikasi yang berjalan, masukkan Ctrl-C di Cloud Shell.

  3. Upload aplikasi Anda ke App Engine:

    gcloud app deploy
    

    Jika diminta untuk memasukkan region deployment, pilih region di dekat Anda. Masukkan Y saat ditanya apakah Anda ingin melanjutkan. Setelah beberapa saat, upload selesai.

  4. 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! ditampilkan di browser.

Membuat error

Untuk membuat error yang dideteksi dan ditampilkan Error Reporting, lakukan langkah berikut:

  1. Edit main.py dan ubah

    return 'Hello World!
    

    pada

    return 'Hello World!' + 1000
    

    Saat dijalankan, perubahan ini akan menyebabkan pengecualian TypeError Python karena menggabungkan string dan bilangan bulat adalah tindakan ilegal.

  2. Upload aplikasi yang diubah ke App Engine:

    gcloud app deploy
    
  3. Kembali ke tab browser yang berisi aplikasi yang berjalan, lalu muat ulang halaman. Karena perubahan Anda, halaman yang menampilkan Hello, World! akan menampilkan pesan error:

    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.

Lihat error di Error Reporting

Untuk melihat error, ikuti petunjuk di bagian sebelumnya Melihat error di Error Reporting.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya