All Products
Search
Document Center

Simple Log Service:Sintaksis analisis berbasis pemindaian

Last Updated:Mar 26, 2026

Simple Log Service menyediakan fitur analisis berbasis pemindaian yang memindai log berdasarkan bidang tertentu untuk mengembalikan hasil analisis. Fitur ini memungkinkan Anda menganalisis log tanpa perlu mengonfigurasi indeks untuk log tersebut. Topik ini menjelaskan sintaksis dasar analisis berbasis pemindaian.

Cara kerja

Ketika Simple Log Service menerima permintaan analisis berbasis pemindaian, layanan tersebut melakukan langkah-langkah berikut:

  1. Menjalankan pernyataan pencarian untuk mengkueri log.

    Penting

    Pernyataan pencarian memerlukan indeks. Misalnya, sebelum menjalankan pernyataan status:200 | set session mode=scan;SELECT api, count(*) AS PV GROUP BY api, Anda harus membuat indeks untuk bidang status. Anda tidak perlu membuat indeks untuk bidang api.

  2. Memindai hasil kueri dari pernyataan pencarian berdasarkan bidang yang ditentukan dalam pernyataan analitik dan mengekstraksi data untuk bidang tersebut.

  3. Menjalankan pernyataan analitik untuk mengagregasi dan menganalisis data yang diekstraksi, lalu mengembalikan hasil analisis.

Sintaksis dasar

Saat menggunakan fitur analisis berbasis pemindaian, tambahkan set session mode=scan; sebelum pernyataan analitik berbasis sintaksis SQL standar.

Pernyataan pencarian | set session mode=scan;Pernyataan analitik berdasarkan sintaksis SQL standar

Contoh

* and status:200 | set session mode=scan;SELECT api, count(*) AS PV GROUP BY api

Batasan

  • Dalam mode analisis berbasis pemindaian, semua bidang dianggap bertipe varchar.

    Jika Anda perlu menganalisis bidang dengan tipe data lain, gunakan fungsi cast untuk mengonversi tipe data tersebut. Untuk informasi selengkapnya, lihat fungsi cast.

    Misalnya, jika Anda ingin menghitung latensi rata-rata dari operasi API, Anda harus menggunakan fungsi cast untuk mengonversi tipe bidang latency ke tipe bigint karena fungsi avg memerlukan input numerik.

    status:200 | set session mode=scan;SELECT avg(cast(latency AS bigint)) AS 'Average latency', api GROUP BY api
  • Dalam mode analisis berbasis pemindaian, Simple Log Service memindai log untuk mengekstraksi data bidang yang ditentukan dalam pernyataan analitik. Indeks bidang yang sudah ada tidak berlaku.

    Misalnya, Anda telah membuat indeks bertipe long untuk bidang status. Jika Anda menjalankan pernyataan berikut untuk melakukan analisis berbasis pemindaian, indeks bidang status tidak berlaku.

    * | set session mode=scan;SELECT count(1) AS pv, api WHERE cast(status AS bigint) = 200 GROUP BY api

    Dalam skenario ini, kami menyarankan Anda menggunakan pernyataan berikut.

    Catatan

    Jika Anda telah membuat indeks untuk suatu bidang, kami menyarankan meletakkan bidang tersebut sebelum tanda vertikal (|) sebagai kondisi filter.

    status:200 | set session mode=scan;SELECT count(1) as pv, api GROUP BY api
  • Dalam mode analisis berbasis pemindaian, jumlah data yang dapat dianalisis terbatas. Dalam satu shard, hingga 500.000 log dapat dianalisis, dan hingga 10 juta log dapat dipindai. Jika digunakan pernyataan pencarian, batas pemindaian mengacu pada jumlah log yang dikembalikan oleh pernyataan pencarian tersebut. Jika salah satu batas tersebut dilampaui, sistem hanya akan mengembalikan hasil analisis sebagian log dan memberikan prompt bahwa hasil analisis tidak akurat.

    Anda dapat menggunakan metode berikut untuk mencegah hasil yang tidak akurat:

    • Gunakan analisis berbasis indeks untuk data terstruktur berskala besar. Anda harus membuat indeks bidang dan mengaktifkan fitur analisis log.

    • Gunakan pernyataan pencarian untuk memfilter log dan mengurangi jumlah data yang perlu dipindai. Pastikan Anda telah membuat indeks untuk bidang yang ditentukan dalam pernyataan pencarian.

    • Persempit rentang waktu kueri untuk mengurangi jumlah data yang perlu dipindai.

  • Dalam mode analisis berbasis pemindaian, pernyataan *|select * tidak didukung.

  • Dalam mode pemindaian, saat menggunakan klausa JOIN untuk menganalisis beberapa Logstore, Anda harus memberikan awalan nama Logstore pada setiap nama bidang dengan format LogstoreName.key.

Perbandingan antara analisis berbasis indeks dan analisis berbasis pemindaian

Item

Analisis berbasis indeks

Analisis berbasis pemindaian

Sintaksis

Pernyataan pencarian | Pernyataan analitik berdasarkan sintaksis SQL standar

Pernyataan pencarian | set session mode=scan; Pernyataan analitik berdasarkan sintaksis SQL standar

Apakah perlu mengonfigurasi indeks

Anda perlu mengonfigurasi indeks untuk bidang dan mengaktifkan fitur analisis log untuk bidang tersebut.

Anda tidak perlu mengonfigurasi indeks atau mengaktifkan fitur tersebut.

Penting

Pernyataan pencarian sebelum tanda vertikal (|) memerlukan indeks.

Sintaksis SQL

Berbagai sintaksis SQL dan fungsi SQL didukung. Untuk informasi selengkapnya, lihat Ikhtisar fungsi.

Sintaksis SQL dan fungsi SQL yang didukung untuk analisis berbasis indeks juga didukung. Namun, terdapat batasan penggunaan dalam beberapa skenario. Untuk informasi selengkapnya, lihat Batasan.

Analisis

Ratusan juta baris log dapat dianalisis. Untuk informasi selengkapnya, lihat Ikhtisar kueri dan analisis log.

Anda dapat mengaktifkan fitur Dedicated SQL untuk melakukan analisis tingkat lanjut.

Jutaan baris log dapat dianalisis.

Jika Anda ingin menganalisis data dalam jumlah besar, kami menyarankan menggunakan pernyataan pencarian terlebih dahulu untuk memfilter log. Pernyataan pencarian memerlukan indeks.

Biaya

Anda dikenai biaya berdasarkan traffic indeks dan penyimpanan indeks. Untuk informasi selengkapnya, lihat Item penagihan dalam model penagihan pay-by-feature.

Anda dikenai biaya berdasarkan pemindaian sesuai traffic pemindaian, yang setara dengan jumlah data yang dikembalikan setelah pemindaian. Sistem mengidentifikasi log berdasarkan hasil kueri berbasis indeks.