0Pricing
Azure Fundamentals · Pelajaran

Dasar-Dasar Log Analytics dan KQL

Masukkan log diagnostik ke ruang kerja Log Analytics, lalu tulis kueri Kusto Query Language untuk menyaring, mengagregasi, dan memvisualisasikan data operasional.

Dasar-Dasar Log Analytics dan KQL adalah pelajaran Azure Fundamentals gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Azure Fundamentals, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Azure Fundamentals mencakup 4 pelajaran total.

Apa Itu Ruang Kerja Log Analytics?

Ruang kerja Log Analytics adalah penyimpanan data pusat di Azure Monitor untuk data log dan telemetri. Saat Anda mengonfigurasi pengaturan diagnostik pada Resource Azure, log dan metrik terstruktur mengalir ke ruang kerja tersebut. Anda kemudian dapat membuat kueri data menggunakan Kusto Query Language (KQL). Ruang kerja memiliki kebijakan penyimpanan dan kontrol aksesnya sendiri (default 30 hari, hingga 730 hari).

# Create a Log Analytics workspace
az monitor log-analytics workspace create \
  --resource-group myRG \
  --workspace-name myWorkspace \
  --location eastus \
  --retention-time 90

Mengirim Log Diagnostik ke Ruang Kerja

Setiap Resource Azure dapat menghasilkan log diagnostik — catatan terperinci tentang operasi seperti panggilan API, peristiwa autentikasi, dan eksekusi kueri. Anda mengaktifkannya melalui Pengaturan Diagnostik pada Resource, dengan menentukan tujuan sebagai ruang kerja Log Analytics Anda. Kategori log umum mencakup AuditEvent untuk Key Vault, AppServiceHTTPLogs untuk App Service, dan NetworkSecurityGroupFlowEvent untuk NSG.

# Enable diagnostic settings to send Key Vault logs to Log Analytics
az monitor diagnostic-settings create \
  --name 'KVLogs' \
  --resource /subscriptions/<sub>/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myKV \
  --workspace myWorkspace \
  --logs '[{"category":"AuditEvent","enabled":true}]'

Pengantar Sintaks KQL

Kusto Query Language (KQL) adalah bahasa kueri hanya-baca untuk menganalisis data log. Kueri KQL dibaca dari kiri ke kanan sebagai alur: mulai dengan nama tabel, lalu teruskan melalui operator menggunakan pipe (|). Operator umum mencakup where untuk memfilter, project untuk memilih kolom, summarize untuk agregasi, dan order by untuk pengurutan. KQL peka huruf besar-kecil untuk nama kolom, tetapi tidak untuk kata kunci.

// Basic KQL query structure
AzureActivity
| where TimeGenerated > ago(24h)
| where OperationNameValue == 'MICROSOFT.COMPUTE/VIRTUALMACHINES/DELETE'
| project TimeGenerated, Caller, ResourceGroup, Resource
| order by TimeGenerated desc

Memfilter dengan Operator Where

Operator where memfilter baris menggunakan ekspresi Boolean. Anda dapat menggabungkan kondisi dengan and, or, dan not. Operator has melakukan pencarian string yang tidak peka huruf besar-kecil berdasarkan batas kata, sedangkan contains melakukan pencarian substring. Operator in menguji keanggotaan dalam daftar. Gunakan ago() untuk menyatakan rentang waktu relatif seperti ago(1h) atau ago(7d).

// Filter for failed HTTP requests in the last hour
AppRequests
| where TimeGenerated > ago(1h)
| where Success == false
| where ResultCode in (500, 502, 503)
| project TimeGenerated, Name, ResultCode, DurationMs
| order by DurationMs desc

Mengagregasi Data dengan Summarize

Operator summarize menghitung agregasi di seluruh baris. Fungsi agregasi umum mencakup count(), sum(), avg(), max(), min(), dan dcount() untuk menghitung jumlah nilai unik. Anda dapat mengelompokkan berdasarkan satu atau beberapa kolom menggunakan klausa by. Fungsi bin() membulatkan stempel waktu ke interval tertentu untuk agregasi deret waktu.

// Count failed requests per hour per endpoint
AppRequests
| where TimeGenerated > ago(24h)
| where Success == false
| summarize FailureCount = count() by bin(TimeGenerated, 1h), Name
| order by TimeGenerated desc, FailureCount desc

Menggabungkan Tabel dalam KQL

KQL mendukung join untuk mengorelasikan data dari beberapa tabel. Jenis penggabungan default adalah innerunique, tetapi Anda dapat menentukan inner, leftouter, rightouter, atau fullouter. Pola umum adalah menggabungkan AzureActivity dengan AzureMetrics untuk mengorelasikan perubahan administratif dengan penurunan performa. Operator lookup adalah alternatif yang lebih ringan untuk memperkaya baris dari tabel referensi kecil.

// Correlate VM restarts with CPU spike events
AzureActivity
| where OperationNameValue has 'restart'
| join kind=leftouter (
    AzureMetrics
    | where MetricName == 'Percentage CPU'
    | where Average > 90
) on ResourceId
| project TimeGenerated, Resource, Average

Memvisualisasikan Hasil KQL

Setelah menulis kueri di portal Log Analytics, Anda dapat merender hasil sebagai grafik waktu, grafik batang, diagram lingkaran, atau tabel menggunakan operator render. Anda juga dapat menyematkan hasil kueri apa pun ke Azure Dashboard atau menyimpannya sebagai Workbook. Perintah render timechart mengubah kueri summarize deret waktu menjadi grafik garis seketika untuk analisis tren.

// Render a time chart of request counts per 5-minute interval
AppRequests
| where TimeGenerated > ago(4h)
| summarize RequestCount = count() by bin(TimeGenerated, 5m)
| render timechart

Alert Pencarian Log

Alert pencarian log menjalankan kueri KQL sesuai jadwal dan terpicu saat hasilnya memenuhi suatu kondisi, seperti jumlah hasil lebih besar dari nol atau kolom numerik melampaui ambang batas. Alert ini lebih fleksibel daripada alert metrik karena Anda dapat membuat kueri terhadap data log apa pun di beberapa tabel. Frekuensi evaluasi dan jendela waktu dapat dikonfigurasi secara terpisah — misalnya, jalankan setiap 5 menit untuk 15 menit terakhir.

// Example log search alert condition: more than 5 exceptions in 15 min
AppExceptions
| where TimeGenerated > ago(15m)
| summarize ExceptionCount = count()
// Alert when ExceptionCount > 5

Referensi Tabel Log Umum

Azure Monitor menyimpan log dalam tabel yang dikenal luas. AzureActivity mencatat operasi tingkat subscription. SecurityEvent berisi log Keamanan Windows dari VM dengan agen Log Analytics. Heartbeat menampilkan konektivitas agen (satu baris per menit untuk setiap VM yang terhubung). AppRequests, AppExceptions, dan AppDependencies berasal dari Application Insights. Mengetahui nama-nama tabel ini penting untuk menulis kueri operasional yang efektif.

Penyimpanan dan Biaya Ruang Kerja

Harga Log Analytics memiliki dua komponen: penyerapan data (per GB yang diserap) dan penyimpanan data (30 hari pertama gratis, kemudian dikenakan biaya per GB per bulan setelah default). Anda dapat mengurangi biaya dengan memfilter kategori log yang bising sebelum penyerapan, menggunakan Basic Logs untuk data bervolume tinggi dan bernilai rendah dengan harga yang lebih murah, serta mengarsipkan data lama ke Azure Data Explorer atau penyimpanan dingin untuk penyimpanan kepatuhan jangka panjang.

Model Kontrol Akses Ruang Kerja

Ruang kerja Log Analytics mendukung dua model kontrol akses. Dalam mode workspace-context, pengguna dengan akses Baca ke ruang kerja dapat membuat kueri terhadap semua tabel. Dalam mode resource-context, pengguna hanya dapat membuat kueri terhadap log yang dihasilkan oleh Resource yang izinnya untuk dibaca diberikan melalui RBAC — bahkan tanpa akses eksplisit ke ruang kerja. Mode resource-context direkomendasikan untuk organisasi besar yang setiap timnya memiliki Resource yang berbeda.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Microsoft Azure Fundamentals (AZ-900) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini Anda mempelajari bahwa: ruang kerja Log Analytics memusatkan data log diagnostik dari Resource Azure, operator KQL seperti where, summarize, dan render memungkinkan Anda memfilter, mengagregasi, dan memvisualisasikan log, serta alert pencarian log memicu respons otomatis saat hasil kueri KQL memenuhi kondisi yang ditentukan. Selanjutnya, kita akan mempelajari Application Insights untuk telemetri tingkat aplikasi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dasar-Dasar Log Analytics dan KQL” gratis?

Ya — teks lengkap “Dasar-Dasar Log Analytics dan KQL” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Azure Fundamentals, upgrade ke CoddyKit PRO. Kursus Azure Fundamentals mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Dasar-Dasar Log Analytics dan KQL”?

Masukkan log diagnostik ke ruang kerja Log Analytics, lalu tulis kueri Kusto Query Language untuk menyaring, mengagregasi, dan memvisualisasikan data operasional. Kamu berlatih Azure Fundamentals dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Azure Fundamentals?

Tidak diperlukan pengalaman sebelumnya. Azure Fundamentals di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Dasar-Dasar Log Analytics dan KQL” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Azure Fundamentals ini?

Ya. Setiap pelajaran Azure Fundamentals menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Metrik dan Peringatan Azure Monitor
  2. Dasar-Dasar Log Analytics dan KQL
  3. Application Insights
  4. Dasbor dan Buku Kerja Azure
← Kembali ke Azure Fundamentals