Memecahkan masalah Azure Stream Analytics dengan menggunakan log sumber daya

Terkadang, pekerjaan Azure Stream Analytics secara takterduga menghentikan pemrosesan. Penting untuk dapat memecahkan masalah peristiwa semacam ini. Kegagalan dapat disebabkan oleh hasil kueri tidak terduga, oleh konektivitas ke perangkat, atau oleh pemadaman layanan tidak terduga. Log sumber daya di Azure Stream Analytics dapat membantu Anda mengidentifikasi penyebab masalah saat terjadi dan mengurangi waktu pemulihan.

Sangat disarankan untuk mengaktifkan log sumber daya untuk semua pekerjaan karena log ini akan sangat membantu dalam proses debugging dan pemantauan.

Tipe log

Azure Stream Analytics menawarkan dua jenis log:

  • Log aktivitas (selalu menyala), yang memberikan wawasan tentang operasi yang dilakukan pada pekerjaan.

  • Log sumber daya (dapat dikonfigurasi), yang memberikan wawasan yang lebih kaya tentang segala sesuatu yang terjadi dengan pekerjaan. Log sumber daya dimulai ketika pekerjaan dibuat dan berakhir ketika pekerjaan dihapus. Log sumber daya mencakup kejadian ketika pekerjaan diperbarui dan saat sedang berjalan.

Catatan

Anda dapat menggunakan layanan seperti Azure Storage, Azure Event Hubs, dan log Azure Monitor untuk menganalisis data yang tidak sesuai. Anda dikenakan biaya berdasarkan model harga untuk layanan tersebut.

Catatan

Artikel ini baru-baru ini diperbarui untuk menggunakan istilah log Azure Monitor alih-alih Analitik Log. Data log masih disimpan di ruang kerja Analitik Log dan masih dikumpulkan dan dianalisis oleh layanan Analitik Log yang sama. Kami memperbarui terminologi untuk mencerminkan peran log di Azure Monitor dengan lebih baik. Lihat Perubahan terminologi Azure Monitor untuk detailnya.

Men-debug menggunakan log aktivitas

Log aktivitas dilakukan secara default dan memberikan wawasan tingkat tinggi tentang operasi yang dilakukan oleh pekerjaan Azure Stream Analytics Anda. Informasi yang ada dalam log aktivitas dapat membantu menemukan akar penyebab masalah yang memengaruhi pekerjaan Anda. Lakukan langkah-langkah berikut untuk menggunakan log aktivitas di Azure Stream Analytics:

  1. Masuk ke portal Microsoft Azure dan pilih Log aktivitas di bawah Ringkasan.

    Stream Analytics activity log

  2. Anda dapat melihat daftar operasi yang telah dilakukan. Setiap operasi yang menyebabkan pekerjaan Anda gagal memiliki gelembung info merah.

  3. Klik operasi untuk melihat tampilan ringkasannya. Informasi di sini sering dibatasi. Untuk mempelajari detail selengkapnya tentang operasi ini, klik JSON.

    Stream Analytics activity log operation summary

  4. Gulir ke bawah ke bagian Properti JSON, yang menyediakan detail kesalahan yang menyebabkan operasi gagal. Dalam contoh ini, kegagalan disebabkan oleh kesalahan runtime dari nilai lintang yang tidak terikat. Perbedaan dalam data yang diproses oleh pekerjaan Azure Stream Analytics menyebabkan kesalahan data. Anda dapat mempelajari tentang berbagai kesalahan input dan output data dan mengapa hal itu terjadi.

    JSON error details

  5. Anda dapat melakukan tindakan korektif berdasarkan pesan kesalahan di JSON. Dalam contoh ini, pemeriksaan untuk memastikan nilai lintang antara -90 derajat dan 90 derajat perlu ditambahkan ke kueri.

  6. Jika pesan kesalahan dalam log Aktivitas tidak membantu dalam mengidentifikasi akar penyebab, aktifkan log sumber daya dan gunakan log Azure Monitor.

Mengirim diagnostik ke log Azure Monitor

Mengaktifkan log sumber daya dan mengirimnya ke log Azure Monitor sangat disarankan. Mereka off secara default. Untuk mengaktifkannya, selesaikan langkah-langkah berikut:

  1. Buat ruang kerja Analitik Log jika Anda belum memilikinya. Disarankan agar ruang kerja Analitik Log Anda berada di wilayah yang sama dengan tugas Azure Stream Analytics Anda.

  2. Masuk ke portal Microsoft Azure, dan navigasi ke pekerjaan Stream Analytics Anda. Di bawah Pemantauan, pilih Log diagnostik. Lalu pilih Aktifkan diagnostik.

    Blade navigation to resource logs

  3. Berikan Nama di Nama setelan diagnostik dan centang kotak untuk Eksekusi dan Penulisan pada log, dan AllMetrics di bawah metrik. Lalu pilih Kirim ke Analitik Log dan pilih ruang kerja Anda. Klik Simpan.

    Settings for resources logs

  4. Saat tugas Azure Stream Analytics dimulai, log resource dirutekan ke ruang kerja Analitik Log Anda. Untuk melihat log sumber daya untuk pekerjaan Anda, pilih Log di bawah bagian Pemantauan.

    Screenshot shows the General menu with Logs selected.

  5. Azure Stream Analytics menyediakan kueri yang telah ditentukan sebelumnya yang memungkinkan Anda untuk dengan mudah mencari log yang Anda minati. Anda bisa memilih kueri yang telah ditentukan sebelumnya di panel kiri lalu pilih Jalankan. Anda akan melihat hasil kueri di panel bawah.

    Screenshot shows Logs for a Stream Analytics job.

Kategori log sumber daya

Azure Stream Analytics menangkap dua kategori log sumber daya:

  • Penulisan: Menangkap peristiwa log yang terkait dengan operasi penulisan pekerjaan, seperti pembuatan lapangan kerja, menambahkan dan menghapus input dan output, menambahkan dan memperbarui kueri, dan memulai atau menghentikan pekerjaan.

  • Eksekusi: Menangkap peristiwa yang terjadi selama eksekusi pekerjaan.

    • Kesalahan Konektivitas
    • Kesalahan pemrosesan data, termasuk:
      • Kejadian yang tidak sesuai dengan definisi kueri (tipe dan nilai bidang yang tidak cocok, bidang yang hilang, dan sebagainya)
      • Kesalahan evaluasi ekspresi
    • Kejadian dan kesalahan lainnya

Skema log sumber daya

Semua log disimpan dalam format JSON. Setiap entri memiliki bidang string umum berikut:

Nama Deskripsi
waktu Cap waktu (dalam UTC) dari log.
resourceId ID sumber daya yang operasi berlangsung, dalam huruf besar. Ini termasuk ID langganan, grup sumber daya, dan nama pekerjaan. Misalnya, /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT. STREAMANALYTICS / STREAMINGJOBS / MYSTREAMINGJOB.
category Kategori log, baik Eksekusi atau Penulisan.
operationName Nama operasi yang dicatat. Misalnya, Kirim Peristiwa: Output SQL gagal menulis ke mysqloutput.
status Status operasi. Misalnya, Gagal atau Berhasil.
tingkat Tingkat log. Misalnya, Kesalahan, Peringatan, atau Informasi.
properties Detail khusus entri log, diserialisasikan sebagai string JSON. Untuk informasi selengkapnya, lihat bagian berikut ini di artikel ini.

Skema properti log eksekusi

Log eksekusi memiliki informasi tentang peristiwa yang terjadi selama eksekusi pekerjaan Azure Stream Analytics. Skema properti bervariasi tergantung pada apakah peristiwa tersebut merupakan kesalahan data atau kejadian umum.

Kesalahan data

Kesalahan apa pun yang terjadi saat pekerjaan sedang memproses data ada dalam kategori log ini. Log ini paling sering dibuat selama operasi baca data, serialisasi, dan penulisan. Log ini tidak menyertakan kesalahan konektivitas. Kesalahan konektivitas diperlakukan sebagai kejadian umum. Anda dapat mempelajari lebih lanjut tentang penyebab berbagai kesalahan data input dan output yang berbeda.

Nama Deskripsi
Sumber Nama input atau output pekerjaan tempat terjadinya kesalahan.
Pesan Pesan yang terkait dengan kesalahan.
Jenis Tipe kesalahan. Misalnya, DataConversionError, CsvParserError, atau ServiceBusPropertyColumnMissingError.
Data Berisi data yang berguna untuk menemukan sumber kesalahan secara akurat. Tunduk pada pemotongan, bergantung pada ukuran.

Bergantung pada nilai operationName, kesalahan data memiliki skema berikut:

  • Peristiwa serialisasi terjadi selama operasi baca peristiwa. Peristiwa tersebut terjadi ketika data di input tidak memenuhi skema kueri karena salah satu alasan berikut:

    • Ketik ketidakcocokan selama peristiwa (de)berseri: Mengidentifikasi bidang yang menyebabkan kesalahan.

    • Tidak dapat membaca kejadian, serialisasi tidak valid: Mencantumkan informasi tentang lokasi dalam data input tempat terjadinya kesalahan. Termasuk nama blob untuk input blob, offset, dan sampel data.

  • Peristiwa pengiriman terjadi selama operasi tulis. Mereka mengidentifikasi peristiwa streaming yang menyebabkan kesalahan.

Kejadian umum

Peristiwa generik mencakup segala sesuatu yang lain.

Nama Deskripsi
Kesalahan (opsional) Informasi kesalahan. Biasanya, ini adalah informasi pengecualian jika tersedia.
Pesan Pesan log.
Jenis Tipe pesan. Azure Maps ke kategorisasi internal kesalahan. Misalnya, JobValidationError atau BlobOutputAdapterInitializationFailure.
ID Korelasi GUID yang secara unik mengidentifikasi eksekusi pekerjaan. Semua entri log eksekusi dari waktu pekerjaan dimulai sampai pekerjaan berhenti memiliki nilai ID Korelasi yang sama.

Langkah berikutnya