Pemantauan aplikasi web di Azure

Azure App Service
Azure Log Analytics
Azure Monitor

Skenario ini membahas layanan pemantauan yang dapat Anda gunakan dan menjelaskan model aliran data untuk digunakan dengan beberapa sumber data. Saat tiba waktunya pemantauan, banyak alat dan layanan yang berfungsi dengan penyebaran Azure. Dalam hal ini, kami memilih layanan yang tersedia karena mudah digunakan. Opsi pemantauan lainnya dibahas kemudian dalam artikel ini.

Arsitektur

Unduh file Visio arsitektur ini.

Aliran data

Skenario ini menggunakan lingkungan Azure terkelola untuk meng-host aplikasi dan tingkat data. Data mengalir melalui skenario sebagai berikut:

  1. Pengguna berinteraksi dengan aplikasi.
  2. Layanan aplikasi dan browser memancarkan telemetri.
  3. Application Insights mengumpulkan dan menganalisis data penggunaan, performa, dan kesehatan aplikasi.
  4. Pengembang dan administrator dapat meninjau informasi kesehatan, performa, dan penggunaan.
  5. Azure SQL Database memancarkan telemetri.
  6. Azure Monitor mengumpulkan dan menganalisis metrik dan kuota infrastruktur.
  7. Log Analytics mengumpulkan dan menganalisis log dan metrik.
  8. Pengembang dan administrator dapat meninjau informasi kesehatan, performa, dan penggunaan.

Komponen

  • Azure App Service adalah layanan PaaS untuk membangun dan meng-host aplikasi di mesin virtual terkelola. Infrastruktur komputasi yang mendasarinya tempat aplikasi Anda dijalankan dikelola untuk Anda. App Service menyediakan pemantauan kuota penggunaan sumber daya dan metrik aplikasi, pengelogan informasi diagnostik, dan peringatan berdasarkan metrik. Lebih baik lagi, Anda dapat menggunakan Application Insights untuk membuat pengujian ketersediaan untuk menguji aplikasi Anda dari berbagai wilayah.
  • Application Insights adalah layanan Pengelolaan Performa Aplikasi (APM) yang dapat diperluas untuk pengembang dan mendukung beberapa platform. Ini memantau aplikasi, mendeteksi anomali aplikasi seperti performa buruk dan kegagalan, dan mengirim telemetri ke portal Azure. Application Insights juga dapat digunakan untuk pengelogan, pelacakan terdistribusi, dan metrik aplikasi kustom.
  • Azure Monitor menyediakan metrik dan log infrastruktur tingkat dasar untuk sebagian besar layanan di Azure. Anda dapat berinteraksi dengan metrik dengan beberapa cara, termasuk memetakannya di portal Azure, mengaksesnya melalui REST API, atau mengkuerinya menggunakan PowerShell atau CLI. Azure Monitor juga menawarkan datanya secara langsung ke dalam Log Analytics dan layanan lainnya, di mana Anda dapat mengkueri dan menggabungkannya dengan data dari sumber lain di lokal atau cloud.
  • Log Analytics membantu menghubungkan data penggunaan dan performa yang dikumpulkan oleh Application Insights dengan data konfigurasi dan performa di seluruh sumber daya Azure yang mendukung aplikasi. Skenario ini menggunakan agen Azure Log Analytics untuk menerapkan log audit SQL Server ke Log Analytics. Anda dapat menulis kueri dan melihat data di bilah Log Analytics portal Azure.

Detail skenario

Penawaran platform as a service (PaaS) Azure mengelola sumber daya komputasi untuk Anda dan memengaruhi cara Anda memantau penyebaran. Azure mencakup beberapa layanan pemantauan, yang masing-masing melakukan peran tertentu. Bersama-sama, layanan ini memberikan solusi komprehensif untuk mengumpulkan, menganalisis, dan bertindak terhadap telemetri dari aplikasi Anda dan sumber daya Azure yang mereka gunakan.

Skenario ini membahas layanan pemantauan yang dapat Anda gunakan dan menjelaskan model aliran data untuk digunakan dengan beberapa sumber data. Saat tiba waktunya pemantauan, banyak alat dan layanan yang berfungsi dengan penyebaran Azure. Dalam hal ini, kami memilih layanan yang tersedia karena mudah digunakan. Opsi pemantauan lainnya dibahas kemudian dalam artikel ini.

Kemungkinan kasus penggunaan

Kasus penggunaan yang relevan lainnya meliputi:

  • Menginstrumentasi aplikasi web untuk memantau telemetri.
  • Mengumpulkan telemetri front-end dan back-end untuk aplikasi yang disebarkan di Azure.
  • Memantau metrik dan kuota yang terkait dengan layanan di Azure.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keunggulan operasional

Keunggulan operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Gambaran umum pilar keunggulan operasional.

Pemantauan

Praktik yang disarankan adalah menambahkan Application Insights ke kode Anda selama pengembangan menggunakan SDK Application Insights, dan penyesuaian per aplikasi. SDK sumber terbuka ini tersedia untuk sebagian besar kerangka kerja aplikasi. Untuk memperkaya dan mengontrol data yang Anda kumpulkan, gabungkan penggunaan SDK untuk pengujian dan penyebaran produksi ke dalam proses pengembangan Anda. Persyaratan utama adalah aplikasi harus memiliki garis pandang langsung atau tidak langsung ke titik akhir penyerapan Application Insights yang di-host dengan alamat yang dapat diakses dari Internet. Anda kemudian dapat menambahkan telemetri atau memperkaya koleksi telemetri yang ada.

Pemantauan runtime adalah cara mudah lain untuk memulai. Telemetri yang dikumpulkan harus dikontrol melalui file konfigurasi. Misalnya, Anda dapat menyertakan metode runtime yang memungkinkan alat seperti Pemantau Status Application Insights untuk menyebarkan SDK ke folder yang benar dan menambahkan konfigurasi yang tepat untuk memulai pemantauan.

Seperti Application Insights, Log Analytics menyediakan alat untuk menganalisis data lintas sumber, membuat kueri yang kompleks, dan mengirim peringatan proaktif pada kondisi tertentu. Anda juga dapat melihat telemetri di portal Azure. Log Analytics menambah nilai pada layanan pemantauan yang ada seperti Azure Monitor dan juga dapat memantau lingkungan lokal.

Application Insights dan Log Analytics menggunakan Bahasa Kueri Azure Log Analytics. Anda juga dapat menggunakan kueri lintas sumber daya untuk menganalisis telemetri yang dikumpulkan oleh Application Insights dan Log Analytics dalam satu kueri.

Azure Monitor, Application Insights, dan Log Analytics semuanya mengirim peringatan. Misalnya, Azure Monitor memberi peringatan tentang metrik tingkat platform seperti pemanfaatan CPU, sedangkan Application Insights memberi peringatan tentang metrik tingkat aplikasi seperti waktu respons server. Azure Monitor memberi peringatan tentang peristiwa baru di Azure Activity Log, sedangkan Log Analytics dapat mengeluarkan peringatan tentang metrik atau data peristiwa untuk layanan yang dikonfigurasi untuk menggunakannya. Peringatan terpadu di Azure Monitor adalah pengalaman peringatan terpadu baru di Azure yang menggunakan taksonomi yang berbeda.

Alternatif

Artikel ini menjelaskan opsi pemantauan yang tersedia dengan mudah dengan fitur populer, tetapi Anda memiliki banyak pilihan, termasuk opsi untuk membuat mekanisme pengelogan Anda sendiri. Praktik yang disarankan adalah menambahkan layanan pemantauan saat Anda membangun tingkatan dalam solusi. Berikut beberapa kemungkinan ekstensi dan alternatif:

Untuk informasi selengkapnya, lihat Pemantauan Untuk DevOps di Azure Well-Architected Framework.

Skalabilitas dan ketersediaan

Skenario ini berfokus pada solusi PaaS untuk pemantauan sebagian besar karena mereka dengan mudah menangani ketersediaan dan skalabilitas untuk Anda dan didukung oleh perjanjian tingkat layanan (SLA). Misalnya, App Services menyediakan SLA yang dijamin untuk ketersediaannya.

Application Insights memiliki batasan tentang banyaknya permintaan yang dapat diproses per detik. Jika melebihi batas permintaan, Anda mungkin mengalami pembatasan pesan. Untuk mencegah pembatasan, terapkan pemfilteran atau pengambilan sampel untuk mengurangi laju data

Namun, pertimbangan ketersediaan tinggi untuk aplikasi yang Anda jalankan adalah tanggung jawab pengembang. Untuk informasi tentang skala, misalnya, lihat pertimbangan skalabilitas dalam arsitektur referensi aplikasi web dasar. Setelah aplikasi disebarkan, Anda dapat menyiapkan pengujian untuk memantau ketersediaannya menggunakan Application Insights.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Informasi sensitif dan persyaratan kepatuhan memengaruhi pengumpulan, penyimpanan, dan penyimpanan data. Pelajari lebih lanjut cara Application Insights dan Log Analytics menangani telemetri.

Pertimbangan keamanan berikut juga dapat berlaku:

  • Kembangkan rencana untuk menangani informasi pribadi jika pengembang diizinkan untuk mengumpulkan data mereka sendiri atau memperkaya telemetri yang ada.
  • Pertimbangkan retensi data. Misalnya, Application Insights menyimpan data telemetri selama 90 hari. Arsipkan data yang ingin diakses untuk jangka waktu yang lebih lama menggunakan Microsoft Power BI, Ekspor Berkelanjutan, atau REST API. Tarif penyimpanan berlaku.
  • Batasi akses ke sumber daya Azure untuk mengontrol akses ke data dan siapa saja yang dapat melihat telemetri dari aplikasi tertentu. Untuk membantu mengunci akses ke telemetri pemantauan, lihat Sumber daya, peran, dan kontrol akses di Application Insights.
  • Pertimbangkan apakah akan mengontrol akses baca/tulis dalam kode aplikasi untuk mencegah pengguna menambahkan penanda versi atau tag yang membatasi penyerapan data dari aplikasi. Dengan Application Insights, tidak ada kontrol atas item data individu setelah dikirim ke sumber daya, jadi jika pengguna memiliki akses ke data apa pun, mereka akan memiliki akses ke semua data dalam sumber daya individu.
  • Tambahkan mekanisme tata kelola untuk menerapkan kebijakan atau kontrol biaya atas sumber daya Azure jika diperlukan. Misalnya, gunakan Log Analytics untuk pemantauan terkait keamanan seperti kebijakan dan kontrol akses berbasis peran, atau gunakan Azure Policy untuk membuat, menetapkan, dan mengelola definisi kebijakan.
  • Untuk memantau potensi masalah keamanan dan mendapatkan tampilan sentral dari status keamanan sumber daya Azure Anda, pertimbangkan untuk menggunakan Microsoft Defender untuk Cloud.

Pengoptimalan biaya

Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Biaya pemantauan dapat bertambah dengan cepat. Pertimbangkan harga di muka, pahami apa yang dipantau, dan periksa biaya terkait untuk setiap layanan. Azure Monitor menyediakan metrik dasar tanpa biaya, sementara biaya pemantauan untuk Application Insights dan Log Analytics didasarkan pada jumlah data yang diserap dan jumlah pengujian yang Anda jalankan.

Untuk membantu Anda memulai, gunakan kalkulator harga untuk memperkirakan biaya. Ubah berbagai opsi harga agar sesuai dengan penyebaran yang Anda harapkan.

Telemetri dari Application Insights dikirim ke portal Azure selama penelusuran kesalahan dan setelah Anda menerbitkan aplikasi. Untuk tujuan pengujian dan menghindari biaya, volume telemetri terbatas diinstrumentasikan. Untuk menambahkan lebih banyak indikator, Anda dapat meningkatkan batas telemetri. Untuk kontrol yang lebih terperinci, lihat Pengambilan sampel di Application Insights.

Setelah penyebaran, Anda dapat menonton Streaming Metrik Langsung indikator performa. Data ini tidak disimpan - Anda melihat metrik real-time - tetapi telemetri dapat dikumpulkan dan dianalisis di lain waktu. Tidak ada biaya untuk data Streaming Langsung.

Log Analytics ditagih per gigabyte (GB) data yang diserap ke dalam layanan. 5 GB data pertama yang diserap ke layanan Azure Log Analytics setiap bulan ditawarkan secara gratis, dan data disimpan tanpa biaya selama 31 hari pertama di ruang kerja Log Analytics Anda.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya

Lihat sumber daya ini yang dirancang untuk membantu Anda mulai menggunakan solusi pemantauan Anda sendiri: