REL06-BP07 Memantau pelacakan permintaan menyeluruh melalui sistem Anda - Kerangka Kerja AWS Well-Architected

REL06-BP07 Memantau pelacakan permintaan menyeluruh melalui sistem Anda

Lacak permintaan yang sedang diproses melalui komponen layanan agar tim produk dapat lebih mudah menganalisis dan menemukan serta memperbaiki masalah dan meningkatkan kinerja.

Hasil yang diinginkan: Beban kerja dengan penelusuran komprehensif di semua komponen biasanya mudah di-debug, meningkatkan mean time to resolution (MTTR) kesalahan dan latensi dengan menyederhanakan penemuan akar masalah yang menjadi penyebabnya. Penelusuran yang menyeluruh akan mempersingkat waktu yang diperlukan untuk menemukan komponen-komponen yang terdampak dan mencari tahu akar masalah yang menyebabkan kesalahan atau latensi secara mendetail.

Anti-pola umum:

  • Penelusuran digunakan untuk beberapa komponen, tidak semuanya. Misalnya, tanpa penelusuran untuk AWS Lambda, tim mungkin tidak akan memahami dengan jelas latensi yang disebabkan oleh cold start dalam beban kerja yang mengalami fluktuasi.

  • Canary sintetis atau pemantauan pengguna nyata (RUM) tidak dikonfigurasi dengan penelusuran. Tanpa canary atau RUM, telemetri interaksi klien dihilangkan dari analisis jejak, hal ini berimbas pada tidak lengkapnya profil kinerja.

  • Beban kerja hibrida mencakup alat-alat penelusuran cloud-native dan pihak ketiga, tetapi langkah-langkah belum dilakukan untuk memilih dan sepenuhnya mengintegrasikan solusi penelusuran tunggal. Berdasarkan solusi penelusuran yang dipilih, SDK penelusuran cloud-native harus digunakan untuk melakukan instrumentasi terhadap komponen-komponen yang bukan cloud-native, atau alat-alat pihak ketiga harus dikonfigurasi untuk menyerap telemetri pelacakan cloud-native.

Manfaat menerapkan praktik terbaik ini: Saat tim pengembangan menerima peringatan masalah, mereka dapat melihat gambaran utuh dari interaksi komponen sistem, termasuk korelasi komponen per komponen dengan pembuatan log, kinerja, dan kegagalan. Karena penelusuran memudahkan Anda untuk mengidentifikasi akar masalah secara visual, waktu penyelidikan akar masalah akan menjadi lebih singkat. Tim yang memahami interaksi komponen secara detail dapat mengambil keputusan yang lebih baik dan lebih cepat saat menyelesaikan masalah. Keputusan seperti kapan harus menginvokasi failover pemulihan bencana (DR) atau lokasi terbaik untuk menerapkan strategi penyembuhan mandiri dapat ditingkatkan dengan menganalisis jejak sistem, dan pada akhirnya meningkatkan kepuasan pelanggan terhadap layanan Anda.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang

Panduan implementasi

Tim yang mengoperasikan aplikasi-aplikasi yang terdistribusi dapat menggunakan alat penelusuran untuk membuat sebuah pengidentifikasi korelasi, mengumpulkan jejak permintaan, dan membuat peta layanan dari komponen-komponen yang terhubung. Semua komponen aplikasi harus disertakan dalam jejak-jejak permintaan, termasuk klien layanan, gateway perangkat lunak perantara (middleware) dan bus peristiwa, komponen komputasi, dan penyimpanan, termasuk penyimpanan nilai kunci dan basis data. Sertakan canary sintetis dan pemantauan pengguna nyata dalam konfigurasi penelusuran menyeluruh (end-to-end) Anda untuk mengukur interaksi dan latensi klien jarak jauh sehingga Anda dapat secara akurat mengevaluasi kinerja sistem Anda berdasarkan perjanjian dan tujuan-tujuan tingkat layanan Anda.

Anda dapat menggunakan AWS X-Ray dan layanan-layanan instrumentasi Pemantauan Aplikasi Amazon CloudWatch untuk menyediakan tampilan permintaan yang lengkap saat mereka melakukan perjalanan melalui aplikasi Anda. X-Ray mengumpulkan telemetri aplikasi dan memungkinkan Anda untuk memvisualisasikan dan memfilter telemetri tersebut di seluruh muatan, fungsi, jejak, layanan, API, dan dapat diaktifkan untuk komponen sistem tanpa perlu melakukan coding atau coding minimum. Pemantauan aplikasi CloudWatch mencakup ServiceLens yang bisa digunakan untuk mengintegrasikan jejak Anda dengan metrik, log, dan alarm. Pemantauan aplikasi CloudWatch juga mencakup pemantauan sintetis untuk memantau titik akhir dan API Anda, serta pemantauan pengguna nyata untuk melengkapi instrumen klien aplikasi web Anda.

Langkah-langkah implementasi

  • Gunakan AWS X-Ray di semua layanan native yang didukung seperti Amazon S3AWS Lambda, dan Amazon API Gateway. Semua layanan AWS ini mengaktifkan X-Ray dengan pengalih konfigurasi menggunakan infrastruktur sebagai kode, SDK AWS, atau AWS Management Console.

  • Aplikasi instrumen AWS Distro for Open Telemetry dan X-Ray atau agen pengumpulan pihak ketiga.

  • Tinjau Panduan Pengembang AWS X-Ray untuk penerapan khusus bahasa pemrograman. Bagian dokumentasi ini menjelaskan cara melakukan instrumentasi terhadap permintaan HTTP, mengkueri SQL, dan proses lain yang spesifik untuk bahasa pemrograman aplikasi Anda.

  • Gunakan penelusuran X-Ray untuk Canary Amazon CloudWatch Synthetics dan Amazon CloudWatch RUM untuk melakukan analisis terhadap jalur permintaan dari klien pengguna akhir Anda melalui infrastruktur AWS hilir Anda.

  • Konfigurasikan metrik dan alarm CloudWatch berdasarkan telemetri kesehatan sumber daya dan canary sehingga tim dapat menerima peringatan masalah dengan cepat, kemudian dapat mempelajari jejak dan peta layanan dengan ServiceLens.

  • Aktifkan integrasi X-Ray untuk alat-alat penelusuran pihak ketiga seperti Datadog, New Relic, atau Dynatrace jika Anda menggunakan alat-alat pihak ketiga untuk solusi penelusuran utama Anda.

Sumber daya

Praktik-praktik terbaik terkait:

Dokumen terkait:

Contoh terkait:

Video terkait:

Alat terkait: