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.
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.
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
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
API
SDK
CLI
Perbarui indeks
Prosedur
Nonaktifkan fitur pengindeksan
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
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,>, dan100dikembalikan. Tanda lebih besar (>) bukan pemisah.Jika hanya indeks bidang yang dibuat dan tipe bidang adalah DOUBLE dan LONG, log yang memiliki nilai bidang
request_timelebih 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_timedan log yang memiliki nilai bidangrequest_timelebih 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_timedikembalikan. 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_timedikembalikan. 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
statusdengan tipe LONG dan nilai bidangnya adalah200, stringstatustidak termasuk dalam perhitungan lalu lintas indeks dan nilai200dihitung 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
Indeks membutuhkan ruang penyimpanan. Untuk informasi lebih lanjut tentang jenis penyimpanan, lihat Konfigurasikan penyimpanan bertingkat cerdas.
Pengindeksan ulang tidak menghasilkan biaya.
Untuk informasi lebih lanjut tentang penagihan lalu lintas indeks, lihat Item yang dapat ditagih dari mode penagihan berdasarkan data terkumpul.
Logstore yang menggunakan mode penagihan berdasarkan fitur
Indeks membutuhkan ruang penyimpanan. Untuk informasi lebih lanjut tentang jenis penyimpanan, lihat Konfigurasikan penyimpanan bertingkat cerdas.
Saat Anda membuat indeks, lalu lintas akan dihasilkan. Anda dikenakan biaya untuk lalu lintas indeks berdasarkan lalu lintas indeks data log dan item Query Logstores. Untuk informasi lebih lanjut, lihat Item yang dapat ditagih dari mode penagihan berdasarkan fitur. Untuk informasi lebih lanjut tentang cara mengurangi biaya lalu lintas indeks, lihat Bagaimana cara mengurangi biaya lalu lintas indeks?
Pengindeksan ulang menghasilkan biaya. Selama pengindeksan ulang, Anda dikenakan biaya berdasarkan item yang dapat ditagih dan harga yang sama seperti saat Anda membuat indeks.
Langkah selanjutnya
Untuk informasi lebih lanjut tentang contoh kueri dan analisis, lihat topik-topik berikut:
Untuk informasi lebih lanjut tentang cara meningkatkan kinerja kueri, lihat Percepat kueri dan analisis log.
Untuk informasi lebih lanjut tentang cara menanyakan dan menganalisis log JSON format website, lihat Kueri dan analisis log JSON.







