Memantau seluruh solusi
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.
Buka portal Microsoft Azure.
Pilih Azure Spring Apps dari daftar layanan Azure.
Pilih instans Azure Spring Apps Anda.
Selanjutnya, di bawah bagian Pemantauan , pilih Log.
Dalam kotak pencarian Kueri:
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
Buka portal Microsoft Azure.
Pilih Azure Spring Apps dari daftar layanan Azure.
Pilih instans Azure Spring Apps Anda.
Selanjutnya, di bawah bagian Pemantauan , pilih Log.
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.
Masuk ke portal Azure.
Pilih server Azure Database for MySQL yang Anda gunakan untuk Azure Spring Apps Anda.
Selanjutnya, di bawah bagian Pemantauan , pilih Log.
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
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.