Mencari pekerjaan di Azure Monitor (Pratinjau)
Pekerjaan penelusuran adalah kueri asinkron yang mengambil rekaman ke dalam tabel pencarian baru di dalam ruang kerja Anda untuk analisis lebih lanjut. Pekerjaan pencarian menggunakan pemrosesan paralel dan dapat berjalan selama berjam-jam di seluruh himpunan data yang sangat besar. Artikel ini menjelaskan cara membuat pekerjaan penelusuran dan cara mengkueri data yang dihasilkannya.
Catatan
Fitur penelusuran pekerjaan saat ini dalam pratinjau publik dan tidak didukung di ruang kerja dengan kunci yang dikelola pelanggan.
Kapan menggunakan pekerjaan pencarian
Gunakan pekerjaan pencarian saat batas waktu kueri log 10 menit tidak cukup waktu untuk mencari melalui volume data yang besar atau saat Anda menjalankan kueri yang lambat.
Pekerjaan pencarian juga memungkinkan Anda mengambil catatan dari Log yang Diarsipkan dan tabel Log Dasar ke dalam tabel log baru yang dapat Anda gunakan untuk kueri. Dengan cara ini, menjalankan pekerjaan pencarian dapat menjadi alternatif untuk:
Memulihkan data dari Log yang Diarsipkan untuk rentang waktu tertentu.
Gunakan pemulihan saat Anda memiliki kebutuhan sementara untuk menjalankan banyak kueri pada volume data yang besar.Mengkueri Log Dasar secara langsung dan membayar untuk setiap kueri.
Untuk memutuskan alternatif mana yang lebih hemat biaya, bandingkan biaya kueri Log Dasar dengan biaya melakukan pekerjaan pencarian dan menyimpan data yang dihasilkan berdasarkan kebutuhan Anda.
Apa yang dilakukan pekerjaan pencarian?
Pekerjaan pencarian mengirimkan hasilnya ke tabel baru di ruang kerja yang sama dengan data sumber. Tabel hasil tersedia segera setelah pekerjaan pencarian dimulai, tetapi mungkin perlu waktu agar hasil mulai muncul.
Tabel hasil pekerjaan pencarian adalah tabel Analitik Log yang tersedia untuk kueri log dan fitur Azure Monitor lainnya yang menggunakan tabel di ruang kerja. Tabel menggunakan set nilai retensi untuk ruang kerja, tetapi Anda dapat mengubah nilai ini setelah tabel dibuat.
Skema tabel hasil pencarian didasarkan pada skema tabel sumber dan kueri yang ditentukan. Kolom tambahan berikut membantu Anda melacak catatan sumber:
| Kolom | Nilai |
|---|---|
| _OriginalType | Ketik nilai dari tabel sumber. |
| _OriginalItemId | _ItemID nilai dari tabel sumber. |
| _OriginalTimeGenerated | Nilai TimeGenerated dari tabel sumber. |
| TimeGenerated | Waktu di mana pekerjaan pencarian mengambil catatan dari tabel asli. |
Kueri pada tabel hasil muncul dalam audit kueri log tetapi bukan pekerjaan pencarian awal.
Membuat pekerjaan pencarian
Untuk menjalankan pekerjaan pencarian, panggil API Tabel - Buat atau Perbarui. Panggilan menyertakan nama tabel hasil yang akan dibuat. Nama tabel hasil harus diakhiri dengan _SRCH.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/<TableName>_SRCH?api-version=2021-12-01-preview
Isi permintaan
Sertakan nilai-nilai berikut dalam isi permintaan:
| Nama | Jenis | Deskripsi |
|---|---|---|
| properties.searchResults.query | string | Kueri log ditulis di KQL untuk mengambil data. |
| properties.searchResults.limit | bilangan bulat | Jumlah maksimum catatan dalam hasil yang ditetapkan, hingga satu juta catatan. (Opsional) |
| properties.searchResults.startSearchTime | string | Mulai dari rentang waktu untuk mencari. |
| properties.searchResults.endSearchTime | string | Akhir dari rentang waktu untuk mencari. |
Permintaan sampel
Contoh ini membuat tabel yang disebut Syslog_suspected_SRCH dengan hasil kueri yang mencari catatan tertentu di tabel Syslog.
Minta
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_suspected_SRCH?api-version=2021-12-01-preview
Isi permintaan
{
"properties": {
"searchResults": {
"query": "Syslog | where * has 'suspected.exe'",
"limit": 1000,
"startSearchTime": "2020-01-01T00:00:00Z",
"endSearchTime": "2020-01-31T00:00:00Z"
}
}
}
Respons
Kode status: diterima 202.
Mendapatkan status dan detail pekerjaan pencarian
Panggil API Tabel - Dapatkan untuk mendapatkan status dan detail pekerjaan pencarian:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/<TableName>_SRCH?api-version=2021-12-01-preview
Status tabel
Setiap tabel pekerjaan pencarian memiliki properti yang disebut provisioningState, yang dapat memiliki salah satu nilai berikut:
| Status | Deskripsi |
|---|---|
| Memperbarui | Mengisi tabel dan skemanya. |
| InProgress | Pekerjaan pencarian sedang berjalan, mengambil data. |
| Berhasil | Pekerjaan pencarian selesai. |
| Menghapus | Menghapus tabel pekerjaan pencarian. |
Permintaan sampel
Contoh ini mengambil status tabel untuk pekerjaan pencarian di contoh sebelumnya.
Minta
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_SRCH?api-version=2021-12-01-preview
Respons
{
"properties": {
"retentionInDays": 30,
"totalRetentionInDays": 30,
"archiveRetentionInDays": 0,
"plan": "Analytics",
"lastPlanModifiedDate": "Mon, 01 Nov 2021 16:38:01 GMT",
"schema": {
"name": "Syslog_SRCH",
"tableType": "SearchResults",
"description": "This table was created using a Search Job with the following query: 'Syslog | where * has 'suspected.exe'.'",
"columns": [...],
"standardColumns": [...],
"solutions": [
"LogManagement"
],
"searchResults": {
"query": "Syslog | where * has 'suspected.exe'",
"limit": 1000,
"startSearchTime": "Wed, 01 Jan 2020 00:00:00 GMT",
"endSearchTime": "Fri, 31 Jan 2020 00:00:00 GMT",
"sourceTable": "Syslog"
}
},
"provisioningState": "Succeeded"
},
"id": "subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_SRCH",
"name": "Syslog_SRCH"
}
Menghapus tabel pekerjaan pencarian
Sebaiknya hapus tabel pekerjaan pencarian saat Anda selesai mengkueri tabel. Ini mengurangi kekacauan ruang kerja dan biaya tambahan untuk retensi data.
Untuk menghapus tabel, panggil API Tabel - Hapus:
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/<TableName>_SRCH?api-version=2021-12-01-preview
Batasan
Pekerjaan pencarian tunduk pada batasan berikut:
- Dioptimalkan untuk mengkueri satu tabel pada satu waktu.
- Rentang tanggal pencarian hingga satu tahun.
- Mendukung pencarian jangka panjang hingga batas waktu 24 jam.
- Hasil dibatasi hingga satu juta catatan dalam kumpulan catatan.
- Eksekusi bersamaan dibatasi hingga lima pekerjaan pencarian per ruang kerja.
- Terbatas pada 100 tabel hasil pencarian per ruang kerja.
- Terbatas pada 100 eksekusi pekerjaan pencarian per hari per ruang kerja.
Saat Anda mencapai batas rekor, Azure membatalkan pekerjaan dengan status keberhasilan parsial, dan tabel hanya akan berisi catatan yang tertelan hingga saat itu.
Batasan kueri KQL
Kueri log dalam pekerjaan pencarian dimaksudkan untuk memindai kumpulan data yang sangat besar. Untuk mendukung distribusi dan segmentasi, kueri menggunakan subset KQL, termasuk operator:
- di mana
- perpanjang
- proyek
- project-away
- project-keep
- project-rename
- project-reorder
- Mengurai
- parse-where
Anda dapat menggunakan semua fungsi dan operator biner dalam operator ini.
Model harga
Biaya untuk pekerjaan pencarian didasarkan pada:
- Jumlah data yang perlu dipindai oleh pekerjaan pencarian.
- Jumlah data yang tertelan dalam tabel hasil.
Misalnya, jika tabel Anda menyimpan 500 GB per hari, untuk kueri selama tiga hari, Anda akan dikenakan biaya untuk 1500 GB data yang dipindai. Jika pekerjaan mengembalikan 1000 catatan, Anda akan dikenakan biaya untuk menelan 1000 catatan ini ke dalam tabel hasil.
Catatan
Tidak ada biaya untuk pekerjaan pencarian selama pratinjau publik. Anda akan dikenakan biaya hanya untuk penyerapan hasil yang ditetapkan.
Untuk informasi selengkapnya, lihat Harga Azure Monitor.