Memeriksa aplikasi yang mengalami error untuk menemukan error menggunakan Error Reporting

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

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

  1. Simulasikan error dari layanan di project Google Cloud.

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

  3. Siapkan notifikasi agar Anda tahu 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

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

    Buka Cloud Shell.

Menyimulasikan error

  1. Untuk membuat 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 membuat semua error, skrip akan mencetak baris berikut:

    All sample errors reported.

Melihat error di Error Reporting

  1. Di konsol Google Cloud, buka halaman Pelaporan Error:

    Buka Error Reporting

    Anda juga dapat menemukan halaman ini menggunakan kotak penelusuran.

    Dasbor Pelaporan Error menampilkan daftar ringkasan setiap error yang ditemukan dan jumlah kemunculan setiap error. Jika Muat ulang otomatis diaktifkan, Pelaporan Error akan otomatis memuat ulang daftar error setiap 10 detik.

    Screenshot berikut menunjukkan contoh halaman pelaporan error:

    Antarmuka pengguna yang menampilkan daftar error.

  2. Klik nama error untuk melihat halaman detail error, yang berisi semua informasi yang tersedia tentang error. Jika Gemini diaktifkan dalam project, Anda dapat menggunakan Gemini untuk mendapatkan saran pemecahan masalah.

Mengonfigurasi notifikasi

Anda dapat mengonfigurasi Pelaporan Error untuk memberi tahu Anda saat jenis error baru muncul. Notifikasi tidak dikirim saat ada error baru yang terjadi:

  1. Di konsol Google Cloud, buka halaman Pelaporan Error:

    Buka Error Reporting

    Anda juga dapat menemukan halaman ini menggunakan kotak penelusuran.

  2. Untuk mengaktifkan notifikasi email, klik Lainnya dan pilih Aktifkan notifikasi error baru untuk project dari menu drop-down.

  3. Untuk membuat jenis error baru, klik Aktifkan 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 membuat semua error, skrip akan mencetak baris berikut:

    All sample errors reported.

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

Membuat pesan error dari aplikasi App Engine

Meskipun contoh pesan 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 tindakan berikut:

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

    1. 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'...
      
    2. Buat lingkungan Python yang terisolasi dan 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 sedang 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 yang dekat dengan Anda. Masukkan Y saat ditanya apakah Anda ingin melanjutkan. Setelah beberapa saat, upload akan 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.

Menghasilkan error

Untuk membuat error yang ditangkap dan ditampilkan Pelaporan Error, lakukan tindakan berikut:

  1. Mengedit main.py dan mengubah

    return 'Hello World!
    

    sampai

    return 'Hello World!' + 1000
    

    Saat dijalankan, perubahan ini menyebabkan pengecualian TypeError Python karena penggabungan string dan bilangan bulat bersifat ilegal.

  2. Upload aplikasi yang diubah ke App Engine:

    gcloud app deploy
    
  3. Kembali ke tab browser yang berisi aplikasi yang sedang berjalan, lalu muat ulang halaman. Karena perubahan Anda, 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, lalu 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 Pelaporan Error.

Pembersihan

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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Langkah selanjutnya