Mengaktifkan log diagnostik untuk aplikasi di Azure App Service

Azure menyediakan diagnostik bawaan untuk membantu penelusuran kesalahan aplikasi Azure App Service. Dalam artikel ini, Anda mempelajari cara mengaktifkan log diagnostik dan menambahkan instrumentasi ke aplikasi Anda. Anda juga mempelajari cara mengakses informasi yang dicatat Azure.

Artikel ini menggunakan portal Microsoft Azure dan Azure CLI untuk bekerja dengan log diagnostik. Untuk informasi tentang bekerja dengan log diagnostik dengan menggunakan Visual Studio, lihat Memecahkan masalah aplikasi di Azure App Service menggunakan Visual Studio.

Selain instruksi pengelogan dalam artikel ini, Anda dapat menggunakan kemampuan pengelogan terintegrasi Azure Monitor. Untuk informasi selengkapnya, lihat Mengirim log ke Azure Monitor.

Catatan

App Service menyediakan alat diagnostik interaktif khusus untuk membantu Anda memecahkan masalah aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Ringkasan diagnostik Azure App Service.

Anda juga dapat menggunakan layanan Azure lainnya untuk meningkatkan kemampuan pengelogan dan pemantauan aplikasi Anda, seperti Azure Monitor.

Gambaran umum jenis log

Jenis Plattform Lokasi penyimpanan log Deskripsi
Catatan aplikasi Windows, Linux Sistem berkas App Service dan/atau blob Azure Storage Mencatat pesan yang dihasilkan kode aplikasi Anda. Pesan dapat dihasilkan oleh kerangka kerja web yang Anda pilih, atau dari kode aplikasi Anda secara langsung dengan menggunakan pola pengelogan standar bahasa Anda. Setiap pesan diberi salah satu kategori berikut: Kritis, Kesalahan, Peringatan, Info, Debug, atau Jejak. Anda dapat memilih seberapa rumit pengelogan yang Anda inginkan dengan mengatur tingkat keparahan saat Anda mengaktifkan pengelogan aplikasi.
Log server web Windows Sistem file App Service dan/atau blob Azure Storage Data permintaan HTTP mentah dalam Format file log W3C diperpanjang. Setiap pesan log mencakup data seperti metode HTTP, URI sumber daya, IP klien, port klien, agen pengguna, dan kode respons.
Pesan kesalahan mendetail Windows Sistem berkas App Service Salinan halaman kesalahan .htm yang dikirim ke browser klien. Untuk alasan keamanan, halaman kesalahan terperinci tidak boleh dikirim ke klien dalam produksi. Tetapi App Service dapat menyimpan halaman kesalahan setiap kali terjadi kesalahan aplikasi yang memiliki kode HTTP 400 atau yang lebih tinggi. Halaman mungkin berisi informasi yang dapat membantu menentukan mengapa server mengembalikan kode kesalahan.
Pelacakan permintaan gagal Windows Sistem berkas App Service Informasi terperinci tentang permintaan yang gagal, termasuk jejak komponen IIS yang digunakan untuk memproses permintaan dan waktu yang dihabiskan di setiap komponen. Informasi ini berguna jika Anda ingin meningkatkan performa situs atau mengisolasi kesalahan HTTP tertentu. Satu folder dihasilkan untuk setiap permintaan yang gagal. Folder berisi file log XML dan lembar gaya XSL untuk melihat file log.
Log penyebaran Windows, Linux Sistem berkas App Service Log untuk saat Anda memublikasikan konten ke aplikasi. Pengelogan penyebaran terjadi secara otomatis, dan tidak ada pengaturan yang dapat dikonfigurasi untuk pengelogan penyebaran. Ini membantu Anda menentukan mengapa penyebaran gagal. Misalnya, jika Anda menggunakan skrip penyebaran kustom, Anda mungkin menggunakan log penyebaran untuk menentukan mengapa skrip gagal.

Saat log disimpan dalam sistem file App Service, log tersebut tunduk pada penyimpanan yang tersedia untuk tingkat harga Anda. Untuk informasi selengkapnya, lihat Batas App Service.

Mengaktifkan pengelogan aplikasi (Windows)

Untuk mengaktifkan log aplikasi untuk aplikasi Windows di portal Azure:

  1. Buka aplikasi Anda dan pilih Pemantauan>log Layanan Aplikasi.

    Pilih Aktif untuk salah satu atau kedua opsi ini:

    • Pencatatan aplikasi (Filesystem): Opsi ini untuk tujuan debugging atau penelusuran kesalahan sementara. Itu akan mati sendiri dalam 12 jam.
    • Pengelogan aplikasi (Blob): Opsi ini untuk pengelogan jangka panjang. Kontainer penyimpanan blob dibutuhkan untuk menulis log.

    Opsi Blob menyertakan informasi tambahan dalam pesan log, seperti ID instans komputer virtual asal pesan log (InstanceId), ID utas (Tid), dan stempel waktu yang lebih terperinci (EventTickCount).

  2. Untuk Tingkat, pilih tingkat detail untuk dicatat. Tabel berikut ini memperlihatkan kategori log yang disertakan di setiap tingkatan:

    Tingkat Kategori yang disertakan
    Nonaktif Tidak
    Kesalahan Kesalahan, Kritis
    Peringatan Peringatan, Kesalahan, Kritis
    Informasi Info, Peringatan, Kesalahan, Kritis
    Penyedehanaan kata Jejak, Debug, Info, Peringatan, Kesalahan, Kritis (semua kategori)
  3. Pilih Simpan.

Aktifkan pengelogan server web

  1. Buka aplikasi Anda dan pilih Pemantauan>log Layanan Aplikasi.

  2. Untuk Pengelogan server web, pilih Penyimpanan untuk menyimpan log di penyimpanan blob, atau pilih Sistem File untuk menyimpan log di sistem file App Service.

  3. Dalam Periode Retensi (Hari), atur jumlah hari untuk menyimpan log.

  4. Pilih Simpan.

Jika Anda menulis log ke blob, kebijakan penyimpanan tidak lagi berlaku jika Anda menghapus aplikasi tetapi menyimpan log di blob. Untuk informasi selengkapnya, lihat Biaya yang mungkin bertambah setelah penghapusan sumber daya.

Saat ini, hanya log aplikasi .NET yang dapat ditulis ke penyimpanan blob. Log aplikasi Java, PHP, Node.js, dan Python hanya dapat disimpan dalam sistem file App Service tanpa modifikasi kode untuk menulis log ke penyimpanan eksternal.

Jika Anda meregenerasi kunci akses akun penyimpanan, Anda harus mengatur ulang konfigurasi pengelogan masing-masing untuk menggunakan kunci akses yang diperbarui:

  1. Pada tab Konfigurasi , atur fitur pengelogan masing-masing ke Nonaktif. Simpan pengaturan Anda.

  2. Aktifkan pengelogan ke blob akun penyimpanan lagi. Simpan pengaturan Anda.

Mengaktifkan pengelogan aplikasi (Linux atau kontainer)

Untuk mengaktifkan pengelogan aplikasi untuk aplikasi Linux atau kontainer kustom di portal Microsoft Azure:

  1. Buka aplikasi Anda dan pilih Pemantauan>log Layanan Aplikasi.

Di Pengelogan aplikasi, pilih Sistem File.

  1. Dalam Kuota (MB), tentukan kuota disk untuk log aplikasi.

  2. Dalam Periode Retensi (Hari), atur jumlah hari untuk menyimpan log.

  3. Pilih Simpan.

Catat kesalahan secara mendetail

Untuk menyimpan halaman kesalahan atau jejak permintaan yang gagal untuk aplikasi Windows di portal Microsoft Azure:

  1. Buka aplikasi Anda dan pilih Pemantauan>log Layanan Aplikasi.

  2. Di bawah Pesan kesalahan terperinci atau Pelacakan permintaan gagal, pilih Aktif.

  3. Pilih Simpan.

Kedua jenis log disimpan dalam sistem file App Service. Ini menyimpan hingga 50 kesalahan (file atau folder). Ketika jumlah file HTML melebihi 50, App Service menghapus file kesalahan terlama.

Secara default, pelacakan permintaan yang gagal menangkap log permintaan yang gagal dengan kode status HTTP antara 400 dan 600. Untuk menentukan aturan kustom, ambil alih bagian <traceFailedRequests> dalam Web.config file.

Menambahkan pesan log dalam kode

Dalam kode aplikasi, Anda dapat menggunakan fasilitas pengelogan biasa untuk mengirim pesan log ke log aplikasi. Contohnya:

Catatan Aliran

Sebelum Anda mengalirkan log secara real time, aktifkan jenis log yang Anda inginkan. App Service mengalirkan informasi apa pun yang ditulis ke output konsol atau file yang berakhiran .txt, .log, atau .htm yang disimpan di /home/LogFiles direktori (D:\home\LogFiles).

Catatan

Beberapa jenis buffer pengelogan menulis ke file log, yang dapat menyebabkan peristiwa muncul dalam urutan yang salah dalam aliran. Misalnya, entri log aplikasi yang terjadi ketika pengguna mengunjungi halaman mungkin ditampilkan di aliran sebelum entri log HTTP yang sesuai untuk permintaan halaman.

portal Azure

Untuk melakukan streaming log di portal Microsoft Azure, buka aplikasi Anda dan pilih Memantau>aliran Log.

Cloud Shell

Untuk melakukan streaming log secara langsung di Azure Cloud Shell, gunakan perintah berikut.

Penting

Perintah ini mungkin tidak berfungsi dengan aplikasi web yang dihosting dalam paket App Service berbasis Linux.

az webapp log tail --name appname --resource-group myResourceGroup

Untuk memfilter jenis log tertentu, seperti HTTP, gunakan --provider parameter . Contohnya:

az webapp log tail --name appname --resource-group myResourceGroup --provider http

Terminal lokal

Untuk melakukan streaming log di konsol lokal, instal Azure CLI dan masuk ke akun Anda. Setelah Anda masuk, ikuti instruksi untuk Cloud Shell.

Mengakses file log

Jika Anda mengonfigurasi opsi blob Azure Storage untuk jenis log, Anda memerlukan alat klien yang berfungsi dengan Azure Storage. Untuk informasi selengkapnya, lihat Alat klien Microsoft untuk bekerja dengan Azure Storage.

Untuk log yang disimpan dalam sistem file App Service, akses dengan menggunakan mesin Kudu.

  1. Buka aplikasi Anda di portal Microsoft Azure dan pilih Alat> PengembanganAlat Tingkat Lanjut, lalu pilih Buka.

  2. Di Kudu, pilih Alat>Cadangan diagnostik.

Untuk Linux atau kontainer kustom, file ZIP berisi log output konsol untuk host Docker dan kontainer Docker. Untuk aplikasi yang ditingkatkan skalanya, file ZIP berisi satu set log untuk setiap instans. Dalam sistem file App Service, file log ini adalah konten /home/LogFiles direktori. Log penyebaran disimpan di /site/deployments/.

Untuk aplikasi Windows, file ZIP berisi konten D:\Home\LogFiles direktori dalam sistem file App Service. Ini memiliki struktur berikut:

Jenis log Direktori Deskripsi
Log aplikasi /LogFiles/Application/ Berisi satu atau beberapa file teks. Format pesan log bergantung pada penyedia pengelogan yang Anda gunakan.
Jejak pelacakan permintaan yang gagal /LogFiles/W3SVC#########/ Berisi file XML dan file XSL. Anda bisa menampilkan file XML yang diformat di browser.
Log kesalahan terperinci /LogFiles/DetailedErrors/ Berisi file kesalahan HTM. Anda dapat melihat file HTM di browser.

Cara lain untuk melihat jejak permintaan yang gagal adalah dengan membuka halaman aplikasi Anda di portal. Pada menu bilah samping, pilih Diagnosis dan selesaikan masalah. Cari Log Pelacakan Permintaan Gagal, lalu pilih ikon untuk menelusuri dan melihat jejak yang Anda inginkan.
Catatan server web /LogFiles/http/RawLogs/ Berisi file teks yang diformat dengan menggunakan format file log yang diperluas W3C. Anda dapat membaca file-file ini dengan menggunakan editor teks atau alat seperti Log Parser.

App Service tidak mendukung s-computername, s-ip, dan cs-version bidang.
Log penyebaran /LogFiles/Git/ dan /deployments/ Memuat log yang dihasilkan dari proses penerapan internal, beserta log untuk penerapan Git.

Kirim log ke Azure Monitor

Dengan integrasi Azure Monitor, Anda dapat membuat pengaturan diagnostik untuk mengirim log ke akun penyimpanan, hub peristiwa, dan ruang kerja Analitik Log. Saat Anda menambahkan pengaturan diagnostik, App Service menambahkan pengaturan aplikasi ke aplikasi Anda, yang memicu mulai ulang aplikasi.

Cuplikan layar yang memperlihatkan pilihan untuk menampilkan pengaturan diagnostik dan menambahkan pengaturan diagnostik.

Jenis log yang didukung

Untuk daftar jenis log yang didukung dan deskripsinya, lihat Log sumber daya yang didukung untuk Microsoft.Web.

Pertimbangan jaringan

Untuk tujuan yang didukung oleh pengaturan diagnostik, lihat Tujuan.

Konten terkait