All Products
Search
Document Center

Simple Log Service:Buat indeks

Last Updated:May 31, 2026

Untuk melakukan kueri dan menganalisis log yang dikumpulkan dalam Logstore, Anda harus membuat indeks. Topik ini menjelaskan konsep dan jenis indeks di Simple Log Service, serta menunjukkan cara membuat, memperbarui, dan menonaktifkan indeks. Topik ini juga menyediakan contoh konfigurasi dan detail penagihan.

Mengapa membuat indeks?

Anda biasanya menggunakan kata kunci untuk mengambil konten dari log mentah, misalnya untuk menemukan log yang berisi curl dalam entri seperti curl/7.74.0. Jika entri log tidak diurai, entri tersebut diperlakukan sebagai satu kesatuan yang tidak cocok secara tepat dengan kata kunci curl, sehingga tidak dapat diambil oleh Simple Log Service.

Agar log dapat dicari, Anda harus memisahkannya menjadi istilah-istilah individual yang dapat dicari. Log dipisahkan menggunakan delimiter, yaitu karakter yang menentukan tempat teks log dipisahkan. Misalnya, jika Anda menggunakan delimiter \n\t\r,;[]{}()&^*#@~=<>/\?:'" untuk memisahkan log, istilah yang dihasilkan adalah curl dan 7.74.0. Simple Log Service membangun indeks berdasarkan istilah-istilah yang diekstraksi. Anda hanya dapat melakukan kueri dan menganalisis log setelah indeks dibuat.

Simple Log Service mendukung indeks teks penuh dan indeks bidang. Jika Anda mengonfigurasi keduanya untuk Logstore yang sama, konfigurasi indeks bidang akan memiliki prioritas lebih tinggi.

Jenis indeks

Indeks teks penuh

Indeks teks penuh secara langsung membagi seluruh log menjadi beberapa kata bertipe text menggunakan Delimiter. Setelah membuat indeks teks penuh, Anda dapat melakukan kueri log menggunakan kata kunci. Misalnya, pernyataan kueri Chrome or Safari menemukan log yang berisi Chrome atau Safari.

Penting
  • Delimiter tidak mendukung pemisahan karakter Tionghoa. Untuk menangani teks Tionghoa, aktifkan opsi Include Chinese. Layanan Log kemudian akan secara otomatis melakukan tokenisasi konten Tionghoa berdasarkan tata bahasanya.

  • Jika Anda hanya mengonfigurasi indeks teks penuh, Anda dapat menggunakan sintaks pencarian teks penuh. Untuk informasi selengkapnya, lihat Sintaks dan fungsi kueri.

Indeks bidang

Indeks bidang memisahkan log berdasarkan nama bidang (KEY), lalu menggunakan delimiter untuk membagi konten di dalam bidang tersebut. Indeks bidang mendukung empat tipe data: text, long, double, dan JSON. Untuk informasi selengkapnya, lihat Tipe data. Setelah membuat indeks bidang, Anda dapat melakukan kueri data dengan menentukan nama bidang dan nilai bidang (Key:Value) atau menggunakan pernyataan SELECT. Untuk informasi selengkapnya, lihat Sintaks dan fitur kueri.

Penting
  • Untuk melakukan kueri atau menganalisis bidang tertentu menggunakan pernyataan SELECT, Anda harus membuat indeks bidang untuknya. Indeks bidang memiliki prioritas lebih tinggi daripada indeks teks penuh. Jika keduanya dikonfigurasi untuk suatu bidang, pengaturan indeks bidang akan berlaku.

  • Untuk bidang bertipe data text, Anda dapat menggunakan kueri teks penuh, kueri spesifik bidang, dan pernyataan analitik (SELECT).

    • Jika Anda tidak mengaktifkan indeks teks penuh, kueri teks penuh hanya mencari di semua bidang bertipe text.

    • Jika indeks teks penuh diaktifkan, kueri teks penuh mencari di semua log.

  • Untuk bidang bertipe data long dan double, Anda dapat menggunakan kueri spesifik bidang dan pernyataan analitik (SELECT) untuk melakukan kueri dan analisis data.

Buat indeks

Penting
  • Konfigurasi indeks yang berbeda menghasilkan hasil kueri dan analisis yang berbeda. Konfigurasikan indeks Anda dengan cermat sesuai kebutuhan. Diperlukan waktu sekitar satu menit agar indeks baru berlaku.

  • Indeks hanya berlaku untuk data yang baru dimasukkan. Untuk melakukan kueri terhadap data historis, Anda harus reindex data tersebut.

  • Layanan Log secara otomatis membuat indeks untuk beberapa bidang terpesan. Untuk informasi selengkapnya, lihat bidang terpesan.

    Delimiter indeks untuk __topic__ dan __source__ kosong, sehingga saat melakukan kueri terhadap bidang-bidang ini, kata kunci harus merupakan kecocokan persis.

  • Bidang yang diawali dengan __tag__ tidak mendukung pengindeksan teks penuh. Anda harus membuat indeks bidang bertipe text sebelum dapat melakukan operasi pencarian dan analisis, seperti *| select "__tag__:__receive_time__".

  • Jika log berisi beberapa bidang dengan nama yang sama, misalnya request_time, Layanan Log menampilkan salah satunya sebagai request_time_0 di Konsol. Namun, nama bidang dasarnya tetap request_time. Oleh karena itu, saat membuat indeks, melakukan kueri, menganalisis, mengirim, atau mentransformasi data, Anda harus menggunakan nama bidang asli request_time.

Konsol

  1. Login ke Konsol Simple Log Service.

  2. Pada bagian Projects, klik proyek yang diinginkan.

  3. Pada tab Log Storage > Logstores, klik Logstore yang diinginkan.

  4. Pada halaman Search & Analysis Logstore, klik Enable Index.

    Catatan

    Anda dapat melakukan kueri terhadap data terbaru sekitar satu menit setelah mengaktifkan pengindeksan.

    image

  5. (Opsional) Matikan pembaruan otomatis.

    Untuk Logstore yang didedikasikan untuk layanan Alibaba Cloud lain atau untuk penggunaan internal, sakelar Auto Update untuk indeks diaktifkan secara default. Hal ini memastikan bahwa indeks bawaan ditingkatkan ke versi terbaru selama pembaruan layanan. Untuk membuat indeks kustom, pada panel Query and Analysis, matikan sakelar Auto Update.

    Peringatan

    Menghapus indeks Logstore yang didedikasikan untuk layanan cloud lain akan memengaruhi fitur terkait seperti laporan dan peringatan.

    自动更新索引

  6. Buat indeks.

    Indeks teks penuh

    Setelah Anda mengklik Enable Index, sakelar Full-text Index diaktifkan secara default. Anda dapat mengaktifkan atau menonaktifkan fitur LogReduce, Case Sensitive, dan Include Chinese sesuai kebutuhan bisnis Anda. Anda juga dapat menentukan Delimiter atau menyesuaikan Delimiter.

    Halaman konfigurasi muncul sebagai berikut:

    image

    Parameter

    Parameter

    Deskripsi

    LogReduce

    Saat Anda mengaktifkan sakelar LogReduce, Layanan Log secara otomatis mengelompokkan log teks yang sangat mirip selama pengumpulan dan mengekstraksi pola umum. Hal ini membantu Anda dengan cepat mendapatkan gambaran umum data log Anda. Untuk informasi selengkapnya, lihat LogReduce.

    Case Sensitive

    Menentukan apakah kueri peka terhadap huruf besar/kecil.

    • Jika Anda mengaktifkan sakelar Case Sensitive, kueri bersifat peka huruf besar/kecil. Misalnya, jika log berisi internalError, Anda harus menggunakan internalError untuk menemukan log tersebut.

    • Jika Anda menonaktifkan sakelar Case Sensitive, kueri tidak peka huruf besar/kecil. Misalnya, jika log berisi internalError, Anda dapat menemukan log tersebut dengan menggunakan kata kunci INTERNALERROR dan internalerror.

    Include Chinese

    Menentukan cara menangani konten Tionghoa dalam pencarian.

    • Jika Anda mengaktifkan sakelar Include Chinese dan log berisi karakter Tionghoa, konten Tionghoa akan ditokenisasi berdasarkan tata bahasa Tionghoa, sedangkan konten lainnya dipisahkan oleh delimiter yang ditentukan.

      Penting

      Tokenisasi karakter Tionghoa dapat sedikit memengaruhi kecepatan ingest. Aktifkan opsi ini hanya jika diperlukan.

    • Jika Anda menonaktifkan sakelar Include Chinese, semua konten dipisahkan oleh delimiter yang ditentukan.

    Delimiter

    Konten log dibagi menjadi beberapa kata berdasarkan delimiter yang ditentukan. Delimiter default untuk Layanan Log adalah , '";=()[]{}?@&<>/:\n\t\r. Jika pengaturan default tidak memenuhi kebutuhan Anda, Anda dapat menyesuaikan delimiter. Semua karakter ASCII dapat didefinisikan sebagai delimiter.

    Jika Anda membiarkan kolom Delimiter kosong, seluruh nilai bidang diperlakukan sebagai satu istilah. Anda hanya dapat menemukan log tersebut dengan mencari string lengkap atau menggunakan kueri wildcard.

    Misalnya, konten log adalah /url/pic/abc.gif.

    • Jika Anda tidak menetapkan delimiter apa pun, seluruh entri log seperti /url/pic/abc.gif diperlakukan sebagai satu kata dan hanya dapat ditemukan dengan mencari string lengkap /url/pic/abc.gif atau menggunakan kueri wildcard seperti /url/pic/*.

    • Jika Anda menetapkan delimiter sebagai garis miring (/), log asli dibagi menjadi tiga kata: url, pic, dan abc.gif. Anda dapat menemukan log tersebut dengan mencari salah satu kata ini atau menggunakan pencarian fuzzy, misalnya url, abc.gif, pi*, atau /url/pic/abc.gif.

    • Jika Anda menetapkan delimiter sebagai garis miring (/) dan titik (.), log asli dibagi menjadi empat kata: url, pic, abc, dan gif. Anda dapat menemukan log tersebut dengan mencari salah satu kata ini atau menggunakan pencarian fuzzy.

    Indeks bidang

    Setelah Anda mengklik Enable Index, Anda dapat mengklik Automatic Index Generation pada halaman Query and Analysis. Layanan Log kemudian secara otomatis menghasilkan indeks bidang berdasarkan entri pertama dalam data pratinjau. Untuk membuat indeks bidang kustom, Anda dapat mengklik ikon + di bagian bawah halaman. Untuk deskripsi bidang yang lebih rinci, lihat Deskripsi parameter.

    Halaman muncul sebagai berikut saat Anda membukanya untuk pertama kali:image

    Pengaturan konfigurasi indeks bidang ditampilkan di bawah ini:

    image

    Parameter

    Parameter

    Deskripsi

    Field Name

    Nama bidang log (KEY), misalnya client_ip.

    Nama bidang hanya boleh berisi huruf, angka, dan garis bawah (_), serta harus dimulai dengan huruf atau garis bawah (_).

    Penting
    • Saat mengonfigurasi indeks untuk Alamat IP publik, timestamp Unix, atau bidang __tag__ lainnya, Anda harus menetapkan Field Name ke format __tag__:KEY. Misalnya, __tag__:__receive_time__. Untuk informasi selengkapnya, lihat Bidang terpesan.

    • Bidang __tag__ tidak mendukung indeks numerik. Tetapkan Type indeks ke text untuk semua bidang __tag__.

    Type

    Tipe data dari nilai bidang. Opsi yang valid adalah text, long, double, dan json. Untuk informasi selengkapnya, lihat tipe data.

    Tipe data long dan double tidak mendukung pengaturan Case Sensitive, Include Chinese, dan Delimiter.

    Alias

    Alias untuk bidang tersebut. Misalnya, Anda dapat menetapkan alias bidang client_ip menjadi ip.

    Alias hanya boleh berisi huruf, angka, dan garis bawah (_), serta harus dimulai dengan huruf atau garis bawah (_).

    Penting

    Alias hanya dapat digunakan dalam pernyataan analitik (pernyataan SELECT). Anda harus menggunakan nama bidang asli dalam kueri pencarian. Untuk informasi selengkapnya, lihat Alias kolom.

    Case Sensitive

    Menentukan apakah kueri peka terhadap huruf besar/kecil.

    • Jika Anda mengaktifkan sakelar Case Sensitive, kueri bersifat peka huruf besar/kecil. Misalnya, jika log berisi internalError, Anda harus menggunakan internalError untuk menemukan log tersebut.

    • Jika Anda menonaktifkan sakelar Case Sensitive, kueri tidak peka huruf besar/kecil. Misalnya, jika log berisi internalError, Anda dapat menemukan log tersebut dengan menggunakan kata kunci INTERNALERROR dan internalerror.

    Delimiter

    Konten log dibagi menjadi beberapa kata berdasarkan delimiter yang ditentukan. Delimiter default untuk Layanan Log adalah , '";=()[]{}?@&<>/:\n\t\r. Jika pengaturan default tidak memenuhi kebutuhan Anda, Anda dapat menyesuaikan delimiter. Semua karakter ASCII dapat didefinisikan sebagai delimiter.

    Jika Anda membiarkan kolom Delimiter kosong, seluruh nilai bidang diperlakukan sebagai satu istilah. Anda hanya dapat menemukan log tersebut dengan mencari string lengkap atau menggunakan kueri wildcard.

    Misalnya, konten log adalah /url/pic/abc.gif.

    • Jika Anda tidak menetapkan delimiter apa pun, seluruh entri log seperti /url/pic/abc.gif diperlakukan sebagai satu kata dan hanya dapat ditemukan dengan mencari string lengkap /url/pic/abc.gif atau menggunakan kueri wildcard seperti /url/pic/*.

    • Jika Anda menetapkan delimiter sebagai garis miring (/), log asli dibagi menjadi tiga kata: url, pic, dan abc.gif. Anda dapat menemukan log tersebut dengan mencari salah satu kata ini atau menggunakan pencarian fuzzy, misalnya url, abc.gif, pi*, atau /url/pic/abc.gif.

    • Jika Anda menetapkan delimiter sebagai garis miring (/) dan titik (.), log asli dibagi menjadi empat kata: url, pic, abc, dan gif. Anda dapat menemukan log tersebut dengan mencari salah satu kata ini atau menggunakan pencarian fuzzy.

    Include Chinese

    Menentukan cara menangani konten Tionghoa dalam pencarian.

    • Jika Anda mengaktifkan sakelar Include Chinese dan log berisi karakter Tionghoa, konten Tionghoa akan ditokenisasi berdasarkan tata bahasa Tionghoa, sedangkan konten lainnya dipisahkan oleh delimiter yang ditentukan.

      Penting

      Tokenisasi karakter Tionghoa dapat sedikit memengaruhi kecepatan ingest. Aktifkan opsi ini hanya jika diperlukan.

    • Jika Anda menonaktifkan sakelar Include Chinese, semua konten dipisahkan oleh delimiter yang ditentukan.

    Enable Analytics

    Untuk melakukan analisis statistik pada bidang ini, aktifkan sakelar Enable Analytics.

  7. (Opsional) Tetapkan panjang maksimum bidang

    Selama analisis SQL, Simple Log Service secara default memotong nilai bidang. Panjang maksimum default adalah 2048 byte (2 KB). Jika Anda perlu mengubah panjang maksimum ini, Anda dapat menetapkan Maximum Field Length di bagian bawah halaman Query and Analysis. Nilainya dapat berkisar antara 64 hingga 16384 byte.

    Penting
    • Pembaruan konfigurasi indeks hanya berlaku untuk data yang baru dimasukkan.

    • Jika nilai bidang tunggal melebihi panjang maksimum, bagian yang melebihi akan dipotong dan tidak disertakan dalam analisis.

    设置字段最大长度

API

Anda dapat mengelola indeks dengan memanggil operasi API Simple Log Service. Untuk informasi selengkapnya, lihat topik berikut:

SDK

Anda dapat mengelola indeks menggunakan SDK Simple Log Service untuk berbagai bahasa pemrograman. Bagian berikut menjelaskan beberapa SDK yang umum digunakan. Untuk informasi selengkapnya, lihat Ikhtisar referensi SDK.

Java

Anda dapat menggunakan SDK Simple Log Service untuk Java guna mengelola indeks. Untuk informasi selengkapnya, lihat Gunakan SDK Log Service untuk Java guna mengelola indeks.

Python

Anda dapat menggunakan SDK Simple Log Service untuk Python guna mengelola indeks. Untuk informasi selengkapnya, lihat Kelola indeks dengan SDK Python.

Selain SDK aslinya, SLS juga mendukung SDK Alibaba Cloud umum. Untuk informasi selengkapnya, lihat Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer.

CLI

Anda dapat menggunakan antarmuka baris perintah (CLI) untuk mengelola indeks di Simple Log Service. Untuk informasi selengkapnya, lihat topik berikut:

Perbarui indeks

Prosedur

Pada halaman Search & Analysis Logstore target, pilih Index Attributes > Attributes. Konfigurasi indeks yang berbeda menghasilkan hasil kueri dan analisis yang berbeda. Perbarui indeks Anda dengan cermat sesuai kebutuhan. Pembaruan berlaku dalam waktu sekitar satu menit.

image

Nonaktifkan indeks

Penting

Setelah Anda Disable indeks, Layanan Log secara otomatis melepaskan penyimpanan untuk data indeks historis saat periode retensi Logstore berakhir.

Prosedur

Pada halaman Search & Analysis Logstore target, pilih Index Attributes > Disable.

image

Contoh konfigurasi indeks

Contoh 1

Konten log berisi bidang request_time. Anda dapat menjalankan kueri request_time>100.

  • Dengan hanya indeks teks penuh, pencarian mengembalikan log yang berisi tiga istilah request_time, > (bukan delimiter), dan 100.

  • Membuat indeks bidang hanya untuk tipe double dan long, serta mengembalikan log di mana request_time lebih besar dari 100.

  • Jika Anda membuat indeks teks penuh dan indeks bidang untuk tipe double dan long, indeks teks penuh untuk request_time diabaikan, dan kueri mengembalikan log di mana request_time lebih besar dari 100.

Contoh 2

Karena konten log berisi bidang request_time, Anda dapat menjalankan kueri teks penuh request_time.

  • Jika Anda hanya membuat indeks bidang bertipe data double atau long, tidak ada log yang relevan yang dikembalikan.

  • Anda dapat membuat hanya indeks teks penuh untuk melakukan kueri log yang berisi request_time dari seluruh teks log.

  • Lakukan kueri log yang berisi request_time dari bidang yang memiliki indeks bidang bertipe text.

Contoh 3

Konten log berisi bidang status. Jalankan pernyataan analisis * | SELECT status, count(*) AS PV GROUP BY status.

  • Jika Anda hanya membuat indeks teks penuh, tidak ada log yang relevan yang dikembalikan.

  • Membuat indeks bidang untuk status mengembalikan kode status yang berbeda dan total PV-nya.

Trafik indeks

Indeks teks penuh

Semua nama bidang dan nilai dihitung sebagai index traffic.

Indeks bidang

Perhitungan index traffic bervariasi berdasarkan data type bidang.

  • Tipe text: Nama bidang dan nilai keduanya dihitung sebagai index traffic.

  • Tipe long dan double: Nama bidang tidak dihitung sebagai index traffic. Setiap nilai bidang menyumbang 8 byte ke index traffic.

    Misalnya, jika indeks dibuat pada bidang status (tipe long) dan nilainya adalah 200, string status tidak dihitung sebagai trafik indeks. Trafik indeks untuk nilai 200 adalah 8 byte tetap.

  • Tipe JSON: Nama bidang dan nilai keduanya dihitung sebagai index traffic, termasuk sub-key yang tidak secara eksplisit diindeks. Untuk informasi selengkapnya, lihat Bagaimana cara menghitung trafik indeks untuk bidang JSON?

    • Jika sub-key tidak diindeks, index traffic-nya dihitung seolah-olah bertipe text.

    • Jika sub-key diindeks, index traffic-nya dihitung berdasarkan tipe data yang ditentukan (text, long, atau double).

Penagihan

Logstore dalam mode bayar-per-data-yang-dimasukkan

Logstore dalam mode bayar-per-fitur

Langkah selanjutnya

FAQ

  • Mengapa saya tidak dapat menemukan log saya setelah mengimpornya?

    • Periksa apakah delimiter yang Anda konfigurasi memenuhi persyaratan.

    • Konfigurasi indeks hanya berlaku untuk data yang baru dimasukkan. Untuk melakukan kueri dan analisis data historis, Anda harus mengindeks ulang data tersebut. Untuk informasi selengkapnya, lihat Indeks ulang data.

  • Bagaimana cara melakukan kueri dengan dua kondisi?

    Untuk melakukan kueri log menggunakan dua kondisi, sertakan keduanya dalam pernyataan pencarian Anda. Misalnya, untuk menemukan log di Logstore di mana status datanya bukan OK dan bukan Unknown, Anda dapat mencari not OK not Unknown untuk mendapatkan log yang cocok.

  • Bagaimana cara melakukan kueri log yang berisi beberapa kata kunci?

    Misalnya, untuk melakukan kueri log di mana nilai bidang http_user_agent berisi "like Gecko", Anda dapat menggunakan salah satu metode berikut:

    • Pencarian frasa: http_user_agent:"like Gecko". Untuk informasi selengkapnya, lihat Pencarian frasa.

    • Sintaks LIKE: * | SELECT * WHERE http_user_agent LIKE '%like Gecko%'

  • Bagaimana cara mencari kata kunci yang berisi spasi?

    Misalnya, jika Anda mencari POS version, pencarian mengembalikan semua log yang berisi POS atau version. Jika Anda membungkus kata kunci dengan tanda kutip ganda, seperti "POS version", Anda mendapatkan semua log yang berisi frasa persis POS version.

  • FAQ tentang kueri log

  • Kesalahan umum dalam kueri dan analisis log

  • Bagaimana cara melakukan kueri fuzzy pada log?

  • FAQ tentang kueri dan analisis log JSON

  • Bagaimana cara mengunduh log ke perangkat lokal?

  • Mengapa Layanan Log memotong nilai bidang selama kueri dan analisis?