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
Masuk ke portal Azure.
Buka akun Data Lake Analytics Anda dan pilih Pengaturan diagnostik dari bagian Pemantauan. Selanjutnya, pilih + Tambahkan pengaturan diagnostik.
Dari Pengaturan diagnostik, masukkan nama untuk konfigurasi pengelogan ini lalu pilih opsi pengelogan.
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
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.
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, jadim=
selalu berisi nilai00
.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.