Memantau seluruh solusi

Selesai

Dalam unit ini, kita melihat pemantauan seluruh solusi.

Pendahuluan

Mengaktifkan pemantauan di seluruh lingkungan komputasi kompleks saat ini memerlukan pengumpulan data operasional dari setiap lapisan dan komponen sistem terdistribusi. Anda memerlukan wawasan mendalam tentang data ini, dan untuk menggabungkannya dengan perspektif yang berbeda untuk mendukung banyak pemangku kepentingan di organisasi Anda.

Azure Monitor mengumpulkan data dari berbagai jenis sumber, tempat Anda dapat menggunakannya untuk analisis, visualisasi, dan pemberitahuan. Hal ini memberikan wawasan mendalam di semua sumber daya yang dipantau dan bahkan dengan data dari layanan lain yang menyimpan datanya di Microsoft Azure Monitor.

Analitik log

Log adalah peristiwa yang terjadi di dalam sistem. Log dapat berisi berbagai jenis data, dan mungkin teks terstruktur atau bentuk bebas dengan tanda waktu. Log mungkin dibuat secara sporatik karena peristiwa di lingkungan menghasilkan entri log. Sistem di bawah beban berat biasanya akan menghasilkan lebih banyak volume log.

Log di Azure Monitor sangat berharga untuk mengidentifikasi akar penyebab masalah. Data yang dikumpulkan Log Azure Monitor disimpan di satu atau beberapa ruang kerja Analitik Log. Data diambil dari ruang kerja Log Analytics menggunakan kueri log yang merupakan permintaan baca-saja untuk memproses data dan menampilkan hasil. Kueri log ditulis dalam Bahasa Kueri Kusto (KQL), yang merupakan bahasa kueri yang sama yang digunakan Azure Data Explorer.

Catatan

Aplikasi sampel Azure Spring Apps Anda telah disiapkan dengan ruang kerja Analitik Log. Untuk informasi selengkapnya tentang sintaks KQL, lihat unit Ringkasan pada akhir pelatihan ini.

Gunakan Analitik Log

Sebenarnya, ada tiga cara untuk mengakses log aplikasi Anda: Azure Storage, Azure Events Hub, dan Log Analytics. Kami akan fokus di sini pada Analitik Log karena ini adalah yang paling umum dan diintegrasikan ke dalam Azure Spring Apps untuk pemantauan metrik.

Penting

Waktu penyerapan data Log di Microsoft Azure Monitor dapat memakan waktu hingga 15 menit. Jika data tidak ditemukan di Analitik Log, mungkin perlu waktu tambahan untuk menyerap data log Azure Spring Apps.

  1. Buka portal Microsoft Azure.

  2. Pilih Azure Spring Apps dari daftar layanan Azure.

  3. Pilih instans Azure Spring Apps Anda.

  4. Selanjutnya, di bawah bagian Pemantauan , pilih Log.

  5. Dalam kotak pencarian Kueri:

    Cuplikan layar menunjukkan kueri untuk log Aplikasi Azure Spring.

    • Untuk menampilkan log, jalankan kueri seperti:

      AppPlatformLogsforSpring
      | limit 50
      
    • Untuk menampilkan metrik, masukkan kueri seperti:

      AzureMetrics
      | limit 50
      
    • Anda dapat mencari log aplikasi atau instans tertentu dengan mengatur kondisi filter:

      AppPlatformLogsforSpring
      | where ServiceName == "YourServiceName" and AppName == "YourAppName" and InstanceName == "YourInstanceName"
      | limit 50
      

Menganalisa log Aplikasi

Log aplikasi menyediakan informasi penting dan log verbose tentang kesehatan, performa aplikasi, dan banyak lagi. Di bagian berikutnya, kami menyediakan kueri untuk membantu Anda memahami status aplikasi Anda saat ini dan sebelumnya.

Tampilkan log aplikasi dari Azure Spring Apps

  1. Buka portal Microsoft Azure.

  2. Pilih Azure Spring Apps dari daftar layanan Azure.

  3. Pilih instans Azure Spring Apps Anda.

  4. Selanjutnya, di bawah bagian Pemantauan , pilih Log.

  5. Dalam kotak pencarian Kueri:

    • Untuk mengulas daftar log aplikasi dari Azure Spring Apps, diurutkan berdasarkan waktu dengan log terbaru ditampilkan terlebih dahulu, jalankan kueri berikut:

      AppPlatformLogsforSpring
      | project TimeGenerated , ServiceName , AppName , InstanceName , Log
      | sort by TimeGenerated desc
      
    • Untuk meninjau entri log yang tidak diurutkan yang menyebutkan kesalahan atau pengecualian, jalankan kueri berikut ini:

      AppPlatformLogsforSpring
      | project TimeGenerated , ServiceName , AppName , InstanceName , Log
      | where Log contains "error" or Log contains "exception"
      
    • Untuk membuat diagram pai yang menampilkan jumlah kesalahan dan pengecualian yang aplikasi Anda log, jalankan kueri berikut:

      AppPlatformLogsforSpring
      | where TimeGenerated > ago(1h)
      | where Log contains "error" or Log contains "exception"
      | summarize count_per_app = count() by AppName
      | sort by count_per_app desc
      | render piechart
      

Pemantauan Database

Memantau data tentang server membantu Anda memecahkan masalah dan mengoptimalkan beban kerja. Azure Database for MySQL menyediakan berbagai metrik yang memberikan wawasan tentang perilaku server Anda.

Di Azure Database untuk MySQL, log kueri lambat tersedia untuk pengguna. Akses ke log transaksi tidak didukung. Anda dapat menggunakan log kueri lambat untuk mengidentifikasi hambatan performa untuk pemecahan masalah.

Dalam aplikasi contoh kami, log kueri lambat Anda diatur untuk disalurkan ke Log Microsoft Azure Monitor melalui Log Diagnostik, dan Anda dapat melakukan analisis lebih lanjut tentang kueri lambat. Berikut ini adalah contoh kueri untuk membantu Anda memulai/

Penting

Waktu penyerapan data Log MySQL di Microsoft Azure Monitor dapat memakan waktu hingga 30 menit. Jika data tidak ditemukan di Log Analytics, mungkin waktu tambahan diperlukan untuk menyerap data log MySQL.

  1. Masuk ke portal Azure.

  2. Pilih server Azure Database for MySQL yang Anda gunakan untuk Azure Spring Apps Anda.

  3. Selanjutnya, di bawah bagian Pemantauan , pilih Log.

    Cuplikan layar memperlihatkan kueri untuk kueri yang lebih panjang dari satu detik.

  4. Dalam kotak pencarian Kueri:

    • Untuk mengambil semua Kueri lebih dari satu detik, jalankan kueri berikut:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      
    • Untuk mencantumkan lima kueri terpanjang teratas, jalankan kueri berikut:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | order by query_time_d desc
      | take 5
      
    • Untuk meringkas kueri lambat menurut waktu kueri minimum, maksimum, rata-rata, dan simpangihan standar, jalankan kueri berikut:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_s
      
    • Untuk membuat grafik distribusi kueri lambat pada server tertentu, jalankan kueri berikut:

      AzureDiagnostics
      | where Category == 'MySqlSlowLogs'
      | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
      | summarize count() by LogicalServerName_s, bin(TimeGenerated, 5m)
      | render timechart
      
  5. Anda juga dapat menggunakan log audit untuk melacak aktivitas tingkat database. Ini umumnya digunakan untuk kepatuhan. Log audit terintegrasi dengan Log Diagnostik Azure Monitor. Dalam sampel Anda, kami telah mengaktifkan log audit di server MySQL Anda sehingga Anda dapat melakukan analisis lebih lanjut tentang kejadian yang diaudit.

    • Berikut adalah contoh kueri yang mengambil log MySQL umum:

      AzureDiagnostics
      | where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
      | project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s 
      | order by TimeGenerated desc
      

Pemantauan UI

Jika Anda menambahkan Application Insights ke skrip halaman, Anda mendapatkan pengaturan waktu pemuatan halaman dan panggilan AJAX, jumlah, serta detail pengecualian browser dan kegagalan AJAX, serta jumlah pengguna dan sesi. Anda dapat mensegmentasi semua metrik ini berdasarkan halaman, OS klien dan versi browser, lokasi geografis, dan dimensi lainnya. Anda dapat mengatur pemberitahuan tentang jumlah kegagalan atau pemuatan halaman yang lambat, dan dengan menyisipkan panggilan pelacakan dalam kode JavaScript, Anda dapat melacak bagaimana berbagai fitur aplikasi halaman web Anda digunakan.

Anda dapat menggunakan Application Insights dengan halaman web apa pun; Anda hanya menambahkan sepotong pendek JavaScript. Jika layanan web Anda adalah Java, Anda dapat menggunakan SDK sisi server bersama dengan SDK JavaScript sisi klien untuk mendapatkan pemahaman menyeluruh tentang performa aplikasi.

Catatan

Untuk informasi selengkapnya tentang pemantauan UI, lihat unit Ringkasan pada akhir pelatihan ini.