全部产品
Search
文档中心

Simple Log Service:Buat indeks

更新时间:Jul 06, 2025

Untuk menanyakan dan menganalisis log yang dikumpulkan dalam Logstore, Anda harus membuat indeks. Topik ini menjelaskan definisi, jenis, dan penagihan indeks yang didukung oleh Simple Log Service. Topik ini juga mencakup cara membuat indeks, menonaktifkan fitur pengindeksan, serta contoh pembuatan indeks.

Mengapa saya perlu membuat indeks?

Dalam banyak kasus, Anda dapat menggunakan kata kunci untuk menanyakan data dari log mentah. Misalnya, jika ingin mendapatkan log curl/7.74.0 yang berisi kata kunci curl, namun pemisahan log tidak dilakukan, sistem akan menganggap log sebagai satu kesatuan dan tidak mengaitkan log dengan kata kunci curl. Dalam hal ini, Anda tidak dapat memperoleh log di Simple Log Service.

Untuk mencari log, Anda harus membagi log menjadi kata-kata terpisah yang dapat dicari. Pemisah digunakan untuk menentukan posisi di mana log dibagi. Sebagai contoh, gunakan pemisah berikut untuk membagi log sebelumnya: \n\t\r,;[]{}()&^*#@~=<>/\?:'". Log tersebut akan dibagi menjadi curl dan 7.74.0. Simple Log Service membuat indeks berdasarkan kata-kata yang diperoleh setelah pemisahan log. Setelah indeks dibuat, Anda dapat menanyakan dan menganalisis log.

Simple Log Service mendukung indeks teks penuh dan indeks bidang. Jika Anda membuat kedua indeks tersebut, indeks bidang memiliki prioritas lebih tinggi.

Jenis indeks

Indeks teks penuh

Simple Log Service membagi log menjadi beberapa kata bertipe TEXT menggunakan delimiters. Setelah membuat indeks teks penuh, Anda dapat menanyakan log menggunakan kata kunci. Misalnya, Anda dapat menanyakan log yang berisi Chrome atau Safari berdasarkan pernyataan pencarian berikut: Chrome or Safari.

Penting
  • Konten bahasa Tiongkok tidak dapat dibagi menggunakan delimiters. Namun, jika ingin membagi konten bahasa Tiongkok, Anda dapat mengaktifkan Include Chinese. Kemudian, Simple Log Service secara otomatis membagi konten bahasa Tiongkok berdasarkan tata bahasa Tiongkok.

  • Jika hanya membuat indeks teks penuh untuk Logstore Anda, Anda hanya dapat menggunakan sintaks pencarian teks penuh untuk menentukan kondisi kueri. Untuk informasi lebih lanjut, lihat Sintaks pencarian dan fungsi.

Indeks bidang

Simple Log Service membedakan log berdasarkan nama bidang dan kemudian memisahkan bidang-bidang tersebut menggunakan pembatas. Tipe bidang yang didukung adalah TEXT, LONG, DOUBLE, dan JSON. Untuk informasi lebih lanjut, lihat Tipe data. Setelah membuat indeks bidang, Anda dapat menentukan nama bidang dan nilai bidang dalam format key:value untuk menanyakan log. Anda juga dapat menggunakan pernyataan SELECT untuk menanyakan log. Untuk informasi lebih lanjut, lihat Pencarian berdasarkan bidang.

Penting
  • Untuk menanyakan dan menganalisis bidang, Anda harus membuat indeks bidang dan menggunakan pernyataan SELECT. Indeks bidang memiliki prioritas lebih tinggi daripada indeks teks penuh. Jika Anda membuat indeks teks penuh dan indeks bidang, indeks bidang akan memiliki prioritas lebih tinggi.

  • Bidang bertipe TEXT: Anda dapat menggunakan pernyataan pencarian berbasis teks penuh, pernyataan pencarian berbasis bidang, dan pernyataan analitik untuk menanyakan dan menganalisis data. Pernyataan analitik termasuk pernyataan SELECT.

    • Jika pengindeksan teks penuh tidak diaktifkan, pernyataan pencarian berbasis teks penuh menanyakan data dari semua bidang bertipe TEXT.

    • Jika pengindeksan teks penuh diaktifkan, pernyataan pencarian berbasis teks penuh menanyakan data dari semua log.

  • Bidang bertipe LONG atau DOUBLE: Anda dapat menggunakan pernyataan pencarian berbasis bidang dan pernyataan analitik untuk menanyakan dan menganalisis data. Pernyataan analitik termasuk pernyataan SELECT.

Buat indeks

Penting
  • Hasil kueri dan analisis bervariasi berdasarkan konfigurasi indeks. Buat indeks sesuai kebutuhan bisnis Anda. Setelah indeks dibuat, indeks tersebut mulai berlaku dalam waktu sekitar 1 menit.

  • Indeks baru hanya berlaku untuk log baru. Untuk menanyakan log historis, Anda harus mengindeks ulang log tersebut. Untuk informasi lebih lanjut, lihat Mengindeks ulang log untuk Logstore.

  • Simple Log Service secara otomatis membuat indeks untuk bidang cadangan tertentu. Untuk informasi lebih lanjut, lihat Bidang cadangan.

    Simple Log Service meninggalkan pemisah kosong saat membuat indeks untuk bidang cadangan __topic__ dan __source__. Oleh karena itu, hanya pencocokan tepat yang didukung saat Anda menentukan kata kunci untuk menanyakan dua bidang tersebut.

  • Bidang yang diawali dengan __tag__ tidak mendukung indeks teks penuh. Jika ingin menanyakan dan menganalisis bidang yang diawali dengan __tag__, Anda harus membuat indeks bidang. Contoh pernyataan kueri: *| select "__tag__:__receive_time__".

  • Jika sebuah log berisi dua bidang dengan nama yang sama, seperti request_time, Simple Log Service menampilkan salah satu bidang sebagai request_time_0. Kedua bidang tetap disimpan sebagai request_time di Simple Log Service. Jika ingin menanyakan, menganalisis, mengirim, mentransformasi, atau membuat indeks untuk bidang-bidang tersebut, Anda harus menggunakan request_time.

Console

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Proyek, klik proyek yang ingin Anda kelola.

  3. Pada tab Log Storage > Logstores, klik Logstore yang ingin Anda kelola.

  4. Pada halaman query and analysis Logstore, klik Enable.

    Catatan

    Anda dapat menanyakan data terbaru sekitar 1 menit setelah Anda klik Aktifkan.

    image

  5. Opsional. Matikan Pembaruan Otomatis.

    Jika Logstore merupakan Logstore khusus untuk layanan cloud atau Logstore internal, Auto Update secara otomatis diaktifkan. Dalam hal ini, indeks bawaan Logstore secara otomatis diperbarui ke versi terbaru. Jika ingin membuat indeks dalam skenario sebelumnya, matikan Auto Update di panel Search & Analysis.

    Peringatan

    Jika Anda menghapus indeks Logstore khusus untuk layanan cloud, fitur-fitur seperti laporan dan peringatan yang diaktifkan untuk Logstore tersebut mungkin terpengaruh.

    自动更新索引

  6. Buat indeks.

    Buat indeks teks penuh

    Setelah Anda klik Enable, Full-text Index secara otomatis diaktifkan. Anda dapat mengaktifkan LogReduce, Case Sensitive, dan Include Chinese berdasarkan kebutuhan bisnis Anda. Anda dapat menggunakan delimiters default atau delimiters kustom.

    Tabel berikut menjelaskan parameter-parameter tersebut.

    image

    Parameter

    Parameter

    Deskripsi

    LogReduce

    Jika Anda mengaktifkan LogReduce, Simple Log Service secara otomatis mengelompokkan log teks yang sangat mirip selama pengumpulan dan mengekstraksi pola dari log tersebut. Dengan cara ini, Anda dapat memiliki pemahaman menyeluruh tentang log. Untuk informasi lebih lanjut, lihat LogReduce.

    Case Sensitive

    Menentukan apakah pencarian bersifat sensitif terhadap huruf besar-kecil.

    • Jika Anda mengaktifkan Case Sensitive, pencarian bersifat sensitif terhadap huruf besar-kecil. Misalnya, jika sebuah log berisi internalError, Anda dapat mencari log tersebut hanya dengan menggunakan kata kunci internalError.

    • Jika Anda mematikan Case Sensitive, pencarian tidak sensitif terhadap huruf besar-kecil. Misalnya, jika sebuah log berisi internalError, Anda dapat mencari log tersebut dengan menggunakan kata kunci INTERNALERROR atau internalerror.

    Include Chinese

    Menentukan apakah membedakan antara konten Tiongkok dan konten Inggris dalam pencarian.

    • Jika Anda mengaktifkan Include Chinese dan sebuah log berisi karakter Tiongkok, konten Tiongkok dipisahkan berdasarkan tata bahasa Tiongkok. Konten Inggris dipisahkan menggunakan pemisah yang ditentukan.

      Penting

      Saat konten Tiongkok dipisahkan, kecepatan penulisan berkurang. Lanjutkan dengan hati-hati.

    • Jika Anda mematikan Include Chinese, semua konten log dipisahkan menggunakan pemisah yang ditentukan.

    Delimiter

    Pemisah yang digunakan untuk membagi konten log menjadi beberapa kata. Secara default, Simple Log Service menggunakan pemisah berikut: , '";=()[]{}?@&<>/:\n\t\r. Jika pemisah default tidak memenuhi kebutuhan bisnis Anda, Anda dapat menentukan pemisah kustom. Semua kode ASCII dapat ditentukan sebagai pemisah.

    Jika Anda membiarkan Delimiter kosong, Simple Log Service menganggap seluruh log sebagai satu kesatuan. Dalam hal ini, Anda hanya dapat mencari log menggunakan string lengkap atau dengan melakukan pencocokan kabur.

    Sebagai contoh, isi log adalah /url/pic/abc.gif.

    • Jika Anda tidak menentukan pemisah, isi log dianggap sebagai satu kata /url/pic/abc.gif. Anda hanya dapat mencari log menggunakan kata kunci /url/pic/abc.gif atau menggunakan /url/pic/* untuk melakukan pencocokan kabur.

    • Jika Anda menetapkan Pemisah ke garis miring (/), isi log dibagi menjadi tiga kata berikut: url, pic, dan abc.gif. Anda dapat mencari log menggunakan kata kunci url, abc.gif, atau /url/pic/abc.gif, atau menggunakan pi* untuk melakukan pencocokan kabur.

    • Jika Anda menetapkan parameter Pemisah ke garis miring (/) dan titik (.), isi log dibagi menjadi empat kata berikut: url, pic, abc, dan gif. Anda dapat mencari log menggunakan salah satu kata di atas atau dengan melakukan pencocokan kabur.

    Buat indeks bidang

    Setelah Anda klik Enable, Anda dapat mengklik Automatic Index Generation di panel Search & Analysis. Simple Log Service secara otomatis menghasilkan indeks bidang berdasarkan log pertama dalam hasil pratinjau pengumpulan data. Jika ingin membuat indeks bidang kustom, klik tanda tambah (+). Untuk informasi lebih lanjut, lihat Parameter.

    Pertama kali Anda membuka panel Pencarian & Analisis, pengaturan berikut ditampilkan.image

    Tabel berikut menjelaskan parameter-parameter tersebut.

    image

    Parameter

    Parameter

    Deskripsi

    Field Name

    Nama bidang log. Contoh: client_ip.

    Nama tersebut hanya dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf atau garis bawah (_).

    Penting
    • Jika Anda ingin membuat indeks untuk bidang __tag__, seperti alamat IP publik atau cap waktu UNIX, Anda harus menetapkan parameter Field Name ke nilai dalam format __tag__:KEY. Contoh: __tag__:__receive_time__. Untuk informasi lebih lanjut, lihat Bidang Cadangan.

    • Bidang __tag__ tidak mendukung indeks numerik. Saat Anda membuat indeks untuk bidang __tag__, Anda harus menetapkan parameter Type ke text.

    Type

    Tipe data dari nilai bidang. Nilai yang valid: text, long, double, dan json. Untuk informasi lebih lanjut, lihat Tipe Data.

    Jika Anda menetapkan tipe data untuk sebuah bidang ke long atau double, Anda tidak dapat mengonfigurasi parameter Case Sensitive, Include Chinese, atau Delimiter untuk bidang tersebut.

    Alias

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

    Alias hanya dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf atau garis bawah (_).

    Penting

    Anda hanya dapat menggunakan alias bidang dalam pernyataan analitik. Anda harus menggunakan nama asli bidang dalam pernyataan pencarian. Pernyataan analitik mencakup pernyataan SELECT. Untuk informasi lebih lanjut, lihat Alias Kolom.

    Case Sensitive

    Menentukan apakah pencarian bersifat sensitif terhadap huruf besar-kecil.

    • Jika Anda mengaktifkan Case Sensitive, pencarian bersifat sensitif terhadap huruf besar-kecil. Misalnya, jika sebuah log berisi internalError, Anda dapat mencari log tersebut hanya dengan menggunakan kata kunci internalError.

    • Jika Anda mematikan Case Sensitive, pencarian tidak sensitif terhadap huruf besar-kecil. Misalnya, jika sebuah log berisi internalError, Anda dapat mencari log tersebut dengan menggunakan kata kunci INTERNALERROR atau internalerror.

    Delimiter

    Pemisah yang digunakan untuk membagi konten log menjadi beberapa kata. Secara default, Simple Log Service menggunakan pemisah berikut: , '";=()[]{}?@&<>/:\n\t\r. Jika pemisah default tidak memenuhi kebutuhan bisnis Anda, Anda dapat menentukan pemisah kustom. Semua kode ASCII dapat ditentukan sebagai pemisah.

    Jika Anda membiarkan Delimiter kosong, Simple Log Service menganggap seluruh log sebagai satu kesatuan. Dalam hal ini, Anda hanya dapat mencari log menggunakan string lengkap atau dengan melakukan pencocokan kabur.

    Sebagai contoh, isi log adalah /url/pic/abc.gif.

    • Jika Anda tidak menentukan pemisah, isi log dianggap sebagai satu kata /url/pic/abc.gif. Anda hanya dapat mencari log menggunakan kata kunci /url/pic/abc.gif atau menggunakan /url/pic/* untuk melakukan pencocokan kabur.

    • Jika Anda menetapkan Pemisah ke garis miring (/), isi log dibagi menjadi tiga kata berikut: url, pic, dan abc.gif. Anda dapat mencari log menggunakan kata kunci url, abc.gif, atau /url/pic/abc.gif, atau menggunakan pi* untuk melakukan pencocokan kabur.

    • Jika Anda menetapkan parameter Pemisah ke garis miring (/) dan titik (.), isi log dibagi menjadi empat kata berikut: url, pic, abc, dan gif. Anda dapat mencari log menggunakan salah satu kata di atas atau dengan melakukan pencocokan kabur.

    Include Chinese

    Menentukan apakah membedakan antara konten Tiongkok dan konten Inggris dalam pencarian.

    • Jika Anda mengaktifkan Include Chinese dan sebuah log berisi karakter Tiongkok, konten Tiongkok dipisahkan berdasarkan tata bahasa Tiongkok. Konten Inggris dipisahkan menggunakan pemisah yang ditentukan.

      Penting

      Saat konten Tiongkok dipisahkan, kecepatan penulisan berkurang. Lanjutkan dengan hati-hati.

    • Jika Anda mematikan Include Chinese, semua konten log dipisahkan menggunakan pemisah yang ditentukan.

    Enable Analytics

    Anda hanya dapat melakukan analisis statistik pada sebuah bidang jika Anda mengaktifkan Enable Analytics untuk bidang tersebut.

  7. Opsional. Tentukan panjang maksimum nilai bidang.

    Secara default, string diperoleh setelah pemotongan dalam proses analisis SQL. Panjang maksimum nilai bidang yang dapat disimpan untuk analisis secara default adalah 2.048 byte, yang setara dengan 2 KB. Anda dapat mengubah nilai parameter Maximum Field Length di bagian bawah panel Search & Analysis. Nilai valid: 64 hingga 16384. Satuan: byte.

    Penting
    • Indeks baru hanya berlaku untuk log baru.

    • Jika panjang nilai bidang melebihi nilai parameter ini, nilai bidang akan dipotong dan bagian yang berlebih tidak terlibat dalam analisis.

    设置字段最大长度

API

Simple Log Service memungkinkan Anda memanggil operasi API untuk mengelola indeks. Untuk informasi lebih lanjut, lihat topik-topik berikut:

SDK

Simple Log Service memungkinkan Anda menggunakan SDK untuk berbagai bahasa pemrograman untuk mengelola indeks. Bagian berikut menjelaskan beberapa SDK yang umum digunakan. Untuk informasi lebih lanjut, lihat Gambaran Umum SDK Simple Log Service.

Java

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

Python

Anda dapat menggunakan Simple Log Service SDK untuk Python untuk mengelola indeks. Untuk informasi lebih lanjut, lihat Gunakan Simple Log Service SDK untuk Python untuk mengelola indeks.

Simple Log Service juga kompatibel dengan SDK Alibaba Cloud. Untuk informasi lebih lanjut, lihat Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer.

CLI

Anda dapat menggunakan Simple Log Service CLI untuk mengelola indeks. Untuk informasi lebih lanjut, lihat topik-topik berikut:

Perbarui indeks

Prosedur

Pada halaman query and analysis Logstore yang ingin Anda kelola, pilih Index Attributes > Attributes. Hasil kueri dan analisis bervariasi berdasarkan konfigurasi indeks. Perbarui indeks sesuai kebutuhan bisnis Anda. Setelah indeks diperbarui, indeks baru mulai berlaku dalam waktu sekitar 1 menit.

image

Nonaktifkan fitur pengindeksan

Penting

Setelah Anda disable the indexing feature untuk Logstore, ruang penyimpanan yang digunakan oleh indeks historis secara otomatis dilepaskan setelah periode retensi data Logstore berakhir.

Prosedur

Pada halaman query and analysis Logstore yang ingin Anda kelola, pilih Index Attributes > Disable.

image

Contoh konfigurasi indeks

Contoh 1

Log berisi bidang request_time, dan pernyataan pencarian berbasis bidang request_time>100 dieksekusi.

  • Jika hanya indeks teks penuh yang dibuat, log yang berisi request_time, >, dan 100 dikembalikan. Tanda lebih besar (>) bukan pemisah.

  • Jika hanya indeks bidang yang dibuat dan tipe bidang adalah DOUBLE dan LONG, log yang memiliki nilai bidang request_time lebih besar dari 100 dikembalikan.

  • Jika indeks teks penuh dan indeks bidang dibuat dan tipe bidang adalah DOUBLE dan LONG, indeks teks penuh tidak berlaku untuk bidang request_time dan log yang memiliki nilai bidang request_time lebih besar dari 100 dikembalikan.

Contoh 2

Log berisi bidang request_time, dan pernyataan pencarian berbasis teks penuh request_time dieksekusi.

  • Jika hanya indeks bidang yang dibuat dan tipe bidang adalah DOUBLE dan LONG, tidak ada log yang dikembalikan.

  • Jika hanya indeks teks penuh yang dibuat, log yang berisi bidang request_time dikembalikan. Dalam hal ini, pernyataan tersebut menanyakan data dari semua log.

  • Jika hanya indeks bidang yang dibuat dan tipe bidang adalah TEXT, log yang berisi bidang request_time dikembalikan. Dalam hal ini, pernyataan tersebut menanyakan data dari semua bidang bertipe TEXT.

Contoh 3

Log berisi bidang status, dan pernyataan kueri * | SELECT status, count(*) AS PV GROUP BY status dieksekusi.

  • Jika hanya indeks teks penuh yang dibuat, tidak ada log yang dikembalikan.

  • Jika indeks dibuat untuk bidang status, jumlah total tampilan halaman (PV) untuk kode status yang berbeda dikembalikan.

Deskripsi lalu lintas indeks

Indeks teks penuh

Semua nama bidang dan nilai bidang disimpan sebagai teks. Dalam hal ini, nama bidang dan nilai bidang keduanya termasuk dalam perhitungan lalu lintas indeks.

Indeks bidang

Metode yang digunakan untuk menghitung lalu lintas indeks bervariasi berdasarkan tipe data bidang.

  • TEXT tipe: Nama bidang dan nilai bidang keduanya termasuk dalam perhitungan lalu lintas indeks.

  • LONG dan DOUBLE tipe: Nama bidang tidak termasuk dalam perhitungan lalu lintas indeks. Setiap nilai bidang dihitung sebagai 8 byte dalam lalu lintas indeks.

    Sebagai contoh, jika Anda membuat indeks untuk bidang status dengan tipe LONG dan nilai bidangnya adalah 200, string status tidak termasuk dalam perhitungan lalu lintas indeks dan nilai 200 dihitung sebagai 8 byte dalam lalu lintas indeks.

  • JSON tipe: Nama bidang dan nilai bidang keduanya termasuk dalam perhitungan lalu lintas indeks. Subbidang yang tidak diindeks juga termasuk. Untuk informasi lebih lanjut, lihat Mengapa lalu lintas indeks dihasilkan untuk subbidang JSON yang tidak diindeks?

    • Jika subbidang tidak diindeks, lalu lintas indeks dihitung dengan menganggap tipe data subbidang sebagai TEXT.

    • Jika subbidang diindeks, lalu lintas indeks dihitung berdasarkan tipe data subbidang. Tipe data tersebut dapat berupa TEXT, LONG atau DOUBLE.

Ikhtisar Penagihan

Logstore yang menggunakan mode penagihan berdasarkan data terkumpul

Logstore yang menggunakan mode penagihan berdasarkan fitur

Langkah selanjutnya

FAQ

  • Apa yang harus saya lakukan jika saya tidak dapat menanyakan log setelah log diimpor ke Simple Log Service?

    • Periksa apakah pemisah yang Anda tentukan memenuhi persyaratan.

    • Konfigurasi indeks yang telah diatur hanya berlaku untuk log baru. Jika Anda ingin menanyakan dan menganalisis log historis, Anda harus mengindeks ulang log tersebut. Untuk informasi lebih lanjut, lihat Indeks ulang log untuk Logstore.

  • Bagaimana cara menggunakan dua kondisi untuk menanyakan log?

    Jika Anda ingin menggunakan dua kondisi untuk menanyakan log, tentukan dua pernyataan sekaligus. Misalnya, jika Anda ingin menanyakan log yang statusnya bukan OK atau Unknown dalam sebuah Logstore, Anda dapat menentukan not OK not Unknown untuk mendapatkan log tersebut.

  • Bagaimana cara menanyakan log yang berisi beberapa kata kunci?

    Sebagai contoh, jika Anda ingin menanyakan log yang nilai bidang http_user_agent-nya berisi like Gecko,Anda dapat menggunakan salah satu metode berikut:

    • Pencarian frasa: http_user_agent:#"like Gecko". Untuk informasi lebih lanjut, lihat Pencarian frasa.

    • Klausa LIKE: * | Select * where http_user_agent like '%like Gecko%'

  • Bagaimana cara menanyakan log menggunakan kata kunci yang mengandung spasi?

    Sebagai contoh, jika Anda menanyakan log menggunakan kata kunci POS version, log yang berisi POS atau version akan dikembalikan. Jika Anda menanyakan log menggunakan kata kunci "POS version", log yang berisi POS version akan dikembalikan.

  • FAQ tentang kueri log

  • Kesalahan umum saat menanyakan dan menganalisis log

  • Bagaimana cara menanyakan log menggunakan pencocokan kabur?

  • FAQ tentang kueri dan analisis log JSON

  • Bagaimana cara mengunduh log ke perangkat lokal?

  • Mengapa nilai bidang dipotong saat saya menanyakan dan menganalisis log?