Pemecahan masalah ujung-ke-ujung menggunakan metrik dan pengelogan Azure Storage, AzCopy, dan Microsoft Message Analyzer

Mendiagnosis dan memecahkan masalah adalah keterampilan utama untuk membangun dan mendukung aplikasi klien dengan Microsoft Azure Storage. Karena sifat terdistribusi aplikasi Azure, mendiagnosis dan memecahkan masalah masalah kinerja mungkin lebih kompleks daripada di lingkungan tradisional.

Dalam tutorial ini, kami menunjukkan cara mengidentifikasi kesalahan tertentu yang dapat memengaruhi kinerja, dan memecahkan masalah kesalahan tersebut dari ujung ke ujung menggunakan alat yang disediakan oleh Microsoft dan Azure Storage, untuk mengoptimalkan aplikasi klien.

Tutorial ini memberikan eksplorasi langsung dari skenario pemecahan masalah end-to-end. Untuk panduan konseptual mendalam untuk memecahkan masalah aplikasi penyimpanan Azure, lihat Memantau, mendiagnosis, dan memecahkan masalah Microsoft Azure Storage.

Alat untuk memecahkan masalah Azure Storage aplikasi

Untuk memecahkan masalah aplikasi klien menggunakan Microsoft Azure Storage, Anda dapat menggunakan kombinasi alat untuk menentukan kapan masalah telah terjadi dan apa penyebab masalahnya. Alat ini meliputi:

  • Azure Storage Analytics. Azure Storage Analytics menyediakan metrik dan pencatatan untuk Azure Storage.

    • Storage metrik melacak metrik transaksi dan metrik kapasitas untuk akun penyimpanan Anda. Dengan menggunakan metrik, Anda dapat menentukan kinerja aplikasi Anda sesuai dengan berbagai ukuran yang berbeda. Lihat Skema Tabel Metrik Analitik Storage untuk informasi selengkapnya tentang jenis metrik yang dilacak oleh Storage Analytics.
    • Storage log log setiap permintaan ke layanan Azure Storage ke log sisi server. Log melacak data terperinci untuk setiap permintaan, termasuk operasi yang dilakukan, status operasi, dan informasi latensi. Lihat Format Log Analytics Storage untuk informasi selengkapnya tentang data permintaan dan respons yang ditulis ke log oleh Storage Analytics.
  • Portal Microsoft Azure. Anda dapat mengonfigurasi metrik dan pencatatan untuk akun penyimpanan Anda di portal Azure. Anda juga dapat melihat bagan dan grafik yang menunjukkan kinerja aplikasi Anda dari waktu ke waktu, dan mengonfigurasi peringatan untuk memberi tahu Anda jika aplikasi Anda berkinerja berbeda dari yang diharapkan untuk metrik tertentu.

    Lihat Memantau akun penyimpanan di portal Azure untuk informasi tentang mengonfigurasi pemantauan di portal Azure.

  • AzCopy. Log server untuk Azure Storage disimpan sebagai blob, sehingga Anda dapat menggunakan AzCopy untuk menyalin blob log ke direktori lokal untuk dianalisis menggunakan Microsoft Message Analyzer. Lihat Mentransfer data dengan Utilitas Command-Line AzCopy untuk informasi selengkapnya tentang AzCopy.

  • Penganalisis Pesan Microsoft. Message Analyzer adalah alat yang menghabiskan file log dan menampilkan data log dalam format visual yang memudahkan untuk memfilter, mencari, dan mengelompokkan data log ke dalam set berguna yang dapat Anda gunakan untuk menganalisis kesalahan dan masalah kinerja. Lihat Panduan Operasi Microsoft Message Analyzer untuk informasi selengkapnya tentang Penganalisis Pesan.

Tentang skenario sampel

Untuk tutorial ini, kita akan memeriksa skenario di mana metrik Azure Storage menunjukkan tingkat keberhasilan persen rendah untuk aplikasi yang memanggil penyimpanan Azure. Metrik tingkat keberhasilan persen rendah (ditampilkan sebagai PercentSuccess di portal Azure dan dalam tabel metrik) melacak operasi yang berhasil, tetapi mengembalikan kode status HTTP yang lebih besar dari 299. Di file log penyimpanan sisi server, operasi ini direkam dengan status transaksi ClientOtherErrors. Untuk detail selengkapnya tentang metrik keberhasilan persen rendah, lihat Metrik menunjukkan persen rendahSuccess atau entri log analitik memiliki operasi dengan status transaksi ClientOtherErrors.

Azure Storage operasi dapat mengembalikan kode status HTTP lebih besar dari 299 sebagai bagian dari fungsi normal mereka. Tetapi kesalahan ini dalam beberapa kasus menunjukkan bahwa Anda mungkin dapat mengoptimalkan aplikasi klien Anda untuk meningkatkan kinerja.

Dalam skenario ini, kami akan menganggap tingkat keberhasilan persentase rendah menjadi sesuatu yang di bawah 100%. Namun, Anda dapat memilih tingkat metrik yang berbeda, sesuai dengan kebutuhan Anda. Sebaiknya selama pengujian aplikasi Anda, Anda menetapkan toleransi dasar untuk metrik kinerja utama Anda. Misalnya, Anda dapat menentukan, berdasarkan pengujian, bahwa aplikasi Anda harus memiliki tingkat keberhasilan persen yang konsisten sebesar 90%, atau 85%. Jika data metrik Anda menunjukkan bahwa aplikasi menyimpang dari angka tersebut, maka Anda dapat menyelidiki apa yang mungkin menyebabkan peningkatan tersebut.

Untuk skenario sampel kami, setelah kami menetapkan bahwa metrik tingkat keberhasilan persen di bawah 100%, kami akan memeriksa log untuk menemukan kesalahan yang berkorelasi dengan metrik, dan menggunakannya untuk mencari tahu apa yang menyebabkan tingkat keberhasilan persen yang lebih rendah. Kami akan melihat secara khusus kesalahan dalam kisaran 400. Kemudian kita akan menyelidiki lebih dekat 404 (Tidak Ditemukan) kesalahan.

Beberapa penyebab kesalahan 400-range

Contoh di bawah ini menunjukkan pengambilan sampel beberapa kesalahan rentang 400 untuk permintaan terhadap Azure Blob Storage, dan kemungkinan penyebabnya. Salah satu kesalahan ini, serta kesalahan dalam kisaran 300 dan kisaran 500, dapat berkontribusi pada tingkat keberhasilan persen yang rendah.

Perhatikan bahwa daftar di bawah ini masih jauh dari selesai. Lihat Kode Status dan Kesalahan di MSDN untuk detail tentang kesalahan Azure Storage umum dan tentang kesalahan khusus untuk masing-masing layanan penyimpanan.

Contoh Kode Status 404 (Tidak Ditemukan)

Terjadi ketika operasi baca terhadap kontainer atau blob gagal karena blob atau kontainer tidak ditemukan.

  • Terjadi jika kontainer atau blob telah dihapus oleh klien lain sebelum permintaan ini.
  • Terjadi jika Anda menggunakan panggilan API yang membuat kontainer atau blob setelah memeriksa apakah itu ada. API CreateIfNotExists melakukan panggilan HEAD terlebih dahulu untuk memeriksa keberadaan kontainer atau blob; jika tidak ada, kesalahan 404 dikembalikan, dan kemudian panggilan PUT kedua dibuat untuk menulis kontainer atau blob.

Contoh Kode Status 409 (Konflik)

  • Terjadi jika Anda menggunakan Create API untuk membuat kontainer atau blob baru, tanpa memeriksa keberadaannya terlebih dahulu, dan kontainer atau blob dengan nama tersebut sudah ada.
  • Terjadi jika kontainer sedang dihapus, dan Anda mencoba membuat kontainer baru dengan nama yang sama sebelum operasi penghapusan selesai.
  • Terjadi jika Anda menentukan sewa pada kontainer atau blob, dan sudah ada hadiah sewa.

Contoh Kode Status 412 (Prasyarat Gagal)

  • Terjadi ketika kondisi yang ditentukan oleh header bersyarat belum terpenuhi.
  • Terjadi ketika ID sewa yang ditentukan tidak sesuai dengan ID sewa pada kontainer atau blob.

Membuat file log untuk analisis

Dalam tutorial ini, kita akan menggunakan Message Analyzer untuk bekerja dengan tiga jenis file log yang berbeda, meskipun Anda dapat memilih untuk bekerja dengan salah satu dari ini:

  • Log server, yang dibuat saat Anda mengaktifkan Azure Storage logging. Log server berisi data tentang setiap operasi yang dipanggil terhadap salah satu layanan Azure Storage - blob, antrian, tabel, dan file. Log server menunjukkan operasi mana yang dipanggil dan kode status apa yang dikembalikan, serta detail lain tentang permintaan dan respons.
  • Log klien .NET, yang dibuat saat Anda mengaktifkan log sisi klien dari dalam aplikasi .NET Anda. Log klien mencakup informasi terperinci tentang bagaimana klien mempersiapkan permintaan dan menerima serta memproses respons.
  • Log jejak jaringan HTTP, yang mengumpulkan data pada permintaan HTTP / HTTPS dan data respons, termasuk untuk operasi melawan Azure Storage. Dalam tutorial ini, kita akan menghasilkan jejak jaringan melalui Message Analyzer.

Mengonfigurasi pencatatan dan metrik sisi server

Pertama, kita perlu mengonfigurasi Azure Storage logging dan metrik, sehingga kita memiliki data dari sisi layanan untuk dianalisis. Anda dapat mengonfigurasi pencatatan dan metrik dengan berbagai cara - melalui portal Azure, dengan menggunakan PowerShell, atau secara terprogram. Lihat Mengaktifkan metrik dan Mengaktifkan pencatatan untuk detail tentang mengonfigurasi pencatatan dan metrik.

Mengonfigurasi pencatatan sisi klien .NET

Untuk mengonfigurasi pencatatan sisi klien untuk aplikasi .NET, aktifkan diagnostik .NET dalam file konfigurasi aplikasi (web.config atau app.config). Lihat Pencatatan sisi klien dengan .NET Storage Pustaka Klien dan Pencatatan Sisi Klien dengan SDK Microsoft Azure Storage untuk Java di MSDN untuk detailnya.

Log sisi klien mencakup informasi terperinci tentang bagaimana klien mempersiapkan permintaan dan menerima serta memproses respons.

Pustaka Klien Storage menyimpan data log sisi klien di lokasi yang ditentukan dalam file konfigurasi aplikasi (web.config atau app.config).

Mengumpulkan jejak jaringan

Anda dapat menggunakan Message Analyzer untuk mengumpulkan jejak jaringan HTTP/HTTPS saat aplikasi klien Anda berjalan. Message Analyzer menggunakan Fiddler di bagian belakang. Sebelum Anda mengumpulkan jejak jaringan, kami sarankan Anda mengonfigurasi Fiddler untuk merekam lalu lintas HTTPS yang tidak terenkripsi:

  1. Instal Fiddler.
  2. Luncurkan Fiddler.
  3. Pilih Alat | Pilihan Fiddler.
  4. Dalam dialog Opsi, pastikan bahwa Capture HTTPS CONNECTs dan Decrypt HTTPS Traffic keduanya dipilih, seperti yang ditunjukkan di bawah ini.

Configure Fiddler Options

Untuk tutorial, kumpulkan dan simpan jejak jaringan terlebih dahulu di Message Analyzer, lalu buat sesi analisis untuk menganalisis jejak dan log. Untuk mengumpulkan jejak jaringan di Message Analyzer:

  1. Di Penganalisis Pesan, pilih | File | Jejak Cepat HTTPS yang tidak terenkripsi.

  2. Jejak akan segera dimulai. Pilih Hentikan untuk menghentikan jejak sehingga kita dapat mengonfigurasinya untuk melacak lalu lintas penyimpanan saja.

  3. Pilih Edit untuk mengedit sesi penelusuran.

  4. Pilih tautan Konfigurasi di sebelah kanan penyedia Microsoft-Pef-WebProxy ETW.

  5. Dalam dialog Pengaturan Lanjutan, klik tab Penyedia.

  6. Di bidang Filter Nama Host , tentukan titik akhir penyimpanan Anda, dipisahkan oleh spasi. Misalnya, Anda dapat menentukan titik akhir Anda sebagai berikut; ubah storagesample nama akun penyimpanan Anda:

    storagesample.blob.core.windows.net storagesample.queue.core.windows.net storagesample.table.core.windows.net

  7. Keluar dari dialog, dan klik Mulai ulang untuk mulai mengumpulkan jejak dengan filter nama host di tempat, sehingga hanya Azure Storage lalu lintas jaringan yang disertakan dalam jejak.

Catatan

Setelah Anda selesai mengumpulkan jejak jaringan Anda, kami sangat menyarankan Anda mengembalikan pengaturan yang mungkin telah Anda ubah di Fiddler untuk mendekripsi lalu lintas HTTPS. Dalam dialog Opsi Fiddler, batal pilih kotak centang Capture HTTPS CONNECTs dan Decrypt HTTPS Traffic .

Lihat Menggunakan Fitur Pelacakan Jaringan di Technet untuk detail lebih lanjut.

Meninjau data metrik di portal Azure

Setelah aplikasi Anda berjalan untuk jangka waktu tertentu, Anda dapat meninjau diagram metrik yang muncul di portal Azure untuk mengamati bagaimana kinerja layanan Anda.

Pertama, navigasikan ke akun penyimpanan Anda di portal Azure. Secara default, bagan pemantauan dengan metrik persentase Keberhasilan ditampilkan pada bilah akun. Jika sebelumnya Anda telah mengubah bagan untuk menampilkan metrik yang berbeda, tambahkan metrik persentase Keberhasilan .

Anda sekarang akan melihat persentase Keberhasilan di bagan pemantauan, bersama dengan metrik lain yang mungkin telah Anda tambahkan. Dalam skenario yang akan kita selidiki selanjutnya dengan menganalisis log di Message Analyzer, tingkat keberhasilan persen agak di bawah 100%.

Untuk detail selengkapnya tentang menambahkan dan menyesuaikan bagan metrik, lihat Mengkustomisasi bagan metrik.

Catatan

Mungkin perlu beberapa waktu agar data metrik Anda muncul di portal Azure setelah Anda mengaktifkan metrik penyimpanan. Ini karena metrik per jam untuk jam sebelumnya tidak ditampilkan dalam portal Azure sampai jam saat ini telah berlalu. Selain itu, metrik menit saat ini tidak ditampilkan di portal Azure. Jadi tergantung pada kapan Anda mengaktifkan metrik, mungkin diperlukan waktu hingga dua jam untuk melihat data metrik.

Menggunakan AzCopy untuk menyalin log server ke direktori lokal

Azure Storage menulis data log server ke blob, sementara metrik ditulis ke tabel. Blob log tersedia di kontainer terkenal $logs untuk akun penyimpanan Anda. Blob log diberi nama secara hierarkis berdasarkan tahun, bulan, hari, dan jam, sehingga Anda dapat dengan mudah menemukan rentang waktu yang ingin Anda selidiki. Misalnya, di storagesample akun, kontainer untuk blob log untuk 01/02/2015, dari jam 8-9 pagi, adalah https://storagesample.blob.core.windows.net/$logs/blob/2015/01/08/0800. Blob individu dalam kontainer ini diberi nama secara berurutan, dimulai dengan 000000.log.

Anda dapat menggunakan alat baris perintah AzCopy untuk mengunduh file log sisi server ini ke lokasi pilihan Anda di mesin lokal Anda. Misalnya, Anda dapat menggunakan perintah berikut untuk mengunduh file log untuk operasi blob yang terjadi pada 2 Januari 2015 ke folder C:\Temp\Logs\Server; ganti <storageaccountname> dengan nama akun penyimpanan Anda:

azcopy copy 'http://<storageaccountname>.blob.core.windows.net/$logs/blob/2015/01/02' 'C:\Temp\Logs\Server'  --recursive

AzCopy tersedia untuk diunduh di halaman Unduhan Azure . Untuk detail tentang menggunakan AzCopy, lihat Mentransfer data dengan Utilitas Command-Line AzCopy.

Untuk informasi tambahan tentang mengunduh log sisi server, lihat Mengunduh data log Storage Logging.

Menggunakan Microsoft Message Analyzer untuk menganalisis data log

Microsoft Message Analyzer adalah alat untuk menangkap, menampilkan, dan menganalisis lalu lintas pesan protokol, peristiwa, dan pesan sistem atau aplikasi lainnya dalam skenario pemecahan masalah dan diagnostik. Message Analyzer juga memungkinkan Anda memuat, mengumpulkan, dan menganalisis data dari log dan menyimpan file jejak. Untuk informasi selengkapnya tentang Message Analyzer, lihat Panduan Operasi Penganalisis Pesan Microsoft.

Message Analyzer mencakup aset untuk Azure Storage yang membantu Anda menganalisis log server, klien, dan jaringan. Di bagian ini, kita akan membahas cara menggunakan alat tersebut untuk mengatasi masalah keberhasilan persentase rendah dalam log penyimpanan.

Unduh dan instal Message Analyzer dan Aset Azure Storage

  1. Unduh Penganalisis Pesan.
  2. Luncurkan Penganalisis Pesan.
  3. Dari menu Alat , pilih Manajer Aset. Dalam dialog Manajer Aset, pilih Unduhan, lalu filter di Azure Storage. Anda akan melihat aset Azure Storage, seperti yang ditunjukkan pada gambar di bawah ini.
  4. Klik Sinkronkan Semua Item yang Ditampilkan untuk menginstal Aset Azure Storage. Aset yang tersedia meliputi:
    • aturan warna Azure Storage: Azure Storage aturan warna memungkinkan Anda menentukan filter khusus yang menggunakan gaya warna, teks, dan font untuk menyorot pesan yang berisi informasi spesifik dalam jejak.
    • Bagan Azure Storage: bagan Azure Storage adalah bagan yang telah ditentukan sebelumnya yang memetakan data log server. Perhatikan bahwa untuk menggunakan bagan Azure Storage saat ini, Anda hanya dapat memuat log server ke Kisi Analisis.
    • Azure Storage Parser: Pengurai Azure Storage mengurai log klien, server, dan HTTP Azure Storage untuk menampilkannya di Kisi Analisis.
    • Azure Storage Filter: Azure Storage filter adalah kriteria yang telah ditentukan sebelumnya yang dapat Anda gunakan untuk mengkueri data Anda di Kisi Analisis.
    • Tata Letak tampilan Azure Storage: tata letak tampilan Azure Storage adalah tata letak dan pengelompokan kolom yang telah ditentukan sebelumnya di Kisi Analisis.
  5. Mulai ulang Penganalisis Pesan setelah Anda menginstal aset.

Message Analyzer Asset Manager

Catatan

Instal semua aset Azure Storage yang ditampilkan untuk tujuan tutorial ini.

Mengimpor file log Anda ke Message Analyzer

Anda dapat mengimpor semua file log yang disimpan (sisi server, sisi klien, dan jaringan) ke dalam satu sesi di Microsoft Message Analyzer untuk analisis.

  1. Pada menu File di Microsoft Message Analyzer, klik Sesi Baru, lalu klik Sesi Kosong. Dalam dialog Sesi Baru , masukkan nama untuk sesi analisis Anda. Di panel Detail Sesi , klik tombol File .
  2. Untuk memuat data jejak jaringan yang dihasilkan oleh Message Analyzer, klik Tambahkan File, telusuri ke lokasi tempat Anda menyimpan file .matp dari sesi penelusuran web Anda, pilih file .matp, dan klik Buka.
  3. Untuk memuat data log sisi server, klik Tambahkan File, telusuri ke lokasi tempat Anda mengunduh log sisi server, pilih file log untuk rentang waktu yang ingin Anda analisis, dan klik Buka. Kemudian, di panel Detail Sesi , atur drop-down Konfigurasi Log Teks untuk setiap file log sisi server ke AzureStorageLog untuk memastikan bahwa Microsoft Message Analyzer dapat mengurai file log dengan benar.
  4. Untuk memuat data log sisi klien, klik Tambahkan File, telusuri ke lokasi tempat Anda menyimpan log sisi klien, pilih file log yang ingin Anda analisis, dan klik Buka. Kemudian, di panel Detail Sesi , atur drop-down Konfigurasi Log Teks untuk setiap file log sisi klien ke AzureStorageClientDotNetV4 untuk memastikan bahwa Microsoft Message Analyzer dapat mengurai file log dengan benar.
  5. Klik Mulai dalam dialog Sesi Baru untuk memuat dan mengurai data log. Data log ditampilkan di Kotak Analisis Penganalisis Pesan.

Gambar di bawah ini menunjukkan sesi contoh yang dikonfigurasi dengan file log jejak server, klien, dan jaringan.

Configure Message Analyzer Session

Perhatikan bahwa Message Analyzer memuat file log ke dalam memori. Jika Anda memiliki satu set besar data log, Anda akan ingin memfilternya untuk mendapatkan kinerja terbaik dari Message Analyzer.

Pertama, tentukan kerangka waktu yang Anda minati untuk ditinjau, dan jaga kerangka waktu ini sekecil mungkin. Dalam banyak kasus Anda akan ingin meninjau periode menit atau jam paling banyak. Impor kumpulan log terkecil yang dapat memenuhi kebutuhan Anda.

Jika Anda masih memiliki sejumlah besar data log, maka Anda mungkin ingin menentukan filter sesi untuk memfilter data log Anda sebelum memuatnya. Dalam kotak Filter Sesi, pilih tombol Pustaka untuk memilih filter yang telah ditentukan; misalnya, pilih Filter Waktu Global I dari Azure Storage filter untuk memfilter pada interval waktu. Anda kemudian dapat mengedit kriteria filter untuk menentukan stempel waktu awal dan akhir untuk interval yang ingin Anda lihat. Anda juga dapat memfilter kode status tertentu; misalnya, Anda dapat memilih untuk memuat hanya entri log di mana kode statusnya adalah 404.

Untuk informasi selengkapnya tentang mengimpor data log ke Microsoft Message Analyzer, lihat Mengambil Data Pesan di TechNet.

Gunakan ID permintaan klien untuk menghubungkan data file log

Pustaka Klien Azure Storage secara otomatis menghasilkan ID permintaan klien unik untuk setiap permintaan. Nilai ini ditulis ke log klien, log server, dan jejak jaringan, sehingga Anda dapat menggunakannya untuk menghubungkan data di ketiga log dalam Message Analyzer. Lihat ID permintaan klien untuk informasi tambahan tentang ID permintaan klien.

Bagian di bawah ini menjelaskan cara menggunakan tampilan tata letak yang telah dikonfigurasi sebelumnya dan kustom untuk berkorelasi dan mengelompokkan data berdasarkan ID permintaan klien.

Pilih tata letak tampilan untuk ditampilkan di Kisi Analisis

Storage Assets for Message Analyzer menyertakan Tata Letak tampilan Azure Storage, yang merupakan tampilan yang telah dikonfigurasi sebelumnya yang dapat Anda gunakan untuk menampilkan data Anda dengan pengelompokan dan kolom yang berguna untuk skenario yang berbeda. Anda juga dapat membuat tata letak tampilan kustom dan menyimpannya untuk digunakan kembali.

Gambar di bawah ini menampilkan menu Tata Letak Tampilan , tersedia dengan memilih Tata Letak Tampilan dari pita toolbar. Tata letak tampilan untuk Azure Storage dikelompokkan di bawah simpul Azure Storage di menu. Anda dapat mencari Azure Storage di kotak pencarian untuk memfilter tata letak tampilan Azure Storage saja. Anda juga dapat memilih bintang di sebelah tata letak tampilan untuk menjadikannya favorit dan menampilkannya di bagian atas menu.

View Layout menu

Untuk mulai dengan, pilih Dikelompokkan oleh ClientRequestID dan Modul. Tata letak tampilan ini mengelompokkan data log dari ketiga log terlebih dahulu berdasarkan ID permintaan klien, kemudian dengan file log sumber (atau Modul di Message Analyzer). Dengan tampilan ini, Anda dapat menelusuri ID permintaan klien tertentu, dan melihat data dari ketiga file log untuk ID permintaan klien tersebut.

Gambar di bawah ini menunjukkan tampilan tata letak ini diterapkan ke data log sampel, dengan subset kolom ditampilkan. Anda dapat melihat bahwa untuk ID permintaan klien tertentu, Kisi Analisis menampilkan data dari log klien, log server, dan jejak jaringan.

Azure Storage View Layout

Catatan

File log yang berbeda memiliki kolom yang berbeda, jadi ketika data dari beberapa file log ditampilkan di Kisi Analisis, beberapa kolom mungkin tidak berisi data apa pun untuk baris tertentu. Misalnya, pada gambar di atas, baris log klien tidak menampilkan data apa pun untuk kolom Stempel Waktu, TimeElapsed, Sumber, dan Tujuan , karena kolom ini tidak ada di log klien, tetapi ada di jejak jaringan. Demikian pula, kolom Timestamp menampilkan data stempel waktu dari log server, tetapi tidak ada data yang ditampilkan untuk kolom TimeElapsed, Source, dan Destination , yang bukan bagian dari log server.

Selain menggunakan tata letak tampilan Azure Storage, Anda juga dapat menentukan dan menyimpan tata letak tampilan Anda sendiri. Anda dapat memilih bidang lain yang diinginkan untuk mengelompokkan data dan menyimpan pengelompokan sebagai bagian dari tata letak kustom Anda juga.

Menerapkan aturan warna ke Kisi Analisis

Aset Storage juga mencakup aturan warna, yang menawarkan sarana visual untuk mengidentifikasi berbagai jenis kesalahan dalam Kisi Analisis. Aturan warna yang telah ditentukan berlaku untuk kesalahan HTTP, sehingga hanya muncul untuk log server dan jejak jaringan.

Untuk menerapkan aturan warna, pilih Aturan Warna dari pita toolbar. Anda akan melihat aturan warna Azure Storage di menu. Untuk tutorial, pilih Kesalahan Klien (Kode Status antara 400 dan 499), seperti yang ditunjukkan pada gambar di bawah ini.

Azure Storage View Layout

Selain menggunakan aturan warna Azure Storage, Anda juga dapat menentukan dan menyimpan aturan warna Anda sendiri.

Mengelompokkan dan memfilter data log untuk menemukan kesalahan 400 rentang

Selanjutnya, kita akan mengelompokkan dan memfilter data log untuk menemukan semua kesalahan dalam rentang 400.

  1. Temukan kolom StatusCode di Kisi Analisis, klik kanan judul kolom, dan pilih Grup.

  2. Selanjutnya, kelompokkan di kolom ClientRequestId . Anda akan melihat bahwa data di Kisi Analisis sekarang diatur berdasarkan kode status dan oleh ID permintaan klien.

  3. Tampilkan jendela alat Tampilkan Filter jika belum ditampilkan. Pada pita toolbar, pilih Alat Windows, lalu Tampilkan Filter.

  4. Untuk memfilter data log untuk menampilkan hanya kesalahan rentang 400, tambahkan kriteria filter berikut ke jendela Lihat Filter , dan klik Terapkan:

    (AzureStorageLog.StatusCode >= 400 && AzureStorageLog.StatusCode <=499) || (HTTP.StatusCode >= 400 && HTTP.StatusCode <= 499)

Gambar di bawah ini menunjukkan hasil pengelompokan dan filter ini. Memperluas bidang ClientRequestID di bawah pengelompokan untuk kode status 409, misalnya, menunjukkan operasi yang menghasilkan kode status tersebut.

Azure Storage View Layout

Setelah menerapkan filter ini, Anda akan melihat bahwa baris dari log klien dikecualikan, karena log klien tidak menyertakan kolom StatusCode . Untuk mulai dengan, kami akan meninjau server dan log jejak jaringan untuk menemukan 404 kesalahan, dan kemudian kami akan kembali ke log klien untuk memeriksa operasi klien yang mengarah ke mereka.

Catatan

Anda dapat memfilter pada kolom StatusCode dan masih menampilkan data dari ketiga log, termasuk log klien, jika Anda menambahkan ekspresi ke filter yang menyertakan entri log di mana kode statusnya null. Untuk membuat ekspresi filter ini, gunakan:

*StatusCode >= 400 or !*StatusCode

Filter ini mengembalikan semua baris dari log klien dan hanya baris dari log server dan log HTTP di mana kode status lebih besar dari 400. Jika Anda menerapkannya ke tata letak tampilan yang dikelompokkan berdasarkan ID dan modul permintaan klien, Anda dapat mencari atau menggulir entri log untuk menemukan yang di mana ketiga log diwakili.

Memfilter data log untuk menemukan 404 kesalahan

Aset Storage menyertakan filter yang telah ditentukan yang dapat Anda gunakan untuk mempersempit data log untuk menemukan kesalahan atau tren yang Anda cari. Selanjutnya, kita akan menerapkan dua filter yang telah ditentukan: satu yang memfilter log jejak server dan jaringan untuk 404 kesalahan, dan satu yang memfilter data pada rentang waktu tertentu.

  1. Tampilkan jendela alat Tampilkan Filter jika belum ditampilkan. Pada pita toolbar, pilih Alat Windows, lalu Tampilkan Filter.

  2. Di jendela Lihat Filter, pilih Pustaka, dan cari Azure Storage untuk menemukan filter Azure Storage. Pilih filter untuk 404 (Tidak Ditemukan) pesan di semua log.

  3. Tampilkan menu Perpustakaan lagi, dan temukan dan pilih Filter Waktu Global.

  4. Edit stempel waktu yang ditampilkan dalam filter ke rentang yang ingin Anda lihat. Ini akan membantu mempersempit jangkauan data untuk dianalisis.

  5. Filter Anda akan tampak mirip dengan contoh di bawah ini. Klik Terapkan untuk menerapkan filter ke Kisi Analisis.

    ((AzureStorageLog.StatusCode == 404 || HTTP.StatusCode == 404)) And (#Timestamp >= 2014-10-20T16:36:38 and #Timestamp <= 2014-10-20T16:36:39)

    Azure Storage View Layout

Menganalisis data log Anda

Sekarang setelah Anda mengelompokkan dan memfilter data Anda, Anda dapat memeriksa detail permintaan individual yang menghasilkan 404 kesalahan. Dalam tata letak tampilan saat ini, data dikelompokkan berdasarkan ID permintaan klien, lalu oleh sumber log. Karena kami memfilter permintaan di mana bidang StatusCode berisi 404, kami hanya akan melihat data pelacakan server dan jaringan, bukan data log klien.

Gambar di bawah ini menunjukkan permintaan tertentu di mana operasi Get Blob menghasilkan 404 karena blob tidak ada. Perhatikan bahwa beberapa kolom telah dihapus dari tampilan standar untuk menampilkan data yang relevan.

Filtered Server and Network Trace Logs

Selanjutnya, kami akan menghubungkan ID permintaan klien ini dengan data log klien untuk melihat tindakan apa yang diambil klien ketika kesalahan terjadi. Anda dapat menampilkan tampilan Kisi Analisis baru untuk sesi ini untuk melihat data log klien, yang terbuka di tab kedua:

  1. Pertama, salin nilai bidang ClientRequestId ke clipboard. Anda dapat melakukan ini dengan memilih salah satu baris, menemukan bidang ClientRequestId , mengklik kanan pada nilai data, dan memilih Salin 'ClientRequestId'.

  2. Pada pita toolbar, pilih Penampil Baru, lalu pilih Kisi Analisis untuk membuka tab baru. Tab baru menampilkan semua data dalam file log Anda, tanpa pengelompokan, pemfilteran, atau aturan warna.

  3. Pada pita toolbar, pilih Tampilkan Tata Letak, lalu pilih Semua Kolom Klien .NET di bawah bagian Azure Storage. Tata letak tampilan ini menunjukkan data dari log klien serta log jejak server dan jaringan. Secara default itu diurutkan pada kolom MessageNumber .

  4. Selanjutnya, cari log klien untuk ID permintaan klien. Pada pita toolbar, pilih Temukan Pesan, lalu tentukan filter kustom pada ID permintaan klien di bidang Temukan . Gunakan sintaks ini untuk filter, tentukan ID permintaan klien Anda sendiri:

    *ClientRequestId == "398bac41-7725-484b-8a69-2a9e48fc669a"

Message Analyzer menempatkan dan memilih entri log pertama di mana kriteria pencarian cocok dengan ID permintaan klien. Dalam log klien, ada beberapa entri untuk setiap ID permintaan klien, jadi Anda mungkin ingin mengelompokkannya di bidang ClientRequestId untuk membuatnya lebih mudah untuk melihat semuanya bersama-sama. Gambar di bawah ini menunjukkan semua pesan dalam log klien untuk ID permintaan klien yang ditentukan.

Client log showing 404 errors

Dengan menggunakan data yang ditampilkan dalam tata letak tampilan di dua tab ini, Anda dapat menganalisis data permintaan untuk menentukan apa yang mungkin menyebabkan kesalahan. Anda juga dapat melihat permintaan yang mendahului yang satu ini untuk melihat apakah peristiwa sebelumnya mungkin telah menyebabkan kesalahan 404. Misalnya, Anda dapat meninjau entri log klien sebelum ID permintaan klien ini untuk menentukan apakah blob mungkin telah dihapus, atau jika kesalahan itu disebabkan oleh aplikasi klien yang memanggil API CreateIfNotExists pada kontainer atau blob. Di log klien, Anda dapat menemukan alamat blob di bidang Deskripsi ; di log jejak server dan jaringan, informasi ini muncul di bidang Ringkasan .

Setelah Anda mengetahui alamat blob yang menghasilkan kesalahan 404, Anda dapat menyelidiki lebih lanjut. Jika Anda mencari entri log untuk pesan lain yang terkait dengan operasi pada blob yang sama, Anda dapat memeriksa apakah klien sebelumnya menghapus entitas.

Menganalisis jenis kesalahan penyimpanan lainnya

Sekarang setelah Anda terbiasa menggunakan Message Analyzer untuk menganalisis data log Anda, Anda dapat menganalisis jenis kesalahan lain menggunakan tata letak tampilan, aturan warna, dan pencarian / pemfilteran. Tabel di bawah ini mencantumkan beberapa masalah yang mungkin Anda temui dan kriteria filter yang dapat Anda gunakan untuk menemukannya. Untuk informasi selengkapnya tentang membangun filter dan bahasa pemfilteran Penganalisis Pesan, lihat Memfilter Data Pesan.

Untuk menyelidiki... Gunakan Ekspresi Filter... Ekspresi Berlaku untuk Log (Klien, Server, Jaringan, Semua)
Penundaan tak terduga dalam pengiriman pesan pada antrean AzureStorageClientDotNetV4.Description berisi "Mencoba kembali operasi yang gagal." Klien
PENINGKATAN HTTP dalam PersenThrottlingError HTTP. Response.StatusCode == 500 || HTTP. Response.StatusCode == 503 Jaringan
Peningkatan PersenTimeoutError HTTP. Response.StatusCode == 500 Jaringan
Peningkatan PersenTimeoutError (semua) *Kode Status == 500 Semua
Peningkatan PercentNetworkError AzureStorageClientDotNetV4.EventLogEntry.Level < 2 Klien
Pesan HTTP 403 (Terlarang) HTTP. Response.StatusCode == 403 Jaringan
Pesan HTTP 404 (Tidak ditemukan) HTTP. Response.StatusCode == 404 Jaringan
404 (semua) *Kode Status == 404 Semua
Masalah otorisasi Tanda Tangan Akses Bersama (SAS) AzureStorageLog.RequestStatus == "SASAuthorizationError" Jaringan
Pesan HTTP 409 (Konflik) HTTP. Response.StatusCode == 409 Jaringan
409 (semua) *Kode Status == 409 Semua
Entri log PercentSuccess atau analitik rendah memiliki operasi dengan status transaksi ClientOtherErrors AzureStorageLog.RequestStatus == "ClientOtherError" Server
Peringatan Nagle ((AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS) > (AzureStorageLog.ServerLatencyMS * 1.5)) dan (AzureStorageLog.RequestPacketSize <1460) dan (AzureStorageLog.EndToEndLatencyMS - AzureStorageLog.ServerLatencyMS >= 200) Server
Rentang waktu di log Server dan Jaringan >#Timestamp = 2014-10-20T16:36:38 dan #Timestamp <= 2014-10-20T16:36:39 Server, Jaringan
Rentang waktu dalam log Server AzureStorageLog.Timestamp >= 2014-10-20T16:36:38 dan AzureStorageLog.Timestamp <= 2014-10-20T16:36:39 Server

Langkah berikutnya

Untuk informasi selengkapnya tentang pemecahan masalah skenario end-to-end di Azure Storage, lihat sumber daya ini: