Mengakses log diagnostik untuk Azure Data Lake Analytics

Penting

Azure Data Lake Analytics pensiun pada 29 Februari 2024. Pelajari lebih lanjut dengan pengumuman ini.

Untuk analitik data, organisasi Anda dapat menggunakan Azure Synapse Analytics atau Microsoft Fabric.

Pembuatan log diagnostik memungkinkan Anda mengumpulkan jejak audit akses data. Log ini menyediakan informasi seperti:

  • Daftar pengguna yang mengakses data.
  • Seberapa sering data diakses.
  • Berapa banyak data yang disimpan di akun.

Mengaktifkan pembuatan log

  1. Masuk ke portal Azure.

  2. Buka akun Data Lake Analytics Anda dan pilih Pengaturan diagnostik dari bagian Pemantauan. Selanjutnya, pilih + Tambahkan pengaturan diagnostik.

    Cuplikan layar yang memperlihatkan tindakan

  3. Dari Pengaturan diagnostik, masukkan nama untuk konfigurasi pengelogan ini lalu pilih opsi pengelogan.

    Cuplikan layar memperlihatkan pengaturan untuk mengaktifkan diagnostik untuk mengumpulkan log audit dan permintaan

    • Anda dapat memilih untuk menyimpan/memproses data dengan empat cara berbeda.

      • Pilih Mengarsipkan ke akun penyimpanan untuk menyimpan log ke akun Azure Storage. Gunakan opsi ini jika Anda ingin mengarsipkan data. Jika Anda memilih opsi ini, Anda harus menyediakan sebuah akun penyimpanan Azure untuk menyimpan lognya.

      • Pilih Stream ke hub peristiwa untuk mengalirkan data log ke Azure Event Hubs. Gunakan opsi ini jika Anda memiliki alur pemrosesan hilir yang menganalisis log masuk secara waktu nyata. Jika Anda memilih opsi ini, Anda harus memberikan detail untuk Azure Event Hubs ingin Anda gunakan.

      • Pilih Kirim ke ruang kerja Analitik Log untuk mengirim data ke layanan Azure Monitor. Gunakan opsi ini jika Anda ingin menggunakan log Azure Monitor untuk mengumpulkan dan menganalisis log.

      • Pilih kirim ke solusi mitra jika Anda ingin menggunakan integrasi mitra kami. Untuk informasi selengkapnya, Anda dapat mengikuti tautan ini.

    • Tentukan apakah Anda ingin mendapatkan log audit atau log permintaan, atau keduanya. Log permintaan menangkap setiap permintaan API. Log audit mencatat semua operasi yang dipicu oleh permintaan API tersebut.

    • Untuk Mengarsipkan ke akun penyimpanan, tentukan jumlah hari untuk menyimpan data.

    • Pilih Simpan.

      Catatan

      Anda harus memilih Arsipkan ke akun penyimpanan, Stream ke Pusat Aktivitas, Kirim ke ruang kerja Analitik Log, atau Kirim ke solusi mitra sebelum memilih tombol Simpan.

Gunakan akun Azure Storage yang berisi data log

  1. Untuk menampilkan kontainer blob yang menyimpan data pengelogan, buka akun Azure Storage yang digunakan untuk Data Lake Analytics untuk pengelogan, lalu pilih Kontainer.

    • Kontainer insights-logs-audit berisi log audit.
    • Kontainer insights-logs-requests berisi log permintaan.
  2. Dalam kontainer tersebut, log disimpan di struktur file berikut.

    resourceId=/
      SUBSCRIPTIONS/
        <<SUBSCRIPTION_ID>>/
          RESOURCEGROUPS/
            <<RESOURCE_GRP_NAME>>/
              PROVIDERS/
                MICROSOFT.DATALAKEANALYTICS/
                  ACCOUNTS/
                    <DATA_LAKE_ANALYTICS_NAME>>/
                      y=####/
                        m=##/
                          d=##/
                            h=##/
                              m=00/
                                PT1H.json
    

    Catatan

    Entri ## dalam jalur berisi tahun, bulan, hari, dan jam ketika log dibuat. Data Lake Analytics membuat satu file setiap jam, jadi m= selalu berisi nilai 00.

    Misalnya, jalur lengkap ke log audit dapat berupa:

    https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=04/m=00/PT1H.json

    Demikian pula, jalur lengkap ke log permintaan dapat berupa:

    https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=14/m=00/PT1H.json

Memproses data log

Azure Data Lake Analytics menyediakan sampel tentang cara memproses dan menganalisis data log. Anda dapat menemukan sampelnya di https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Struktur log

Log permintaan dan audit terstruktur dalam format JSON.

Log permintaan

Berikut adalah entri sampel dalam log permintaan berformat JSON. Setiap blob memiliki satu objek akar yang disebut rekaman yang berisi array objek log.

{
"records":
  [
    . . . .
    ,
    {
         "time": "2016-07-07T21:02:53.456Z",
         "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_analytics_account_name>",
         "category": "Requests",
         "operationName": "GetAggregatedJobHistory",
         "resultType": "200",
         "callerIpAddress": "::ffff:1.1.1.1",
         "correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
         "identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
         "properties": {
             "HttpMethod":"POST",
             "Path":"/JobAggregatedHistory",
             "RequestContentLength":122,
             "ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8",
             "StartTime":"2016-07-07T21:02:52.472Z",
             "EndTime":"2016-07-07T21:02:53.456Z"
             }
    }
    ,
    . . . .
  ]
}

Skema log permintaan

Nama Jenis Deskripsi
waktu String Tanda waktu (dalam UTC) log
resourceId String Pengidentifikasi sumber daya tempat operasi berlangsung
kategori String Kategori log. Misalnya, metrik Permintaan.
operationName String Nama operasi yang dicatat. Misalnya, GetAggregatedJobHistory.
resultType String Status operasi, Misalnya 200.
callerIpAddress String Alamat IP klien yang membuat permintaan
correlationId String Pengidentifikasi log. Nilai ini dapat digunakan untuk mengelompokkan sekumpulan entri log terkait.
identity Objek Identitas yang membuat log
properti JSON Lihat bagian berikutnya (Skema properti log permintaan) untuk detailnya

Skema properti log permintaan

Nama Jenis Deskripsi
HttpMethod String Metode HTTP yang digunakan untuk operasi. Misalnya, GET.
Jalur String Jalur tempat operasi berlangsung
RequestContentLength int Panjang konten permintaan HTTP
ClientRequestId String Pengidentifikasi yang mengidentifikasi permintaan ini secara unik
StartTime String Waktu ketika server menerima permintaan
EndTime String Waktu ketika server mengirim respons

Log audit

Berikut adalah entri sampel dalam log audit berformat JSON. Setiap blob memiliki satu objek akar yang disebut rekaman yang berisi array objek log.

{
"records":
  [
    {
         "time": "2016-07-28T19:15:16.245Z",
         "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_ANALYTICS_account_name>",
         "category": "Audit",
         "operationName": "JobSubmitted",
         "identity": "user@somewhere.com",
         "properties": {
             "JobId":"D74B928F-5194-4E6C-971F-C27026C290E6",
             "JobName": "New Job",
             "JobRuntimeName": "default",
             "SubmitTime": "7/28/2016 7:14:57 PM"
             }
    }
  ]
}

Skema log audit

Nama Jenis Deskripsi
waktu String Tanda waktu (dalam UTC) log
resourceId String Pengidentifikasi sumber daya tempat operasi berlangsung
kategori String Kategori log. Misalnya, Audit.
operationName String Nama operasi yang dicatat. Misalnya, JobSubmitted.
resultType String Substatus untuk status pekerjaan (operationName).
resultSignature String Detail tambahan tentang status pekerjaan (operationName).
identity String Pengguna yang meminta operasi. Contohnya:susan@contoso.com
properti JSON Lihat bagian berikutnya (Skema properti log audit) untuk detailnya

Catatan

resultType dan resultSignature memberikan informasi tentang hasil operasi, dan hanya berisi nilai jika operasi telah selesai. Misalnya, mereka hanya berisi nilai saat operationName berisi nilai JobStarted atau JobEnded.

Skema properti log audit

Nama Jenis Deskripsi
JobId String ID yang ditetapkan untuk pekerjaan
JobName String Nama yang disediakan untuk pekerjaan
JobRunTime String Runtime yang digunakan untuk memproses pekerjaan
SubmitTime String Waktu (dalam UTC) ketika pekerjaan dikirim
StartTime String Waktu pekerjaan mulai berjalan setelah pengiriman (dalam UTC)
EndTime String Waktu pekerjaan berakhir
Paralelisme String Jumlah unit Data Lake Analytics yang meminta pekerjaan ini selama pengiriman

Catatan

SubmitTime, StartTime, EndTime, dan Parallelism menyediakan informasi tentang operasi. Entri ini hanya berisi nilai jika operasi tersebut telah dimulai atau selesai. Misalnya, SubmitTime hanya berisi nilai setelah operationName memiliki nilai JobSubmitted.

Langkah berikutnya