Cara Menggunakan Google Error Reporting Pada Node.js
Untuk developer, tidak cukup disebutkan bahwa kami harus menangkap dan memperingatkan kesalahan sesegera mungkin, saat aplikasi dalam layanan. Ada banyak alat yang membantu Anda mencapai misi ini. Dari sekian banyak kandidat, saya akan berbicara tentang Google Error Reporting + Cloud Monitoring di sini.
Akun Google Cloud | |
Akun Layanan Google — jika Anda tidak tahu cara membuatnya, lihat artikel ini di blog saya | |
Node | |
Insomnia |
Buka dasbor proyek Google Cloud Anda | |
Buka dasbor proyek Google Cloud Anda | |
Klik API dan layanan dan lagi | |
Klik AKTIFKAN LAYANAN DAN API. | |
Ketik Pelaporan kesalahan di bilah pencarian dan aktifkan. |
Siapkan Node.js — Express
Untuk fokus hanya mempelajari cara menyiapkan Google Error Reporting dan memahaminya, kami tidak akan menyiapkan Express API dari awal. Mereka yang tidak memilikinya dapat mengunduh boilerplate API ekspres sederhana dari repositori saya. Jika sudah selesai mendownload, buka projectnya agar kita bisa memulainya.
Siapkan Pelaporan Kesalahan Google Untuk Express
npm install --save @google-cloud/error-reporting
Kami akan mengunduh library yang dibutuhkan sama seperti yang diperlihatkan di atas. Untuk mengaktifkan laporan kesalahan dengan benar, isi kolom di objek ErrorReporting dengan nilai yang sama sesuai dari file key json yang sudah Anda tambah sesudah membuat akun layanan google. Isi nilai yang dibutuhkan dan tambah kode ini sama seperti yang diperlihatkan berikut ini ke skrip utama Anda.
const { ErrorReporting } = require('@google-cloud/error-reporting');
// Instantiates a client
const errorReporting = new ErrorReporting({
projectId: 'your-project-id',
keyFilename: 'key.json name',
// this should look like 'hello.json'
credentials: require(`/path/to/key.json`),
reportMode: 'always',
// the reason why I set this to 'always' is
// because the application is run in development mode
logLevel: 2,
serviceContext: {
service: "Name your app",
// ex) Test_APP
version: "specify your version",
// ex) 0.0.1
}
// serviceContext field should be filled
});
Tambahkan Rute Testing
app.get("/error", async (req: Request, res: Response, next: NextFunction): Promise<void> => {
try {
throw new Error("this is an intended error in '/error' route");
}
catch(err) {
next(`<GET '/error route error>: ${err}`);
}
});
Kami akan membuat sebuah rute yang menerima permintaan ke url bernama '/ error'. Apa yang terjadi di rute adalah kita dengan sengaja membuang kesalahan saat ada permintaan yang dibuat ke rute sehingga bisa menangkap kesalahan di blok tangkapan untuk Testing. Perhatikan ada objek berikutnya di blok catch, yang artinya berfungsi sebagai middleware. Sederhananya, itu meneruskan string yang berisi kesalahan tentang ke fungsi yang ditentukan setelah middleware. Kode di bawah mengambil string kesalahan dari middleware dan melakukan tugasnya:
app.use(errorReporting.express);
Pastikan Anda menulis baris ini sesudah jurusan uji atau mungkin tidak akan sukses.
Buat Saluran Pemberitahuan di Cloud Monitoring
Kami berharap bila ada kesalahan yang terjadi pada program Express, itu akan memberikan laporan kesalahan itu ke Konsol Laporan Kesalahan Google. Tetapi, itu tidak memberitahu kami adakah kesalahan. Penting untuk siaga dalam situasi ini. Untungnya, google cloud mempunyai service pengawasannya sendiri. Berikut perintah untuk membuat saluran pemberitahuan email:
- Buka Dasbor Pemantauan Bisa
- Klik Peringatan, lalu klik Edit saluran notifikasi.
- Pada bagian Email, klik Tambah baru.
- Lengkapi dialog dan klik Simpan.
Kami akan menambahkan saluran notifikasi ke pelaporan kesalahan google sehingga segera setelah terjadi kesalahan, itu akan mengirimkan pelaporan kesalahan google dan kemudian, itu akan dikirim ke saluran pemberitahuan email yang Anda buat. Berikut adalah instruksi untuk mendaftarkan saluran notifikasi di google error reporting:
- Buka Pelaporan kesalahan
- Klik Konfigurasikan Saluran Pemberitahuan
- Pilih notifikasi yang telah Anda buat
- Klik Simpan
Permintaan Testing
Setelah menjalankan aplikasi dalam mode developeran, buka Insominia sehingga kami akan membuat permintaan ke jalur uji. Jangan ragu untuk mengirimkan permintaan yang terlihat seperti:
Seperti yang kita inginkan, itu akan mengirimkan respon yang berisi string kesalahan yang telah kita buat pada bagian sebelumnya. Sekarang saatnya untuk memeriksa apakah kesalahan ini dilaporkan di Google Cloud Console.
Akan ada kesalahan yang baru dilaporkan di konsol pelaporan kesalahan google dan Anda dapat melihat konten kesalahan dan aplikasi dari mana kesalahan itu berasal.
Demikian cara mengimplementasikan Google Error Reporting di Express. Saya harap anda menikmati postingan ini.