Anda dapat mengirim peristiwa error ke Error Reporting dari aplikasi PHP menggunakan library Error Reporting untuk PHP. Gunakan library Error Reporting untuk PHP guna membuat grup error untuk kasus berikut:
- Bucket log yang berisi entri log Anda memiliki kunci enkripsi yang dikelola pelanggan (CMEK).
- Bucket log memenuhi salah satu hal berikut:
- Bucket log disimpan di project yang sama dengan tempat asal entri log.
- Entri log dirutekan ke project, lalu project tersebut menyimpan entri log tersebut di bucket log miliknya.
- Anda ingin melaporkan peristiwa error kustom.
Error Reporting terintegrasi dengan beberapa Google Cloud layanan, seperti Cloud Run Functions dan App Engine, Compute Engine, serta Google Kubernetes Engine. Error Reporting menampilkan peristiwa error yang dicatat ke Cloud Logging oleh aplikasi yang berjalan di layanan tersebut. Untuk mengetahui informasi selengkapnya, buka Menjalankan Google Cloud di halaman ini.
Anda juga dapat mengirim peristiwa error ke Error Reporting menggunakan Logging. Untuk mengetahui informasi tentang persyaratan pemformatan data, baca Memformat entri log untuk melaporkan peristiwa error.
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.
Enable the Error Reporting API .
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Menginstal library klien
Library Error Reporting untuk PHP memungkinkan Anda memantau dan melihat peristiwa error yang dilaporkan oleh aplikasi PHP yang berjalan di hampir semua tempat.
Untuk mengetahui informasi selengkapnya tentang penginstalan, baca dokumentasi untuk library Error Reporting untuk PHP. Anda juga dapat melaporkan masalah menggunakan the issue tracker.
Mengonfigurasi library klien
Anda dapat menyesuaikan perilaku library Error Reporting untuk PHP. Lihat konfigurasi library untuk mengetahui daftar opsi konfigurasi yang memungkinkan.
Menjalankan aplikasi di Google Cloud
Untuk membuat grup error menggunakan
projects.events.report, akun layanan Anda memerlukan peran
Penulis Error Reporting (roles/errorreporting.writer).
Beberapa Google Cloud layanan secara otomatis memberikan
peran Penulis Error Reporting (roles/errorreporting.writer) ke akun layanan yang sesuai. Namun, Anda harus memberikan peran ini ke akun layanan yang sesuai untuk beberapa layanan.
Cloud Run dan Cloud Run Functions
Akun layanan default yang digunakan oleh Cloud Run memiliki
izin peran Penulis Error Reporting (roles/errorreporting.writer).
Library Error Reporting untuk PHP dapat digunakan tanpa perlu memberikan kredensial secara eksplisit.
Cloud Run dikonfigurasi untuk menggunakan Error Reporting secara otomatis. Pengecualian JavaScript yang tidak tertangani akan muncul di Logging dan diproses oleh Error Reporting tanpa perlu menggunakan library Error Reporting untuk PHP.
Lingkungan fleksibel App Engine
App Engine otomatis memberikan
peran Penulis Error Reporting (roles/errorreporting.writer)
ke akun layanan default Anda.
Library Error Reporting untuk PHP dapat digunakan tanpa perlu memberikan kredensial secara eksplisit.
Untuk mengaktifkan Error Reporting di lingkungan fleksibel App Engine, ikuti langkah-langkah berikut:
Instal library yang diperlukan dengan perintah berikut:
$ composer require google/cloud-error-reporting
Tambahkan baris berikut ke bagian
runtime_configdiapp.yaml:
Kemudian, library akan otomatis mengumpulkan semua error dan pengecualian yang tidak tertangkap ke Error Reporting. Jika Anda menggunakan Framework Web yang menginstal pengendali Pengecualiannya sendiri, lihat bagian Integrasi Framework untuk mengetahui informasi selengkapnya.
Google Kubernetes Engine
Untuk menggunakan Error Reporting dengan Google Kubernetes Engine, lakukan hal berikut:
Pastikan akun layanan yang akan digunakan oleh container Anda telah diberi peran Penulis Error Reporting (
roles/errorreporting.writer).Anda dapat menggunakan akun layanan default Compute Engine atau akun layanan kustom.
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Buat cluster Anda dan berikan cakupan akses
cloud-platformke cluster tersebut.Misalnya, perintah pembuatan berikut menentukan cakupan akses
cloud-platformdan akun layanan:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Untuk menggunakan Error Reporting dengan instance VM Compute Engine, lakukan hal berikut:
Pastikan akun layanan yang akan digunakan oleh instance VM Anda telah diberi peran Penulis Error Reporting (
roles/errorreporting.writer).Anda dapat menggunakan akun layanan default Compute Engine atau akun layanan kustom.
Untuk mengetahui informasi tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
-
Di Google Cloud konsol, buka halaman VM instances:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Compute Engine.
Pilih instance VM yang ingin Anda beri cakupan akses
cloud-platform.Klik Stop, lalu klik Edit.
Di bagian Identity and API access, pilih akun layanan yang memiliki peran Penulis Error Reporting (
roles/errorreporting.writer).Di bagian Access scopes , pilih Allow full access to all Cloud APIs, lalu simpan perubahan Anda.
Klik Start/Resume.
Contoh
1. Instal library cloud dengan perintah berikut:
$ composer require google/cloud-error-reporting
php.ini, dengan WORKSPACE
adalah jalur absolut ke direktori utama ruang kerja Anda:
auto_prepend_file='/WORKSPACE/vendor/google/cloud-error-reporting/src/prepend.php'
File prepend ini menginstal pengendali pengecualian dan pengendali error yang otomatis mengirim error ke Error Reporting.
Jika Anda menggunakan lingkungan fleksibel App Engine, lihat Lingkungan fleksibel App Engine di halaman ini.
Menjalankan aplikasi di lingkungan pengembangan lokal
Untuk menggunakan library Error Reporting untuk PHP di lingkungan pengembangan lokal, seperti menjalankan library di workstation Anda sendiri, Anda harus memberikan kredensial default aplikasi lokal ke library Error Reporting untuk PHP. Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi ke Error Reporting.
Untuk menggunakan contoh PHP di halaman ini dalam lingkungan pengembangan lokal, instal dan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.
-
Instal Google Cloud CLI.
-
Konfigurasi gcloud CLI agar menggunakan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Login ke gcloud CLI dengan identitas gabungan Anda.
-
Buat kredensial autentikasi lokal untuk akun pengguna Anda:
gcloud auth application-default login
Jika error autentikasi ditampilkan, dan Anda menggunakan penyedia identitas (IdP) eksternal, pastikan Anda telah login ke gcloud CLI dengan identitas gabungan Anda.
Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Metode projects.events.report juga
mendukung kunci API.
Jika ingin menggunakan kunci API untuk autentikasi, Anda tidak perlu
menyiapkan file Kredensial Default Aplikasi lokal.
Untuk mengetahui informasi selengkapnya, lihat
Membuat kunci API
di Google Cloud dokumentasi autentikasi.
Melihat grup error
Di Google Cloud konsol, buka halaman Error Reporting:
Anda juga dapat menemukan halaman ini menggunakan kotak penelusuran.
Untuk mengetahui informasi selengkapnya, lihat Melihat dan memfilter grup error.
Integrasi Framework
Beberapa framework web mengganti pengendali pengecualian. Berikut adalah contoh untuk mengaktifkan Error Reporting dengan Laravel dan Symfony. Untuk framework lainnya, Anda dapat menggunakan Google\Cloud\ErrorReporting\Bootstrap::exceptionHandler sebagai pengendali pengecualian.
Laravel
Edit fungsi report di file app/Exceptions/Handler.php sebagai berikut:
Anda juga perlu menambahkan pernyataan use satu baris di awal file:
use Google\Cloud\ErrorReporting\Bootstrap;
Symfony
Buat file baru src/AppBundle/EventSubscriber/ExceptionSubscriber.php dengan konten berikut: